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

全局云Azure AD应用能否跨国家云访问其他租户Microsoft API?

全局云Azure AD应用访问国家云租户数据的可行性分析

这是个很关键的问题,毕竟Azure的国家云环境和全局云是完全独立的生态,我来给你理清情况:

首先给出核心结论:全局云创建的多租户Azure AD应用,默认无法直接授权访问美国政府云、德国云、中国云这类国家云中的租户数据。背后的原因和可行方案如下:

为什么默认无法访问?

国家云本质是独立的Azure环境,和全局云完全隔离,主要体现在:

  • 每个国家云都有自己独立的Azure AD实例,全局云的应用注册不会同步到任何国家云的Azure AD中
  • 各个环境的API端点完全不同,比如:
    • 全局云Graph API:https://graph.microsoft.com
    • 美国政府云Graph API:https://graph.microsoft.us
    • 中国云Graph API:https://microsoftgraph.chinacloudapi.cn
  • 国家云的OAuth2授权/令牌端点也和全局云不同,比如中国云的授权端点是https://login.chinacloudapi.cn/{tenant-id}/oauth2/v2.0/authorize

你之前实现的全局云内多租户访问,是因为所有租户都属于同一个全局Azure AD生态,而国家云相当于完全独立的身份系统,所以这套逻辑不适用。

可行的解决方案

如果需要访问国家云的租户数据,目前有两种靠谱的方式:

1. 在目标国家云中重新注册应用

这是最推荐、最稳妥的方案:

  • 登录对应国家云的Azure门户(比如中国云是https://portal.azure.cn,美国政府云是https://portal.azure.us)
  • 在该环境中创建新的应用注册,配置为多租户(注意这个多租户是指在该国家云范围内的租户)
  • 按照该国家云的OAuth2流程配置授权、获取令牌,然后调用对应国家云的API

这种方式下,应用直接属于目标国家云的环境,能正常和该环境的Azure AD、API服务交互,没有跨云的兼容性问题。

2. 应用权限模式下的跨云配置(仅部分场景)

如果你的场景是使用客户端凭据流(应用权限,无需用户交互),可以尝试以下步骤,但需要目标国家云租户的管理员配合:

  • 在目标国家云的租户中,为全局云的应用创建服务主体(需要通过PowerShell或API手动创建,因为不会自动同步)
  • 给这个服务主体授予对应的API权限(比如Graph API的应用权限)
  • 调用目标国家云的令牌端点获取令牌,再访问对应API

不过这种方式配置复杂,且不是所有Azure服务API都支持跨云的应用权限访问,只适合特定的后端服务场景。

注意:用户授权模式(授权码/隐式流)无法跨云

如果你的场景需要用户手动授权(比如前端应用、需要用户上下文的场景),那全局云的应用完全无法让国家云的用户完成授权——因为用户的身份属于国家云的Azure AD,而全局云的应用不在该环境的信任列表中,用户会直接看到授权错误页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:05:40