You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Azure Data Factory定时管道调用受AAD保护的API并授权托管身份

如何在Azure Data Factory无用户参与场景下调用AAD注册的.NET API

针对你这种定时无用户交互的场景,用托管标识是最优方案,下面分步骤说明完整配置流程:

一、选择并配置托管标识

你可以二选一,根据实际场景决定:

  • 系统分配托管标识:直接进入Azure Data Factory的「托管标识」页面,启用系统分配标识即可。这个标识和ADF生命周期绑定,删除ADF时标识也会被删除。
  • 用户分配托管标识:先在Azure Active Directory中创建用户分配托管标识,再回到ADF的「托管标识」页面,添加这个标识到ADF中。适合需要跨多个资源复用标识的场景。

二、为托管标识授予example-api的应用权限

这一步是核心,无用户场景需要用应用权限(而非委托权限):

  1. 打开Azure AD的「应用注册」,找到你的example-api应用
  2. 进入「公开API」页面,复制页面顶部的应用程序ID URI(格式一般是api://{client-id}),后续配置要用到
  3. 如果还没为example-api定义应用权限范围,点击「添加范围」,创建一个类型为「应用程序」的权限(比如命名为access_as_application,描述按需填写)
  4. 切换到Azure AD的「企业应用」页面,搜索你的托管标识名称(系统分配的话就是ADF的名称,用户分配的就是你创建的标识名称)
  5. 进入该企业应用的「权限」页面,点击「添加权限」
  6. 在弹出的面板中选择「我的API」,找到example-api,然后勾选你之前创建的应用程序权限(注意不要选委托权限,因为没有用户上下文)
  7. 点击「添加权限」后,必须点击「授予管理员同意」(应用权限需要全局管理员或API管理员权限的账号完成这一步)

三、在ADF管道中配置调用API的Web活动

  1. 在ADF管道中添加一个「Web」活动
  2. 配置活动的基本信息:
    • URL:填写example-api的实际接口地址
    • 方法:根据API需求选择GET/POST/PUT等
  3. 切换到「身份验证」标签页:
    • 身份验证类型选择「托管标识」
    • 资源:填写之前复制的example-api的应用程序ID URI
  4. 按需配置请求体、headers等其他参数,保存并测试管道即可

额外注意事项

  • 确保你的example-api代码中,验证JWT令牌时检查受众(aud声明)是否匹配应用程序ID URI,同时确认令牌的azp(授权方)是托管标识的客户端ID
  • 如果使用系统分配托管标识,每个ADF只能有一个,适合单一API调用场景;用户分配托管标识可以绑定到多个资源,适合需要调用多个不同API的场景

内容的提问来源于stack exchange,提问作者user1887852

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 08:13:11