gpt4 book ai didi

keycloak - 如何使用 Keycloak 正确进行委派用户 self 管理

转载 作者:行者123 更新时间:2023-12-04 15:52:03 25 4
gpt4 key购买 nike

我对如何使用 Keycloak 正确进行委派用户自我管理有疑问。

一些背景资料:

  • 我们正在与数百甚至数千个组织合作,我们希望为这些组织管理对我们应用程序的访问。
  • 其中一些组织是我们拥有活跃目录的内部部门。来自这些组织的用户可以通过“用户存储联合”进行整合,并将继续在各自的目录中维护。
  • 其中一些组织是拥有适当身份提供者的大型组织的一部分。来自这些组织的用户可以通过“身份代理”进行整合,并将继续在各自的身份提供者中进行维护。
  • 对于其余的外部组织(并且有很多),我们必须自己维护用户帐户,并且我们希望将维护工作委托(delegate)给外部组织内指定的用户自我管理员。
  • 用户自我管理员应该能够查看、创建、锁定和解锁同一组织内的用户帐户。
  • 可选地,用户自我管理员应该能够为他被允许管理的用户授予或撤销对特定(组)应用程序的访问权限。

  • 我确实理解这可能通过单独的领域和“专用领域管理控制台”来实现,但据我所知,这些领域将是完全独立的。这意味着我们必须为每个组织设置数百次客户端。我们必须弄清楚如何将每个用户引导到适当的领域进行身份验证,并且每个组织都有自己的登录页面。
  • Keycloak 是否有类似于“子领域”的概念,如果在领域本身或其中一个子领域中有相应的用户帐户,用户可以在其中对领域进行身份验证?
  • 可能可以使用“用户存储 SPI”来编写自定义用户存储联合提供程序,但这有意义吗?表现会好吗?
  • 另一种选择可能是使用“Admin REST API”编写自定义用户自我管理应用程序。 (不幸的是,甚至没有一个 API 可以检索除基本属性以外的任何内容过滤的用户,因此该应用程序最终可能会检索数千个用户帐户来查找属于特定组织的五个帐户。)
  • 第三种选择是自定义 Keycloak 本身,但我们不是 Java 专家,那么这样做是否可取?
  • 有没有人用 Keycloak 实现过这样的场景?
  • 有谁知道是否有计划扩展 Keycloak 以更好地支持这样的场景?

  • 谢谢,
    迈克尔

    最佳答案

    KeyCloak 有一个可能被使用的预览功能:Fine Grain Admin Permissions .顾名思义,它允许以细粒度控制管理权限。

    一个潜在的设置可能是这样的:

  • 为每个需要在 Keycloak 中自我管理的组织创建一个组(例如 org-123)。
  • 将该组织的所有用户添加到组 org-123。
  • 为组织的管理员创建另一个组(例如 org-123-admin)并将管理员用户分配给它。
  • 在组 org-123 上启用权限并在该组上创建权限:
  • 资源:组 org-123
  • 范围:查看成员和管理成员
  • 策略:包含组 org-123-admin
  • 的组类型的新策略
  • 将客户端领域管理的角色查询用户分配给管理员用户

  • 管理员用户现在应该能够登录到专用控制台 https://keycloak.domain-name.com/auth/admin/realm-name/console/#/realms/realm-name/users .他们可以搜索用户,并且只会找到组 org-123 中的用户。他们可以修改这些用户。

    这取决于您的用例是否足够精细。管理员可能可以修改用户的太多内容。

    关于keycloak - 如何使用 Keycloak 正确进行委派用户 self 管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45570215/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com