Red Hat Training

A Red Hat training course is available for RHEL 8

20.2. 使用 ACL 设置本地权限

您可以使用 pcs acl 命令为本地用户设置权限,以允许使用访问控制列表(ACL)对集群配置进行只读或读写访问。

默认情况下不启用 ACL。如果没有启用 ACLS,则所有节点上的 haclient 组成员的任何用户都具有对集群配置的完整的本地读/写权限,而不属于 haclient 成员的用户则没有访问权限。但是,当启用 ACL 时,即使属于 haclient 组成员的用户也只能访问 ACL 为该用户授予的内容。root 和 hacluster 用户帐户始终对集群配置具有完全访问权限,即使启用了 ACL。

为本地用户设置权限分为两个步骤:

  1. 执行 pcs acl role create…​ 命令来创建一个 角色,该角色 定义该角色的权限。
  2. 使用 pcs acl user create 命令将您创建的 角色分配给用户。如果您将多个角色分配给同一用户,则任何 拒绝 权限都将优先,然后 写入,然后 读取

流程

以下示例流程为名为 rouser 的本地用户提供了对集群配置的只读权限。请注意,也可能限制对配置某些部分的访问。

警告

以根用户身份执行这个步骤或者保存所有配置更新到工作文件是很重要的,然后在完成后将其推送到活跃 CIB。否则,您可以锁定自己以阻止做任何进一步的更改。有关将配置更改保存为工作文件的详情,请参考 将配置更改保存为工作文件

  1. 此流程要求本地系统上 rouser 用户存在,并且 rouser 是组 haclient 的成员。

    # adduser rouser
    # usermod -a -G haclient rouser
  2. 使用 pcs acl enable 命令启用 Pacemaker ACL。

    # pcs acl enable
  3. 为 cib 创建名为 read-only 且具有只读权限的角色。

    # pcs acl role create read-only description="Read access to cluster" read xpath /cib
  4. 在 pcs ACL 系统中创建用户 rouser,并为该用户分配 read-only 角色。

    # pcs acl user create rouser read-only
  5. 查看当前的 ACL。

    # pcs acl
    User: rouser
      Roles: read-only
    Role: read-only
      Description: Read access to cluster
      Permission: read xpath /cib (read-only-read)
  6. rouser 将运行 pcs 命令的每个节点上,以 rouser 身份登录,再对本地 pcsd 服务进行身份验证。这是以 ACL 用户身份运行某些 pcs 命令(如 pcs status )所必需的。

    [rouser ~]$ pcs client local-auth