查询特定的Azure AD权限

时间:2019-12-10 18:04:52

标签: azure azure-active-directory microsoft-graph azure-ad-graph-api

Microsoft Graph中是否有一种方法可以检查登录的用户(使用设备代码auth)是否具有特定的AAD权限?在我的情况下,这将是Microsoft.Directory/groups/members/update-我想通知用户,他/她无权向AD组添加服务主体。

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

2 个答案:

答案 0 :(得分:2)

我是Microsoft的程序经理,负责Azure AD访问控制。感谢您的问题和反馈。正如Allen所说,我们今天没有API。我们拥有的最好的就是用户访问令牌中的“ wids”声明。在this文章中搜索“小玩意”以获取更多信息。

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

我们正在考虑公开一个API,该API将按照文档中Allen提到的语法返回登录用户的基本权限列表。但是,我还没有什么日期可用。

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

再次感谢, 文斯·史密斯

答案 1 :(得分:1)

当前Microsoft尚未公开用于获取与DirectoryRole对应的角色权限的API。

基于official documentmicrosoft.directory/groups/members/update权限仅存在于以下角色中:

  • 目录作家

  • 网上论坛管理员

  • 用户帐户管理员

  • Intune服务管理员

  • 合作伙伴一级支持

  • 合作伙伴第2层支持

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