第 11 章 控制对管理控制台的访问
在红帽构建的 Keycloak 上创建的每个域都有一个专用的管理控制台,可从中管理该域。主域
是一个特殊的域,它允许管理员管理系统上多个域。本章介绍了本情况的所有情况。
11.1. Master 域访问控制
红帽构建的 Keycloak 中的 master
域是一个特殊的域,其处理与其他域不同。红帽构建的 Keycloak master
域中的用户可以被授予管理红帽构建的 Keycloak 服务器上部署零个或更多域的权限。创建域时,红帽构建的 Keycloak 会自动创建各种角色,授予精细权限来访问该新域。可以通过将这些角色映射到 master
域中的用户来控制对 Admin Console 和 Admin REST 端点的访问。可以创建多个超级用户,以及只能管理特定域的用户。
11.1.1. 全局角色
master
域中有两个 realm 级别的角色。这些是:
- admin
- create-realm
具有 admin
角色的用户是超级用户,具有管理服务器上任何域的完整访问权限。允许具有 create-realm
角色的用户创建新域。它们被授予对他们创建的任何新域的完整访问权限。
11.1.2. 域特定角色
master
域中的管理员用户可为系统中的一个或多个其他域授予管理特权。红帽构建的 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
角色,则他们将无法分配此角色。