如何管理Keycloak角色?

问题描述 投票:5回答:1

Keycloak是一个很棒的工具,但缺乏适当的文档。

所以我们有Realm.roles,Client.roles和User.roles

使用特定客户端访问应用程序时,3如何协同工作?

此致

keycloak
1个回答
15
投票

在KeyCloak中,我们有以下3个角色:

  1. 境界角色
  2. 客户角色
  3. 复合角色

KeyCloak中没有用户角色。您最有可能将其与用户角色映射混淆,用户角色映射基本上是将角色(领域,客户端或组合)映射到特定用户

为了找出这些角色的实际工作方式,让我们先来看看我创建的一个简单的Realm模型。如下图所示,每个Realm都有一个或多个客户端。每个客户端都可以连接多个用户。

enter image description here

现在,从中可以很容易地得出角色映射的工作原理。

领域角色:它是一个全球角色,属于该特定领域。您可以从任何客户端访问它并映射到任何用户。前角色:'全球管理员,管理员'

客户端角色:该角色仅属于该特定客户端。您无法从其他客户端访问该角色。您只能将其映射到该客户端的用户。前角色:'员工,客户'

复合角色:它是一个角色,具有与之关联的一个或多个角色(领域或客户角色)。