Keycloak - 与来自不同领域的用户一起管理领域

Keycloak - Manage realm with user from different realm

是否可以让一个领域的用户在keycloak中管理另一个领域? 我的目标是拥有 2 个领域 - adminRealm 和 userRalm。在 adminRealm 中应该是用户,他们将能够登录到我们的管理应用程序,在那里他们可以通过 Keycloak rest api "ordinary user" 创建,这将被放入 userRealm。

目前我的解决方案在一个领域工作,我有管理员用户可以登录我的管理应用程序,他可以在同一领域创建用户。但是如果我想创建用户到另一个领域,我会收到 403 错误。那么有什么方法可以让管理员用户管理另一个领域(例如创建用户等)?

您应该使用主域来存储管理员帐户。非主域彼此隔离。如果查看 master 领域中的客户端列表,您应该会看到每个领域都由具有 OIDC id 的客户端表示,如 "foo-realm"。此客户端代表相应领域的管理 REST API,具有来自此客户端的授予角色的用户可以对相应的 api 执行管理请求。

例如,您有 foo 领域,其中将包含普通应用程序用户。为了实现引入能够管理来自 foo 用户的管理员帐户的目标,您必须在 master 领域中创建 foo-admin 用户并授予他 foo-realm.realm-admin 角色。现在这个用户可以完全控制 foo 领域而不控制 master 领域。您还可以将 foo-realm.realm-admin 角色映射到主领域中的某个组并向其添加用户(因此,如果将来出现任何更改,您只需更改组角色设置)