第 11 章 控制对管理控制台的访问
在红帽构建的 Keycloak 上创建的每个域都有一个专用的 Admin 控制台,可以从中管理该域。master
域是一个特殊的域,它允许管理员管理系统上的多个域。本章介绍了这种情况。
11.1. Master realm 访问控制
红帽构建的 Keycloak 中的 master
域是一个特殊的域,其处理与其他域不同。Red Hat build of Keycloak master
realm 中的用户可以被授予管理在红帽构建的 Keycloak 服务器上部署的零个或多个域的权限。创建域时,红帽构建的 Keycloak 会自动创建各种角色,授予精细权限来访问该新域。可以通过将这些角色映射到 master
域中的用户来控制对 Admin Console 和 Admin REST 端点的访问权限。可以创建多个超级用户,以及只能管理特定域的用户。
11.1.1. 全局角色
master
域中有两个 realm-level 角色。这些是:
- admin
- create-realm
具有 admin
角色的用户是 superusers,具有管理服务器上任何域的完整访问权限。允许具有 create-realm
角色的用户创建新域。它们将授予他们创建的任何新域的完整访问权限。
11.1.2. 特定于 realm 的角色
master
域中的 admin 用户可以向系统中的一个或多个其他域授予管理权限。红帽构建的 Keycloak 中的每个域都由 master
域中的客户端表示。客户端的名称为 < realm name>-realm
。这些客户端各自定义有客户端级角色,它们定义不同的访问级别来管理单个域。
可用的角色有:
- view-realm
- view-users
- view-clients
- view-events
- manage-realm
- manage-users
- create-client
- manage-clients
- manage-events
- view-identity-providers
- manage-identity-providers
- 模拟
将您想要的角色分配给您的用户,他们只能使用管理控制台的特定部分。
具有 manage-users
角色的管理员只能将 admin 角色分配给他们自己拥有的用户。因此,如果管理员具有 manage-users
角色,但没有 manage-realm
角色,则他们将无法分配此角色。