5.12. 用户配置集
在 Red Hat Single Sign-On 中,用户与一组属性关联。这些属性用于更好地描述和识别 Red Hat Single Sign-On 中的用户,以及传递给应用程序的附加信息。
用户配置集定义了一条明确的 schema,用于代表用户属性以及如何在域中管理。通过提供对用户信息的一致视图,管理员可以控制管理属性的不同方面,并更容易扩展红帽单点登录以支持附加属性。
除其他功能外,用户配置集使管理员能够:
- 为用户属性定义 schema
- 根据上下文信息(例如,仅要求用户或管理员)或同时定义属性是否需要属性,或根据所请求的范围。)
- 定义特定权限以查看和编辑用户属性,从而遵循强大的隐私要求,其中第三方(包括管理员)无法看到或更改某些属性。
- 动态强制实施用户配置集合规性,以便始终更新用户信息并与属性相关的元数据和规则
- 利用内置的验证器或编写自定义的验证规则,以每个attribute 为基础定义验证规则
- 根据属性定义,用户可以动态呈现与帐户控制台中的注册、更新配置文件、代理和个人信息等交互,而无需手动更改它们。
User Profile 功能由 User Profile SPI 支持。默认情况下,这些功能被禁用,域被配置为使用默认配置,以便向后兼容旧行为。
旧行为是在管理用户 root 属性(如用户名、电子邮件、第一和姓氏)时使用的默认限制,而不考虑如何管理自定义属性的任何限制。有关用户流(如注册、配置集更新、代理)并通过帐户控制台管理帐户,用户将限制为使用前所述属性来更改主题模板以支持附加属性。
如果您已经使用 Red Hat Single Sign-On,旧的行为是您目前正在使用的行为。
与传统行为不同,声明性提供程序为您提供了很多灵活性,以通过管理控制台和明确定义的 JSON 模式将用户配置文件配置定义为域。
在下一部分中,我们将了解如何使用声明性提供程序定义您自己的用户配置文件配置。
在未来,红帽单点登录将不再支持传统行为。理想情况下,您应该开始关注 User Profile 提供的新功能,并相应地迁移您的域。
5.12.1. 启用用户配置集
声明性用户配置集 是技术预览,不被完全支持。此功能默认为禁用。
要使用 -Dkeycloak.profile=preview
或 -Dkeycloak.profile.feature.feature.declarative_user_profile=enabled 来启用
服务器。如需了解更多详细信息,请参阅 配置文件。
除了启用 declarative_user_profile
功能外,您应该为域启用用户配置文件。为此,可单击左侧菜单中的 Realm Settings
链接,再打开 User Profile Enabled
switch。
启用并单击 Save
按钮后,您可以从中访问 User Profile
选项卡,从中可以管理用户属性的配置。
通过为域启用用户配置文件,Red Hat Single Sign-On 将会根据用户配置集配置来施加额外的限制如何管理属性。总之,以下列出了在启用该功能时应该期望的内容:
-
从管理的角度看,用户详情页面上的
Attributes
选项卡将仅显示用户配置文件配置中定义的属性。基于 per-attribute 定义的条件也会在管理属性时考虑。 - 用户面临的表单,如帐户控制台中的注册、更新配置文件、代理和个人信息,将根据用户配置文件配置动态呈现。为此,Red Hat Single Sign-On 将依赖于不同的模板来动态呈现这些表单。
在下一个主题中,我们将探索如何管理用户配置文件配置以及它对域的影响。