使用Keycloak进行大规模多租户场景

13

我正在尝试了解Keycloak如何在大规模多租户方案中使用。

标准方法似乎是为每个租户使用一个领域。这隔离了每个租户的用户和设置,非常有意义。

Keycloak多租户示例中,它说它“演示了Keycloak多租户支持的最简单的可能情况”(我强调)。也许我读得太多了,但对我来说,这暗示着还有其他标准方法。不过,我还没有找到关于这些选项的讨论。

我也读过可能存在超过100个领域的性能问题。也许这些性能问题已经得到解决,但这也意味着Keycloak无法处理具有1,000个或更多租户的大规模多租户场景。

所以我的问题是:

  • 除“每个租户一个领域”的方法外,是否有其他推荐的多租户方法?
  • 是否有在实际中展示了它应对大量领域能力的Keycloak大规模多租户部署?
  • 是否有建议的信息来源,我应该关注哪些信息?

2
你有收到回复吗?你有取得任何进展吗? - George Nikolaides
@GeorgeNikolaides 你好,你有没有看过这个 -> https://dev59.com/vlMI5IYBdhLWcg3wPpAa。我还没有尝试过。我认为还没有解决方案。但它可以给进一步研究提供一些线索。 - Sandy B
你好@Peter,我们确实看到了那篇帖子,但似乎不是正确的方法。无论如何,我们也决定为每个租户创建一个Realm。主要是因为这是keycloak的设计方式 :) - George Nikolaides
@GeorgeNikolaides 你好,这个话题有些偏离我们之前讨论的多租户问题。我看了一下这个链接 -> https://www.keycloak.org/docs/latest/securing_apps/index.html#_multi_tenancy ,发现需要创建 org.keycloak.adapters.KeycloakConfigResolver 的实现。但是我并没有完全理解它的工作流程。请问你是否有更详细的文档可以解释一下?谢谢。 - Sandy B
1个回答

0
迄今为止(Keycloak 18发布)100多个领域的性能问题仍然存在。但在现实世界中,这根本不是问题。
只需将您的租户拆分为多个Keycloak集群即可。如果您需要集成您的领域,则可以通过跨集群的联合独立于特定集群/实例进行操作,因此无需在单个集群上运行所有内容。
从运营角度来看,将如此大量的租户/领域放在单个集群上也不是最佳选择-因为您将很难组织维护和停机时间。因此,适当地分割事物并非考虑的最糟糕的事情。

你是否碰巧有关于如何实现这一点的更详细描述的指引?到目前为止,我的搜索引擎功夫似乎不足以找到有关如何做到这一点的文章/文档。谢谢! - RobertB
你有没有关于如何实现这个的更详细描述的指点呢?到目前为止,我的搜索引擎功夫似乎不够好,找不到关于如何做这个的文章/文档。谢谢! - undefined
我没有什么官方文件可以转发给你。也许你需要一些专业支持-随时通过这里或https://www.bare.id/#kontakt与我们联系。 - pagid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接