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

咨询读取完整组织用户资料的非管理员权限及Graph Explorer权限疑问

解答你的Microsoft Graph权限疑问

1. 为什么Graph Explorer无需管理员授权就能获取完整用户信息?

Graph Explorer是微软官方推出的API测试工具,它的背后应用有特殊的权限配置:

  • 微软为了方便开发者快速验证API功能,已经将这个官方应用的部分权限(包括User.Read.All)设置为允许普通用户自行授权,跳过了常规第三方应用需要管理员预先同意的流程——这是官方工具的特殊安排,和普通第三方应用的权限逻辑不一样。
  • 你在Graph Explorer登录时,其实已经悄悄完成了对User.Read.All权限的授权(流程被简化了),所以它能返回完整的用户资料。

2. 这存在安全问题吗?

完全不用担心安全问题:

  • Graph Explorer是微软官方认证的应用,所有权限请求和数据访问都受微软的安全体系管控,不会滥用你的权限。
  • 租户管理员依然有绝对控制权:如果管理员在Azure AD的用户同意设置中限制了用户自行同意管理员级权限的范围,普通用户就无法再通过Graph Explorer获取这类权限了。

3. 无需管理员授权时,读取完整用户资料的正确权限是什么?

首先明确几个权限的边界:

  • User.ReadBasic.All确实只能返回你看到的基础字段(displayName、mail等),无法获取jobTitle、officeLocation这类扩展信息。
  • 要读取同租户其他用户的完整资料,必须使用User.Read.All权限,但它默认是需要管理员同意的权限。

不过有两种无需管理员干预的可行场景:

  • 如果你的租户管理员已经在Azure AD中配置了用户同意策略,允许普通用户同意User.Read.All这类权限,那么你的应用可以引导用户自行授权该权限,之后就能获取完整用户资料。
  • 如果你只需要读取当前登录用户自己的完整信息,可以使用User.Read权限(委托权限,普通用户可自行授权),调用GET https://graph.microsoft.com/v1.0/me就能返回自己的全部资料,但这个权限无法读取其他用户的完整信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:36:51