是否可以授予使用Azure Active Directory(租户)权限注册的应用程序以查看某些(但不是所有)组?
有Groups.Read.All
权限,但相关应用程序的客户不希望将AD中的所有组(和用户)公开给应用程序。
可能有一些应用程序可以查看的组或类似组(所有相关组中的木偶用户?)可能有效,但能够指定AD的子集以授予访问权限会很好
应用程序角色未被使用,因为应用程序的卖点之一是能够动态创建角色,据我所知,这是不可能的。这些组的目的是用于授权,客户直接在Azure AD中管理组成员资格将是有利的,而不仅仅是在应用程序中。
作为一个具体示例,如何在向客户的Azure AD注册期间配置应用程序集成,以便它可以访问组D
,E
和F
(即小组C
)中的元素,但不了解小组G
或H
(不在C
中)?
理想情况下,用户A
可以是所有群组的成员,并且应用程序不会知道G
或H
。
谢谢!
答案 0 :(得分:1)
无法限制访问所有组的元数据(即读取组名,成员角色等)。但是,这不应与访问组的内容相混淆。 Groups.Read.All
范围仅在经过身份验证的用户有权访问它时才返回组的内容。
例如,我可以使用/v1.0/groups/{id}
读取群组的属性,但如果我不是该群组的成员(或所有者),我将获得例外,如果我试图致电/v1.0/groups/{id}/conversations
:
{
"error": {
"code": "ErrorAccessDenied",
"message": "Access is denied. Check credentials and try again.",
"innerError": {
"request-id": "1eab6eea-d666-46e8-926a-922f34dd4b51",
"date": "2018-06-08T20:47:58"
}
}
}