Azure AD 中的 Phantom 组成员身份
Phantom Group Membership in Azure AD
我有一个长期 运行 应用程序,它使用 FederatedAuthentication 和 Azure AD 来管理基于声明的身份。我的应用程序清单设置为列出用户的所有安全组(因此我可以遍历他们所属的组列表)。
在该应用程序中,我有一个用户是单个顶级组的成员。该组不是任何其他组的成员。以前,当用户登录时,只有一个 http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
值附加到他们的 ClaimsPrincipal,正确显示他们所属的单个组。
截至最近(过去几天)当我的用户登录时,有两个 http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
值。其中之一仍然对应于他们所属的组,但新的与我的活动目录中任何可见组的 ID 不匹配(或我可以看到的任何其他对象:没有应用程序 ID,也没有其他用户 ID ).
这个虚幻的群组成员资格从何而来,有什么办法可以将其删除?
Update - 应用程序清单中的 groupMembershipClaims
设置为 SecurityGroup
(不是 All
)。
在我的测试中,组声明将 return 当前用户所属的组和 DirectoryRoles 的集合,结果类似于使用 memberOf
azure ad graph api:
https://graph.windows.net/myorganization/users/{user_id}/$links/memberOf?api-version
上面api的结果:
即使我将 groupMembershipClaims
设置为 SecurityGroup
,我在带有组声明的令牌中得到相同的三个记录(2 个组和 1 个目录角色)。我的帐户是我的 AAD 中的全局管理员。如果我将帐户设置为用户目录角色(非管理员角色),那么我在组声明中只会获得两条组记录。
使用 azure ad graph api ,要获取用户具有直接或传递成员资格的所有组,我们可以调用 getMemberGroups 函数。
如果您只希望群组声明用户在 中具有直接或传递成员身份的 return 个群组,您可以在 AAD userVoice 中发送您的反馈。
我有一个长期 运行 应用程序,它使用 FederatedAuthentication 和 Azure AD 来管理基于声明的身份。我的应用程序清单设置为列出用户的所有安全组(因此我可以遍历他们所属的组列表)。
在该应用程序中,我有一个用户是单个顶级组的成员。该组不是任何其他组的成员。以前,当用户登录时,只有一个 http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
值附加到他们的 ClaimsPrincipal,正确显示他们所属的单个组。
截至最近(过去几天)当我的用户登录时,有两个 http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
值。其中之一仍然对应于他们所属的组,但新的与我的活动目录中任何可见组的 ID 不匹配(或我可以看到的任何其他对象:没有应用程序 ID,也没有其他用户 ID ).
这个虚幻的群组成员资格从何而来,有什么办法可以将其删除?
Update - 应用程序清单中的 groupMembershipClaims
设置为 SecurityGroup
(不是 All
)。
在我的测试中,组声明将 return 当前用户所属的组和 DirectoryRoles 的集合,结果类似于使用 memberOf
azure ad graph api:
https://graph.windows.net/myorganization/users/{user_id}/$links/memberOf?api-version
上面api的结果:
即使我将 groupMembershipClaims
设置为 SecurityGroup
,我在带有组声明的令牌中得到相同的三个记录(2 个组和 1 个目录角色)。我的帐户是我的 AAD 中的全局管理员。如果我将帐户设置为用户目录角色(非管理员角色),那么我在组声明中只会获得两条组记录。
使用 azure ad graph api ,要获取用户具有直接或传递成员资格的所有组,我们可以调用 getMemberGroups 函数。
如果您只希望群组声明用户在 中具有直接或传递成员身份的 return 个群组,您可以在 AAD userVoice 中发送您的反馈。