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

使用托管标识实现多应用服务访问,无需轮换令牌或凭据

基于Azure托管标识实现Orchestrator API对Small API的无凭据访问(资源组级别配置)

可行性结论

完全可行。通过Azure托管标识+Azure AD身份验证+Azure Policy批量配置,可实现Orchestrator API无需手动交换令牌/凭据、无需修改API代码即可访问Small API,且能在资源组级别完成配置,后续新增Small API可自动继承权限。


具体实现步骤

1. 为Orchestrator API启用系统分配托管标识

系统分配托管标识与App Service绑定,无需额外管理,Azure会自动维护其身份生命周期:

  • 门户操作:找到Orchestrator的App Service → 进入「标识」面板 → 开启「系统分配」开关 → 保存后,Azure会生成对应的Azure AD身份对象。
  • CLI命令:
    az webapp identity assign --name <Orchestrator-App-Service-Name> --resource-group <Target-Resource-Group-Name>
    
    执行后记录返回的principalId,后续权限配置会用到。

2. 配置Small API的Azure AD身份验证(网关层处理,无需改代码)

每个Small API的App Service通过Azure AD认证拦截未授权请求,无需修改API业务代码:

  • 单个API操作示例:进入Small API的App Service → 「身份验证」→ 「添加身份提供者」→ 选择「Azure AD」→ 选择「创建新的Azure AD应用」(或复用现有)→ 设置「未经验证的请求」为「HTTP 401 未经授权」→ 保存。
  • 资源组级别批量配置:通过Azure Policy自动为资源组内所有(含新增)Small API启用AD认证,避免逐个操作。

3. 资源组级别分配Orchestrator的访问权限

通过Azure Policy实现资源组内Small API的权限批量配置,确保Orchestrator的托管标识能自动访问所有Small API:

  • 创建自定义Policy定义,核心逻辑为:
    1. 识别资源组内的App Service(Small API)对应的Azure AD应用。
    2. 将Orchestrator托管标识的principalId添加到该AD应用的允许访问列表,或分配对应的应用权限。
  • 分配该Policy到目标资源组,后续新增的Small API会自动触发Policy执行,完成权限配置。

4. Orchestrator API调用Small API的无代码适配

Orchestrator API使用Azure SDK调用Small API时,会自动利用托管标识获取并附加访问令牌,无需手动处理令牌交换:

  • 例如在.NET 6中使用HttpClient,只需配置使用托管标识:
    var client = new HttpClient();
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", await GetManagedIdentityTokenAsync());
    // 其中GetManagedIdentityTokenAsync由Azure SDK自动处理,无需手动实现
    
    注:若使用Azure App Service的内置功能,甚至无需编写上述代码,通过配置「出站流量身份验证」即可自动附加令牌。

关键注意事项

  • 无需修改代码的核心原因:Small API的身份验证由App Service网关层完成,请求到达API代码前已完成授权;Orchestrator的令牌获取由Azure SDK自动处理,无需手动编写凭据交换逻辑。
  • 资源组级别配置的核心:Azure Policy是实现批量、自动配置的关键,确保新增Small API无需重复手动设置权限。
  • 托管标识选择:优先使用系统分配托管标识,避免额外的身份资源管理成本;若需跨资源组访问,可考虑用户分配托管标识。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 07:45:31