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

AAD访问令牌groups声明出现未知GUID的原因咨询

问题分析与解决思路

那个始终出现在groups声明里的未知GUID,其实是Azure AD里一个隐藏的"默认访问(Default Access)"组的对象ID——这个组是Azure AD自动为每个租户创建的,默认包含所有用户,但它不会在Azure Portal、az ad group list这类常规管理工具中显示,所以你查不到它的存在。

为什么会出现这个组?

当你的应用请求了groups声明(MSAL默认会包含这个声明,或者你在应用注册的「令牌配置」里开启了组声明),而用户没有加入任何你手动创建的安全组/Office 365组时,Azure AD就会自动把这个隐藏的默认组塞进groups声明里,作为用户的默认归属。

怎么验证我的猜想?

你可以用Microsoft Graph API快速确认这个GUID的身份:

  1. 先用Azure CLI拿一个Graph API的访问令牌:
    az account get-access-token --resource https://graph.microsoft.com
    
  2. 复制返回的accessToken,然后调用Graph的组查询接口:
    GET https://graph.microsoft.com/v1.0/groups/2cb3a5e8-4606-4407-9a97-616246393b5d
    
    你会看到返回结果里这个组的displayName就是Default Access,描述一般是Default access group for all users。

如果不想让它出现在令牌里怎么办?

要是这个默认组对你的业务逻辑没用,可以这么处理:

  • 登录Azure Portal,找到你的应用注册,进入「令牌配置」页面,编辑组声明的设置:要么选择只返回「安全组」或「Office 365组」,要么勾选「排除默认访问组」选项(如果你的租户支持的话)。
  • 或者,在代码里处理令牌时直接忽略这个特定的GUID就行,它本身不会影响任何权限判断。

另外,你也可以顺手验证下这个GUID是不是用户自己的ObjectID(虽然概率不高):运行az ad user show --upn jurjen@stupendous.org --query objectId,对比下返回值和令牌里的GUID是否一致。要是一致,那就是Azure AD的旧版行为——当用户无组归属时,会把用户自身ID放进groups声明里,但现在更多是返回默认访问组。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:40:56