根据 Azure Active Directory 检查角色成员资格

Check role membership against Azure Active Directory

我正在利用新的 Microsoft Graph (Rest) API 使用 AAD 实现服务器到服务器 RBAC。 我可以根据 checkMemberGroups resource

成功验证和检查用户组成员身份

我正在尝试将其提升到一个新的水平 - 我不想检查组成员身份,而是想检查用户的角色。角色是根据 this guide.

定义的

我创建了角色,将其分配给用户,然后尝试使用 checkMemberObjects API:

检查角色分配

Check for membership in a list of group or directory roles for the specified user object.

这没用;我将角色 ID 传递给 API,但响应包含一个空数组 - 表明分配没有发生。

但是,当我尝试使用 appRoleAssignments resource 列出用户的角色分配时,我确实在那里看到了角色的 ID。

我的问题:我是否不恰当地使用了 checkMemberObjects(我在这里混合了不同的域)?如果是-
检查用户是否具有特定角色的正确方法是什么?

我正在使用休息 API。

checkMemberObjects用于检查用户是否在一个组中。如果它具有应用程序角色,则不会。

恐怕没有用于检查用户是否具有特定应用角色的 Microsoft Graph 端点。

但您可以使用 List appRoleAssignments granted to a user 来检查它作为解决方法。

列出所有应用角色分配,并使用 contains()IndexOf() 等检查特定应用角色 ID 是否包含在响应中。