问题描述
我似乎找不到要检查的API调用,以查看是否已通过身份验证的用户是否是特定Azure AD组的成员。检索用户所属的所有Azure AD组的列表也可以。我认为这将通过Graph API完成,但是我似乎找不到用于此目的的API。如何获取当前经过身份验证的用户所属的所有Azure AD组的列表?
解决方法
您正在寻找的(v1)Graph API列在用户>组>列表memberOf (https://docs.microsoft.com/en-us/graph/api/user-list-memberof?view=graph-rest-1.0&tabs=http)下,由艾伦(Allen)在评论中确认。该API还将列出用户的Azure AD角色组。
注意:仅出于一般规则,即使文档看起来很复杂,对任何资源的操作也会在Graph API文档的根目录中列出。如果要访问用户的属性,请查看“用户”。这将有助于您浏览文档。
另一项编辑:这对于探索Graph API https://developer.microsoft.com/en-us/graph/graph-explorer
可能很方便 ,之前的回答和评论提到使用 memberOf。但是,在大多数情况下,您希望使用transitiveMemberOf 代替:https://docs.microsoft.com/en-us/graph/api/user-list-transitivememberof?view=graph-rest-1.0&tabs=http
memberOf 仅返回用户是直接成员的组,而transitiveMemberOf 尊重组嵌套。 例如,如果 User 是 GroupA 的成员,而 GroupA 是 GroupB 的成员,则 memberOf 将只返回 GroupA,而transitiveMemberOf 将同时返回 GroupA 和 GroupB。