查询特定的 Azure AD 权限

问题描述 投票:0回答:3

Microsoft Graph 有没有办法检查登录用户(使用设备代码身份验证)是否具有特定的 AAD 权限?就我而言,这将是 Microsoft.Directory/groups/members/update - 我想通知用户他/她不允许将服务主体添加到 AD 组。

我最初的想法是找到用户所属的 DirectoryRoles。然后查看相关的 DirectoryRoleTemplates 并以某种方式检查附加到模板的权限。看来这是不可能的。

azure azure-active-directory microsoft-graph-api azure-ad-graph-api
3个回答
4
投票

我是 Microsoft 的一名项目经理,负责 Azure AD 访问控制。感谢您的提问和反馈。正如 Allen 所说,我们目前还没有用于此目的的 API。我们拥有的最好的就是用户访问令牌中所谓的“wids”声明。在this文章中搜索“wids”以获取更多信息。

wids 声明包含用户所属的目录角色模板对象 ID 列表。角色模板对象 ID 在整个系统中是不可变且一致的,因此您可以对它们进行硬编码检查。模板 id 映射表有一个作用here

我们正在考虑公开一个 API,该 API 按照 Allen 在文档中提到的语法返回登录用户的基础权限列表。不过,我还没有确定何时可用。

如果您有任何疑问,请告诉我。

再次感谢, 文斯·史密斯


1
投票

目前微软尚未公开获取DirectoryRole对应Role权限的API。

根据官方文档

microsoft.directory/groups/members/update
权限仅存在于以下角色:

  • 目录作家

  • 群组管理员

  • 用户帐户管理员

  • Intune 服务管理员

  • 合作伙伴一级支持

  • 合作伙伴二级支持

解决方法是在项目中自定义配置文件来设置固定值。阅读它们以查看用户的目录角色是否与其中之一匹配。


0
投票

查看 JWT 令牌,您可以查看“wids”属性,该属性将包含分配的 Entra 角色的 ID。

这里有一些关于如何执行此操作的很好的说明

© www.soinside.com 2019 - 2024. All rights reserved.