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

Azure应用注册消除Client Secret依赖的方案咨询及配置疑问

替换Client Secret的联邦身份凭据(FIC)配置全流程

一、先明确适配场景

你的需求是去掉client_secret完成client_credentials流认证,且不想依赖MSAL,联邦身份凭据(FIC)是最适配的方案——它通过云环境的身份提供商(比如Azure托管身份、GitHub OIDC等)生成身份断言,替代client_secret完成认证。

下面以最常用的Azure资源(VM/函数应用等)+托管身份场景为例,给出完整操作步骤:

二、Azure Portal配置联邦身份凭据

1. 进入目标应用注册

登录Azure Portal → 搜索「应用注册」→ 找到你正在使用的应用注册。

2. 创建联邦身份凭据

  • 左侧菜单选「证书和密码」→ 切换到「联邦身份凭据」标签页 → 点击「添加凭据」
  • 按以下规则填写字段:
    • 凭据类型:选择「Azure资源」
    • 颁发者:固定填 https://sts.windows.net/{你的租户ID}/(租户ID可在应用注册「概述」页获取)
    • 主体名称:填写你的托管身份的客户端ID(系统分配托管身份在对应资源的「身份」→「系统分配」页找;用户分配托管身份直接看其自身的客户端ID)
    • 受众:默认填 api://AzureADTokenExchange(固定值,无需修改)
    • 描述:自定义填写,比如「VM托管身份访问应用注册」
  • 点击「添加」保存配置

3. 给托管身份授予权限(关键步骤)

  • 复制应用注册的「应用程序(客户端)ID」和「目录(租户)ID」
  • 进入对应托管身份的配置页(或直接在应用注册的「API权限」页)→ 点击「添加权限」→ 选择「我的API」→ 找到你的应用注册 → 勾选和之前用client_secret时一致的权限 → 点击「添加权限」
  • 若需要管理员同意,完成对应操作(和之前的权限流程一致)

三、修改令牌请求(无需Client Secret)

1. 先从托管身份获取OIDC令牌

向Azure托管身份的本地元数据端点发起请求(以VM为例):

GET http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://sts.windows.net/{你的租户ID}/

返回结果中的access_token就是我们需要的OIDC身份断言。

2. 用OIDC令牌请求目标服务的Bearer令牌

调用你原来的令牌端点https://login.microsoftonline.com/{tenantId}/oauth2/token,请求体替换为以下参数:

grant_type = client_credentials
client_id = <你的应用注册Application ID>
client_assertion_type = urn:ietf:params:oauth:client-assertion-type:jwt-bearer
client_assertion = <第一步获取的OIDC令牌>
resource = <目标Microsoft服务端点>

执行请求后就能拿到和之前一致的Bearer令牌,全程无需client_secret。

四、其他场景的字段取值参考

如果你的应用运行在GitHub Actions:

  • 凭据类型:选择「GitHub Actions部署」
  • 颁发者:固定填 https://token.actions.githubusercontent.com
  • 主体名称:格式为 repo:<你的GitHub用户名>/<仓库名>:environment:<环境名>(无需环境可简化为repo:<你的GitHub用户名>/<仓库名>)
  • 受众:默认api://AzureADTokenExchange

五、常见问题排查

  • 若返回「invalid client assertion」:检查颁发者、主体名称是否和FIC配置完全一致,OIDC令牌是否过期(有效期1小时)
  • 权限报错:确认托管身份已被授予应用注册的对应权限,且完成管理员同意

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 02:40:57