21.2. 使用 ACL 设置本地权限
您可以使用 pcs acl
命令,为本地用户设置权限,以允许使用访问控制列表(ACL)对集群配置进行只读或读写访问。
默认情况下不启用 ACL。如果没有启用 ACL,则在所有节点上是 haclient
组成员的任何用户都对集群配置有完全的本地读/写权限,而不是 haclient
成员的用户没有访问权限。当启用 ACL 时,即使属于 haclient
组成员的用户也只能访问 ACL 为该用户授予的内容。root 和 hacluster
用户帐户始终对集群配置有完全访问权限,即使启用了 ACL。
为本地用户设置权限分为两个步骤:
-
执行
pcs acl role create…
创建一个 role 来定义该角色的权限。 -
使用
pcs acl user create
命令将您创建的角色分配给用户。如果为同一用户分配多个角色,则任何deny
权限优先于write
,然后read
。
步骤
以下示例流程为名为 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