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

如何让Azure AD注册的守护应用跨租户调用Graph API读取用户列表?

跨Azure租户读取用户列表的解决方案

核心前提:将应用配置为多租户

首先必须把你在原租户注册的应用改为多租户应用,否则其他租户无法识别并引用它:

  • 登录原租户的Azure门户,进入你的应用注册,找到"支持的账户类型",修改为「任何组织目录中的账户」,保存设置。

其他租户的配置步骤

其他租户的管理员只需完成以下两步,就能让你的应用访问他们的AD用户:

  1. 添加你的应用为企业应用
    进入目标租户的Azure门户,打开「企业应用」→「新建应用」→「从库中添加」,直接搜索你的应用客户端ID,找到后添加到租户中。这一步会在目标租户创建该应用的服务主体实例。
  2. 授予应用权限
    在刚添加的企业应用中,进入「权限」→「添加权限」,选择Microsoft Graph,添加应用权限(比如User.Read.All),然后点击「授予管理员同意」。

守护程序的调用调整

你的守护程序无需修改密钥,只需在获取访问令牌时,将请求的租户ID替换为目标租户的ID:

  • Token请求端点:https://login.microsoftonline.com/{目标租户ID}/oauth2/v2.0/token
  • 请求参数:用原应用的客户端ID、密钥,scope设为https://graph.microsoft.com/.default
  • 获取到token后,即可调用Graph API读取目标租户的用户列表。

关于之前方案的澄清

  • B2B跨租户功能主要用于用户跨租户访问资源,并非应用级别的跨租户授权,不符合你的需求。
  • 你提到的「发布企业应用」本质就是其他租户添加你的多租户应用为企业应用,这正是正确的实现路径,之前的模糊点在于没先将应用设为多租户。

内容的提问来源于stack exchange,提问作者Brian M. Hunt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 12:15:06