14.9 实际应用示例#
14.8.1 管理员组#
一个很实用的特性是创建一组具有全部管理权限的管理员用户(不使用root用户)。
定义管理员组:
pveum groupadd admin -comment "System Administrators"
赋予权限:
pveum aclmod / -group admin -role Administrator
向管理员组添加管理员用户:
pveum usermod testuser@pve -group admin
14.8.2 审计员#
赋予用户或用户组PVEAuditor角色就可以赋予相应用户对系统的只读权限。
例1:允许用户joe@pve查看系统所有对象
pveum aclmod / -user joe@pve -role PVEAuditor
例2:允许用户joe@pve查看所有虚拟机
pveum aclmod /vms -user joe@pve -role PVEAuditor
14.8.3 分配用户管理权限#
如果需要将用户管理权限赋予joe@pve,可以运行如下命令:
pveum aclmod /access -user joe@pve -role PVEUserAdmin
之后,joe@pve用户就可以添加和删除用户,修改其他用户的口令和属性。这是一个权限非常大的角色。你应该将该权限限制在指定的认证域和用户组。
以下是限制joe@pve仅能修改pve认证域中customers用户组用户的示例:
pveum aclmod /access/realm/pve -user joe@pve -role PVEUserAdmin
pveum aclmod /access/groups/customers -user joe@pve -role PVEUserAdmin
注意
执行以上命令后,joe@pve用户能够添加用户,但添加的用户只能属于pve认证域中的customers用户组。
14.8.4 只用于监控的API权限#
给定在所有虚拟机上具有PVEVMAdmin角色的用户Joe@pve:
pveum aclmod /vms -user joe@pve -role PVEVMAdmin
添加具有单独权限的新API token,该令牌仅允许查看VM信息(例如,用于监视目的):
pveum user token add joe@pve monitoring -privsep 1
pveum aclmod /vms -token ’joe@pve!monitoring’ -role PVEAuditor
验证用户和token的权限:
pveum user permissions joe@pve
pveum user token permissions joe@pve monitoring
14.8.5资源池#
一个企业往往设立有多个部门,将资源和管理权限分配给各个部门是很常见的做法。资源池是一组虚拟机和存储服务的集合,你可以在WebGUI创建资源池,然后向资源池添加资源(虚拟机,存储服务)。
你可以向资源池赋予访问权限,这些权限会被其成员自动继承获取。
假定你有一个软件开发部,首先创建用户组
pveum groupadd developers -comment "Our software developers"
然后为该组创建一个新用户
pveum useradd developer1@pve -group developers –password
注意
参数-password将会提示你设立用户口令。
假定你已经通过WebGUI创建资源池“dev-pool”,现在我们可以向该资源池赋予访问权限:
pveum aclmod /pool/dev-pool/ -group developers -role PVEAdmin
现在我们的软件开发部门就可以管理该资源池中的资源了。