SAML:组成员身份

时间:2013-09-16 08:08:27

标签: saml saml-2.0

有人告诉我,可以在SAML身份验证请求期间提供有关群组成员身份的信息。我们必须连接到使用SAML的应用程序(我们最终创建了SAML答案XML)。验证用户工作正常,但我找不到指定“成员”或类似属性的方法。

您能否向我解释如何在身份验证期间通过SAML传递组成员资格或有一个示例?

我知道有可能在所谓的政策决策点处理SAML的授权。但这意味着我们要检查授权的每个或一些(如果是批处理的)实体会发生SAML流。 让我举个例子说明我们要做的事情。此示例已组成,但显示了我们要解决的问题。 假设您有一个包含大量目录和文件的硬盘驱动器。我们使用SAML对尝试访问该驱动器的人进行身份验证。允许组“admin”的成员进行读写,组“user”的成员仅被授予读取权限。 因此,我们希望在用户进行身份验证时发送用户的组成员身份。因为否则意味着如果用户在必要的组中,应用程序必须检查每个文件。如果从一开始就清楚(在身份验证发生之后)某人是特定组的成员,则应用程序可以将其缓存在内存中。

1 个答案:

答案 0 :(得分:0)

与SAML中的大多数内容一样,这取决于身份提供者以及应用程序。

许多身份提供者都具有访问控制权,以允许或拒绝特定的用户或组访问应用程序。身份验证之后,IdP将基于应用程序的ID(来自SAML请求)和在IdP中配置的访问控制,拒绝登录。如果您只想控制谁有权访问该应用程序,那么这就是您所需要的,大多数(如果不是全部)身份提供者都应具有您的权限。

有时,您还希望不同的用户或组在应用程序内具有不同的权限,或者希望将IdP上某些组的成员资格映射到应用程序自己的用户和组数据库(或其他特定于应用程序)内的组中的成员资格。小组概念)。对此没有标准,但是某些身份提供程序允许基于组成员身份定义属性映射规则。例如,在ADFS中,您可以创建一个声明规则,将且仅当用户是AD中特定组的成员时,才能将特定SAML属性设置为特定值。然后,您将设置这样的规则,并将应用程序可以理解的SAML属性设置为它可以理解的值。

或者,如果应用程序支持配置多个IdP,则可以为每个组配置一个应用程序/ IdP映射,并为每个组在应用程序可以理解的属性中添加带有硬编码组名的属性映射规则。