Azure 我们可以在Active Directory中验证特定组的用户吗
我可以在Active directory中对用户进行身份验证,但我需要知道,如果我们有多个组,是否可以对组中的特定用户进行身份验证。 基本上,我正在重定向到并验证用户,但我需要知道我们是否有机制来验证特定组中的用户,以便我可以根据该机制授予访问权限。假设这是Azure广告(而不是本地Windows Server广告),那么您有三个选项来限制通过组访问应用程序 选项1:要求将用户/组分配给应用程序 这是唯一不需要在应用程序中添加授权逻辑的选项 在classic Azure portal中配置应用程序时,可以将应用程序设置为需要用户分配: 然后,在该应用程序的“用户和组”下,您可以选择哪些个人用户或组应有权访问该应用程序Azure 我们可以在Active Directory中验证特定组的用户吗,azure,azure-active-directory,Azure,Azure Active Directory,我可以在Active directory中对用户进行身份验证,但我需要知道,如果我们有多个组,是否可以对组中的特定用户进行身份验证。 基本上,我正在重定向到并验证用户,但我需要知道我们是否有机制来验证特定组中的用户,以便我可以根据该机制授予访问权限。假设这是Azure广告(而不是本地Windows Server广告),那么您有三个选项来限制通过组访问应用程序 选项1:要求将用户/组分配给应用程序 这是唯一不需要在应用程序中添加授权逻辑的选项 在classic Azure portal中配置应用程
这里考虑的最重要的一点是,这只适用于该组的直接成员,而不是嵌套成员。
选项2:请求组索赔 此选项允许您请求在用户登录后返回到应用程序的令牌包含该用户所属组的列表。这包括它们是其可传递成员的组(即嵌套组) 从经典Azure门户中的应用程序配置页面,您可以下载和上载应用程序的清单JSON文件。在清单中,找到“groupMembershipClaims”
属性,并将其设置为“All”
或“SecurityGroup”
(后者将排除通讯组列表)
设置此项后,用户登录后,生成的令牌将有一个groups
声明,其中包含用户所属的组对象ID列表。然后,您的应用程序可以使用这些声明来决定用户是否应该具有访问权限
Dushyant Gill在他的博客文章中详细介绍了集团的声明:
这里需要考虑的重要问题是,可以返回的组数是有限制的。如果用户是超过此限制的更多组的成员,则会发出“overage”声明,并且您的应用程序将需要进行Azure AD Graph API调用以获取完整列表。(杜希安特的博客文章中也描述了这一点。)
选项3:直接使用或
最后一个选项是简单地调用Microsoft Graph API(或Azure AD Graph API,两者的行为几乎相同)来确定登录用户是否是给定组的成员。然后,您的应用程序可以做出授权决定
您可以采取几种方法(这些都是传递性检查,因此支持嵌套组):
- 检查用户是否为指定(单个)组的成员。这是最简单的,如果单个组应该授予您的应用程序访问权限李>
- 检查用户是否是组列表中任何组的成员。如果不同的组在应用程序中授予不同的角色或权限,这将非常有用
- 返回用户所属组的完整列表。这对于执行授权检查通常不是特别有用
这里考虑的最重要的一点是,这只适用于该组的直接成员,而不是嵌套成员。
选项2:请求组索赔 此选项允许您请求在用户登录后返回到应用程序的令牌包含该用户所属组的列表。这包括它们是其可传递成员的组(即嵌套组) 从经典Azure门户中的应用程序配置页面,您可以下载和上载应用程序的清单JSON文件。在清单中,找到“groupMembershipClaims”
属性,并将其设置为“All”
或“SecurityGroup”
(后者将排除通讯组列表)
设置此项后,用户登录后,生成的令牌将有一个groups
声明,其中包含用户所属的组对象ID列表。然后,您的应用程序可以使用这些声明来决定用户是否应该具有访问权限
Dushyant Gill在他的博客文章中详细介绍了集团的声明:
这里需要考虑的重要问题是,可以返回的组数是有限制的。如果用户是超过此限制的更多组的成员,则会发出“overage”声明,并且您的应用程序将需要进行Azure AD Graph API调用以获取完整列表。(杜希安特的博客文章中也描述了这一点。)
选项3:直接使用或
最后一个选项是简单地调用Microsoft Graph API(或Azure AD Graph API,两者的行为几乎相同)来确定登录用户是否是给定组的成员。然后,您的应用程序可以做出授权决定
您可以采取几种方法(这些都是传递性检查,因此支持嵌套组):
- 检查用户是否为指定(单个)组的成员。如果单个组应为g,则这是最简单的