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

时间:2020-05-13 14:27:48

标签: realm keycloak keycloak-rest-api

是否可以让一个域中的用户在密钥斗篷中管理另一个域? 我的目标是拥有2个领域-adminRealm和userRalm。在adminRealm中应该是用户,他们将能够登录到我们的管理应用程序,并且可以在其中通过Keycloak rest api“普通用户”创建该用户,并将其放置在userRealm中。

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

1 个答案:

答案 0 :(得分:3)

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

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