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