第 4 章 使用外部存储
机构可以包含包含信息、密码和其他凭据的数据库。通常,您无法将现有数据存储迁移到红帽构建的 Keycloak 部署,以便红帽构建的 Keycloak 可以联合现有的外部用户数据库。红帽构建的 Keycloak 支持 LDAP 和 Active Directory,但您也可以使用红帽构建的 Keycloak User Storage SPI 对任何自定义用户数据库进行代码扩展。
当用户尝试登录时,红帽构建的 Keycloak 会检查该用户的存储以查找该用户。如果红帽构建的 Keycloak 找不到用户,红帽构建的 Keycloak 会迭代域的每个用户存储供应商,直到找到匹配项为止。然后,来自外部数据存储的数据会映射到红帽构建的 Keycloak 运行时使用的标准用户模型。然后,此用户模型映射到 OIDC 令牌声明和 SAML 断言属性。
外部数据库很少有支持红帽构建 Keycloak 的所有功能所需的数据,因此用户存储供应商可以选择在红帽构建的 Keycloak 用户数据存储中存储项目。供应商可以在本地导入用户,并定期与外部数据存储同步。这种方法取决于提供程序的功能以及提供程序的配置。例如,您的外部用户数据存储可能不支持 OTP。OTP 可以由红帽构建的 Keycloak 处理和存储,具体取决于供应商。
4.1. 添加供应商
要添加存储供应商,请执行以下步骤:
流程
在菜单中点 User Federation。
用户联邦
从列出的卡中选择供应商类型卡。
红帽构建的 Keycloak 会带您进入该供应商的配置页面。