在不同的 Keycloak 实例之间同步用户

Ste*_*ker 7 ldap active-directory openid-connect kubernetes keycloak

我在一家多公司集团工作。每家公司都有自己的网络、自己的 IT 管理员,因此也有自己的 Active-Directory。无法通过 VPN 连接不同的网络,例如公司的用户可以从他们的电子邮件域中识别,例如 jdoe@company-a.com 和 jdoe@company-b.com

我的目标是为整个公司集团开发一个全球应用程序。

我想使用 Keycloak 作为身份和访问管理。

问题在于,所有公司的每个用户(属于定义组的成员)都必须有权访问/登录/授权到集中式前端和分散式后端(自编程 API 代理/网关)。

下面是目前的情况图:

Draw.io 随意编辑

网络草稿

建议:

  1. 我会为 keycloak 实例使用共享数据库,但由于没有 VPN,因此无法完成
  2. keycloak 到 keycloak 用户联盟?
  3. 使用其他公司作为 idP 并编写切换到主密钥斗篷的脚本?

在此先感谢您的帮助 :)

Jan*_*raj 4

我建议每个公司使用专用的“本地”Keycloak(配置了与 Active Directory 的用户联合)。以及一个“全局”Keycloak 实例,它将配置Identity Brokering为所有“本地”Keycloak 实例。“本地”管理员仍然拥有管理用户和自定义登录主题的全部权力。用户必须从“全局”Keycloak 登录页面选择身份提供商,或者应用程序可以使用客户端建议的身份提供商和kc_idp_hint查询参数。