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

关于通过Graph API获取Azure AD用户角色与组的技术咨询

获取Azure AD用户角色与组的API权限、调用方式及替代方案

一、所需API权限配置

根据你的访问场景(用户登录交互/后台服务无用户上下文),需配置Microsoft Graph的对应权限,除基础的User.Read外,其余权限均需管理员同意:

获取用户所属组

  • 委托权限(用户登录场景):
    • Group.Read.All:读取所有组及成员关系,适用于需查看任意用户所属组的场景
    • GroupMember.Read.All:仅读取组成员关系,适合仅需确认用户组归属的轻量需求
    • 若仅查看当前登录用户的组,User.Read 基础权限即可满足
  • 应用权限(后台服务场景):
    • Group.Read.All:后台应用无用户上下文时,读取所有组及成员关系

获取用户分配的Azure AD角色

  • 委托权限(用户登录场景):
    • DirectoryRole.Read.All:读取所有目录角色分配,可查看任意用户的角色
    • 若仅查看当前登录用户的角色,User.Read 即可
  • 应用权限(后台服务场景):
    • DirectoryRole.Read.All:后台应用无用户上下文时读取所有角色分配

二、用于获取角色和组的Microsoft Graph API

获取用户所属组

  • 获取指定用户的直接所属组:
    GET https://graph.microsoft.com/v1.0/users/{user-id}/memberOf/microsoft.graph.group
    
  • 获取用户的所有嵌套组(含间接所属):
    GET https://graph.microsoft.com/v1.0/users/{user-id}/transitiveMemberOf/microsoft.graph.group
    

获取用户分配的Azure AD角色

  • 获取指定用户的直接角色分配:
    GET https://graph.microsoft.com/v1.0/users/{user-id}/directoryRoles
    
  • 获取用户的所有角色(含组继承):
    GET https://graph.microsoft.com/v1.0/users/{user-id}/transitiveMemberOf/microsoft.graph.directoryRole
    

三、其他访问Azure AD角色和组的方式

  • Azure门户:进入Azure AD的「用户」页面,打开目标用户详情页,查看「组」和「已分配的角色」标签,直观查看信息
  • PowerShell:使用Microsoft Graph PowerShell模块执行命令:
    • 获取用户组:Get-MgUserMemberOf -UserId {user-id}
    • 获取用户角色:Get-MgUserDirectoryRole -UserId {user-id}
  • Azure AD Graph Explorer:在浏览器中直接调用Microsoft Graph API进行测试,无需编写代码,适合快速验证数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 06:17:10