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

如何通过同一应用注册获取多个Azure AD的用户列表?

跨多Azure AD租户获取用户的实现方法

可以通过Microsoft Graph API实现,但没有能一次性拉取所有租户用户的统一接口,需要针对每个Azure AD租户单独处理,具体步骤如下:

1. 确认应用权限配置

确保AppReg1在TestAad1、TestAad2、TestAad3这三个租户中,都被授予了User.Read.All(或Directory.Read.All,权限范围更大)的应用权限(注意是应用权限,不是委派权限),并且已经完成了管理员同意操作。

2. 为每个租户单独获取访问令牌

Graph API的访问令牌是租户级别的,所以需要为每个目标租户单独请求令牌:

  • 使用客户端凭据流(Client Credentials Flow),请求地址为https://login.microsoftonline.com/{租户ID}/oauth2/v2.0/token
  • 请求参数需要包含:client_id(AppReg1的应用ID)、client_secret(或客户端证书)、scope=https://graph.microsoft.com/.default、grant_type=client_credentials

3. 调用Graph API获取对应租户的用户

拿到对应租户的访问令牌后,调用GET https://graph.microsoft.com/v1.0/users接口,请求头带上Authorization: Bearer {该租户的访问令牌},就能获取这个租户下的所有用户,和你在单租户内调用的方式一致。

4. 合并多租户用户数据

如果需要统一的用户列表,需要自行编写逻辑,把从每个租户获取到的用户数据合并在一起。

注意:

  • 不存在跨租户的用户查询接口,必须逐个租户处理
  • 可以通过循环遍历所有目标租户ID的方式,批量完成令牌获取和用户查询的流程

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 00:45:38