Microsoft Graph 有没有办法检查登录用户(使用设备代码身份验证)是否具有特定的 AAD 权限?就我而言,这将是 Microsoft.Directory/groups/members/update - 我想通知用户他/她不允许将服务主体添加到 AD 组。
我最初的想法是找到用户所属的 DirectoryRoles。然后查看相关的 DirectoryRoleTemplates 并以某种方式检查附加到模板的权限。看来这是不可能的。
我是 Microsoft 的一名项目经理,负责 Azure AD 访问控制。感谢您的提问和反馈。正如 Allen 所说,我们目前还没有用于此目的的 API。我们拥有的最好的就是用户访问令牌中所谓的“wids”声明。在this文章中搜索“wids”以获取更多信息。
wids 声明包含用户所属的目录角色模板对象 ID 列表。角色模板对象 ID 在整个系统中是不可变且一致的,因此您可以对它们进行硬编码检查。模板 id 映射表有一个作用here。
我们正在考虑公开一个 API,该 API 按照 Allen 在文档中提到的语法返回登录用户的基础权限列表。不过,我还没有确定何时可用。
如果您有任何疑问,请告诉我。
再次感谢, 文斯·史密斯
目前微软尚未公开获取DirectoryRole对应Role权限的API。
根据官方文档,
microsoft.directory/groups/members/update
权限仅存在于以下角色:
目录作家
群组管理员
用户帐户管理员
Intune 服务管理员
合作伙伴一级支持
合作伙伴二级支持
解决方法是在项目中自定义配置文件来设置固定值。阅读它们以查看用户的目录角色是否与其中之一匹配。