You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

面向B2B多产品的Keycloak多组织身份管理部署咨询

基于Keycloak的B2B多产品统一身份管理架构方案与实践

核心架构选型

采用单Realm + 客户组织(Group)隔离 + 专属IDP路由的架构,完全匹配需求:

  • 单Realm统一管理所有客户与产品,避免多Realm带来的重复集成工作;
  • 用Keycloak原生Group对应每个B2B客户组织,实现客户级数据与权限隔离;
  • 通过Home IDP Discovery扩展实现基于邮箱域名的自动IDP路由,用户输入邮箱后直接跳转到所属客户的专属SSO登录页。

分步实现方案

1. 配置IDP自动发现与路由

  • 安装Home IDP Discovery扩展后,在Realm的身份提供者菜单下,为每个客户配置专属IDP(Azure AD、Google、LDAP等);
  • 在扩展配置中,绑定客户的邮箱域名与对应IDP(如@customer-a.com映射到Azure AD IDP,@customer-b.com映射到LDAP IDP);
  • 开启扩展的自动重定向功能,用户登录时输入邮箱后,系统自动匹配域名并跳转至对应客户的SSO登录流程,无需手动选择IDP。

2. 客户AD组到产品角色的映射

步骤1:同步客户AD组到Keycloak Group

  • 针对使用LDAP/AD的客户,配置Keycloak的LDAP用户存储,将客户AD的用户与组同步到对应客户的Keycloak Group下;
  • 配置同步策略(定时同步或实时同步),确保AD组变更能及时同步到Keycloak。

步骤2:Group到产品客户端角色的映射

  • 为每个产品创建独立的Keycloak Client(代表该产品的身份接入点);
  • 在每个Client的角色映射菜单中,添加客户Group到Client角色的映射(如将Customer-A-AD-Admin组映射到产品A的Admin角色);
  • 开启Client的组角色嵌入功能,确保用户登录后,Token中包含对应的产品角色信息,产品直接通过Token解析权限。

3. 多产品无缝集成优化

  • 所有产品统一集成该Realm的Keycloak,采用OpenID Connect协议实现SSO;
  • 利用Keycloak的Authorization Services实现细粒度权限控制:基于客户Group、Client角色配置权限策略,产品无需重复开发授权逻辑,直接通过Keycloak的权限API验证;
  • 配置统一的登出回调,实现多产品单点登出(SSO Logout)。

关键实践建议

  • 客户隔离强化:为每个客户Group设置专属属性(如customerId),在IDP同步、权限映射时通过该属性过滤数据,避免跨客户信息泄露;
  • 容错机制配置:设置域名匹配失败时的 fallback 登录方式(如Keycloak本地账号),应对临时IDP故障或未配置域名的用户;
  • 同步稳定性保障:对LDAP同步任务配置监控告警,避免因同步失败导致权限失效;
  • 权限最小化原则:为每个客户Group分配仅对应其使用产品的角色,避免过度授权;
  • 测试场景覆盖:重点测试多域名IDP路由、AD组同步、跨产品权限验证等核心场景,确保流程顺畅。

内容的提问来源于stack exchange,提问作者Ignas Bagdonas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 12:43:43