用例:Graph API 应该只能访问 1 个组及其用户。
问题:使用下面提到的步骤,用例在组级别工作正常,即,图形 API 只能访问该组,而对于所有其他组,它会按照预期抛出 AccessDenied。 但我无法获取 groups("groupID").members() 列表中的用户详细信息。它返回正确的用户 ID,但我还需要用户电子邮件和用户名,它们为空。
以下是采取的步骤:
注册了一个新应用程序custom_app
在角色和管理员下创建了目录级自定义角色:custom_role
将以下权限分配给 custom_role: microsoft.directory/groups/members/read 、 microsoft.directory/users/identities/read 、 microsoft.directory/users/standard/read
创建一个名为custom_group的自定义组并分配3个用户:user1、user2和user3
通过以下步骤将应用程序范围限制为仅此组
仅当重复上述第 5 点进行分配范围:用户、成员:服务原则时,我才能获取用户名和用户电子邮件。
如何在自定义角色中不将用户分配给服务原则并直接分配组来实现相同的效果?
感谢支持。
感谢您分享上述步骤,我能够复制您的场景。 我通过在 Customapp 上添加 User.Read.All 应用程序权限解决了此问题,如图所示。要读取群组成员(即用户)的基本属性,应用程序至少需要 User.Read.All 权限。
要读取群组成员的基本属性,应用程序至少需要 Group.Read.All 权限。
有关权限的其他信息可以在此处找到 - https://learn.microsoft.com/en-us/graph/permissions-overview?tabs=http#limited-information-returned-for-inaccessible-member-objects