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

如何通过用户分配托管身份获取Azure资源管理API访问令牌?

使用用户分配托管身份获取Azure访问令牌的REST API方法

要通过REST API(调用Azure实例元数据服务)获取用户分配托管身份的访问令牌,只需在原系统分配身份的请求URI中添加client_id参数,参数值为用户分配托管身份的客户端ID(也就是你之前Connect-AzAccount命令中用到的$env:userid)。

具体PowerShell代码示例:

# 读取用户分配托管身份的客户端ID
$clientId = $env:userid

# 调用元数据服务获取针对Azure管理API的访问令牌
$response = Invoke-WebRequest -Uri "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fmanagement.azure.com%2F&client_id=$clientId" -Headers @{Metadata="true"}

# 解析并提取访问令牌
$accessToken = ($response.Content | ConvertFrom-Json).access_token

关键说明:

  • client_id参数是区分系统分配和用户分配身份的核心,必须指定你要使用的用户分配托管身份的客户端ID
  • 请求的其他部分(元数据头部、resource参数)和系统分配身份的请求保持一致
  • 该请求仅能在Azure虚拟机、函数应用等支持托管身份的资源内部执行,因为IMDS端点169.254.169.254是实例内部的专属地址

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 20:43:12