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

如何在AKS中使用Azure Workload Identity实现API间认证?

使用Azure Workload Identity实现AKS中API间认证的问题解答

1. 是否仍需App Registrations?

  • 消费方API可以仅使用用户分配托管标识,无需额外创建App Registration。托管标识本身就是独立的Azure AD服务主体,具备OAuth2客户端凭证流的能力。
  • 提供方API作为受保护资源,必须对应一个App Registration:因为需要通过App Registration定义API的权限范围、身份验证规则(如受众、发行者验证),这是Azure AD保护自定义API的必要前提。
  • 若同时给API配置App Registration和托管标识,会生成两个独立的服务主体,完全无此必要。建议方案:消费方用用户分配托管标识,提供方用App Registration定义受保护资源。
  • 无法完全纯用托管标识完成配置,因为受保护的自定义API需要App Registration来在Azure AD中标识自身并暴露权限。

2. 无App Registrations(消费方侧)时的认证流程及资源

认证流程

  1. 配置提供方API的App Registration:
    • 注册App Registration,设置唯一的App ID URI(如api://contoso-provider-api)。
    • 添加自定义API范围(如access_as_application),启用应用权限类型(非委派权限)。
  2. 创建并配置消费方的用户分配托管标识:
    • 在Azure中创建用户分配托管标识,记录其客户端ID。
    • 在Azure AD中,将该托管标识添加为提供方API App Registration的应用权限用户,授予之前定义的access_as_application权限,并完成管理员同意。
  3. AKS Workload Identity绑定:
    • 启用AKS集群的Workload Identity功能。
    • 给消费方API的ServiceAccount添加注解:azure.workload.identity/client-id: <消费方托管标识客户端ID>。
  4. API调用流程:
    • 消费方API的Pod启动后,通过Azure Identity SDK自动获取托管标识的访问令牌(受众为提供方API的App ID URI)。
    • 将令牌放入Authorization: Bearer <token>请求头,调用提供方API。
    • 提供方API验证令牌的签名、受众、权限,验证通过则返回数据。

参考资源

  • 核心配置:Azure Workload Identity的ServiceAccount与托管标识绑定流程
  • 权限配置:Azure AD中给托管标识授予应用权限的步骤
  • SDK使用:Azure Identity SDK获取托管标识令牌的代码示例

3. 本地开发模拟方案

  • 手动获取令牌调试:
    用Azure CLI获取消费方托管标识的访问令牌:
    az account get-access-token --resource <提供方API的App ID URI> --identity --username <消费方托管标识客户端ID>
    
    本地调试消费方API时,将此令牌手动加入请求头调用提供方API。
  • 使用Azure Identity SDK自动适配:
    在本地开发环境设置环境变量:
    export AZURE_CLIENT_ID=<消费方托管标识客户端ID>
    export AZURE_TENANT_ID=<Azure租户ID>
    
    应用中的DefaultAzureCredential会自动使用Azure CLI的登录身份模拟获取令牌(需本地登录Azure CLI,且账号有权使用该托管标识)。
  • 模拟Workload Identity环境:
    使用az workload identity cli工具,在本地生成临时环境变量,模拟AKS中的Workload Identity认证环境,让应用无需修改代码即可自动获取令牌。
  • 提供方API本地调试:
    用Azure AD App Registration的"测试令牌"功能生成测试令牌,或者用Azure CLI获取针对提供方API的令牌,调用本地运行的提供方API验证权限逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 18:15:09