【问题标题】:Setting up a multi Tenancy application设置多租户应用程序
【发布时间】:2021-01-22 20:22:00
【问题描述】:

我目前正在开发一个能够离线运行的分布式(多站点)应用程序。

我希望能够从 Keycloak 管理实例远程单独配置每个 Keycloak 实例。此外,每个实例都有自己的用户、策略和权限。

我怎样才能做到这一点?

【问题讨论】:

    标签: java keycloak multi-tenant


    【解决方案1】:

    如果您是 Keycloak 的新手,我建议您从阅读其文档开始,它会让您在做决定时更轻松。

    此外,每个实例都有自己的用户、政策和 权限。

    Keycloak Documentation 部分Core Concepts and Terms 可以阅读以下内容:

    领域 :领域管理一组用户、凭据、角色和组。用户属于并登录到领域。领域相互隔离,只能管理和验证他们控制的用户。

    哪些接缝适合满足该要求。

    我希望能够配置 Keycloak 的每个实例 从 Keycloak 管理实例远程和单独地。

    这是不可能的,但是您可以让多个 Keycloak 实例针对同一个 Keycloak 实例执行Identity Brokering。从有关身份代理的文档中可以阅读:

    身份代理是连接多个 具有不同身份提供者的服务提供者。 作为 中介服务,身份代理负责创建 与外部身份提供者的信任关系,以便 使用其身份访问服务暴露的内部服务 供应商。

    从用户的角度来看,身份代理提供以用户为中心的 和集中的方式来管理跨不同安全性的身份 域或领域。现有帐户可以与一个或多个相关联 来自不同身份提供者的身份,甚至是基于 从他们那里获得的身份信息。

    通过这种方法,用户将被重定向到主 Keycloak 实例的首页,然后可以选择登录到特定的 Keycloak 实例。

    【讨论】:

      【解决方案2】:

      您可能不需要不同的实例来执行您所描述的操作。使用不同的领域似乎更合适。领域具有独立的用户、角色、组、密码策略等。

      【讨论】:

        【解决方案3】:

        Keycloack 已经可以处理您不需要为每个组织设置 Keycloack 实例的多租户。只需为每个组织定义一个特定领域。

        【讨论】:

          猜你喜欢
          • 2020-06-18
          • 2020-11-20
          • 1970-01-01
          • 1970-01-01
          • 2018-08-29
          • 2011-05-05
          • 2015-08-17
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多