20.2. 使用 ACL 设置本地权限
您可以使用 pcs acl
命令为本地用户设置权限,以允许使用访问控制列表(ACL)对集群配置进行只读或读写访问。
默认情况下不启用 ACL。如果没有启用 ACL,则属于所有节点上的 haclient
组成员的任何用户都具有对集群配置的完整本地读/写权限,而不属于 haclient
成员的用户则无访问权限。但是,当启用 ACL 时,即使属于 haclient
组成员的用户也只能访问 ACL 为该用户授予的内容。root 和 hacluster
用户帐户始终对集群配置具有完全访问权限,即使启用了 ACL。
为本地用户设置权限分为两个步骤:
-
执行
pcs acl role create…
命令来创建一个 角色,该角色 定义该角色的权限。 -
使用
pcs acl user create 命令将您创建的
角色分配给用户。如果您将多个角色分配给同一用户,则任何拒绝
权限都将优先,然后写入
,然后读取
。
流程
以下示例流程为名为 rouser
的本地用户提供了对集群配置的只读权限。请注意,也可能限制对配置某些部分的访问。
以根用户身份执行这个步骤或者保存所有配置更新到工作文件是很重要的,然后在完成后将其推送到活跃 CIB。否则,您可以锁定自己以阻止做任何进一步的更改。有关将配置更改保存为工作文件的详情,请参考 将配置更改保存为工作文件。
此流程要求本地系统上
rouser
用户存在,并且rouser
是组haclient
的成员。# adduser rouser # usermod -a -G haclient rouser
使用
pcs acl enable
命令启用 Pacemaker ACL。# pcs acl enable
为 cib 创建名为
read-only
且具有只读权限的角色。# pcs acl role create read-only description="Read access to cluster" read xpath /cib
在 pcs ACL 系统中创建用户
rouser
,并为该用户分配read-only
角色。# pcs acl user create rouser read-only
查看当前的 ACL。
# pcs acl User: rouser Roles: read-only Role: read-only Description: Read access to cluster Permission: read xpath /cib (read-only-read)
在
rouser
将运行pcs
命令的每个节点上,以rouser
身份登录,再对本地pcsd
服务进行身份验证。这是以 ACL 用户身份运行某些pcs
命令(如pcs status
)所必需的。[rouser ~]$ pcs client local-auth