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

美政府云usgovvirginia区域调用RateCard API遇AADSTS65005异常求助

解决Azure US Gov Virginia区域调用RateCard API时的AADSTS65005错误

我之前在处理Azure政府云的API集成时也踩过AADSTS65005的坑,这个错误大多是因为政府云和公有云的AAD配置、API端点存在关键差异,示例代码默认是针对公有云写的,直接套用肯定会出问题。咱们从几个核心点排查:

1. 替换AAD认证端点

Azure政府云的AAD登录终结点和公有云不同,你需要把代码里的认证权威机构(Authority)从公有云的:

https://login.microsoftonline.com/{tenantId}

替换为政府云专属的:

https://login.microsoftonline.us/{tenantId}

这是最容易被忽略的点,示例项目默认用的是公有云端点,不换的话令牌的受众和资源会不匹配,直接触发AADSTS65005。

2. 修正RateCard API的资源ID与权限

  • 公有云的RateCard依赖的管理API资源ID是https://management.azure.com/,但政府云对应的是https://management.usgovcloudapi.net/
  • 登录Azure政府云门户,找到你的应用注册,在API权限里添加这个政府云管理API的权限(比如Microsoft.Commerce/RateCard.Read),并且一定要点击授予管理员同意——没有这个步骤,即便是配置了权限也无法获取有效令牌。

3. 更新RateCard API的调用端点

调用RateCard的REST URL也要换成政府云的地址,把公有云的:

https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard?api-version=2016-08-31-preview&$filter=...

替换为:

https://management.usgovcloudapi.net/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard?api-version=2016-08-31-preview&$filter=...

4. 验证令牌获取的资源参数

不管你用的是ADAL还是MSAL库,在获取访问令牌时,必须指定资源为政府云的管理API地址:

// 示例MSAL代码中的资源参数
var result = await app.AcquireTokenForClient(new[] { "https://management.usgovcloudapi.net/.default" })
                      .ExecuteAsync();

如果这里还是用了公有云的https://management.azure.com/.default,拿到的令牌根本无法访问政府云的RateCard服务。

结合你提到的门户应用设置截图,重点检查这几个配置项:应用注册的API权限是否正确关联了政府云管理API、认证终结点是否使用了.us域名、是否完成了管理员权限授予。这些细节只要有一个没匹配,就会触发AADSTS65005错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:03:41