管理用户和角色

Keycloak 提供全面的用户生命周期管理和细粒度的基于角色的访问控制(RBAC)。用户、角色和组均在每个 Realm 中进行管理。

用户管理

创建用户

Web Console
CLI
  1. 登录 Keycloak 管理控制台并选择目标 Realm。
  2. 点击左侧导航栏中的 Users
  3. 点击 Create new user
  4. 填写必填字段:
字段描述
UsernameRealm 内用户的唯一标识
Email用户邮箱地址。如果启用了邮箱登录,则用于登录。
First Name / Last Name显示名称字段
Email Verified启用后跳过邮箱验证步骤
Enabled禁用时用户无法登录
  1. 点击 Create
  2. 进入 Credentials 标签页设置初始密码。

重置用户密码

  1. 在管理控制台中,进入 Users 并选择目标用户。
  2. 点击 Credentials 标签页。
  3. 点击 Reset password
  4. 输入新密码,如需用户下次登录时修改密码,请切换 Temporary
  5. 点击 Save password

角色管理

Keycloak 支持两种类型的角色:

角色类型作用域使用场景
Realm Roles作用于整个 Realm表示全局应用角色(例如,adminuser
Client Roles作用于特定客户端表示应用特定权限(例如,orders:read

创建 Realm 角色

  1. 在管理控制台中,进入 Realm Roles
  2. 点击 Create role
  3. 输入 Role name 和可选的 Description
  4. 点击 Save

分配角色给用户

  1. 进入 Users 并选择目标用户。
  2. 点击 Role mapping 标签页。
  3. 点击 Assign role
  4. 选择要分配的角色并点击 Assign

组管理

Groups 允许您一次性管理多个用户的角色分配。将角色分配给组后,所有组成员自动继承这些角色。

创建组

  1. 在管理控制台中,进入 Groups
  2. 点击 Create group
  3. 输入 Name 并点击 Create
  4. 在组的 Role Mapping 标签页中,分配所需的 Realm 或客户端角色。

将用户添加到组

  1. 进入 Users 并选择目标用户。
  2. 点击 Groups 标签页。
  3. 点击 Join Group,选择组并点击 Join

复合角色

Composite Role 是包含其他角色的角色。当用户被分配复合角色时,将继承其中包含的所有角色。这简化了复杂角色层级的权限管理。

创建复合角色的步骤:

  1. 创建一个 Realm 角色。
  2. 在角色详情视图中,启用 Composite role
  3. Associated roles 标签页中,添加子角色。