第十四章 用户管理
Proxmox VE 支持多种身份验证源,例如 Linux PAM、集成的 Proxmox VE 身份验证服务器、LDAP、Microsoft Active Directory 和 OpenID Connect。 通过为所有对象(虚拟机、存储、节点等)使用基于角色的用户和权限管理,可以定义精细的访问权限。
14.1 用户
Proxmox VE 将用户属性存储在 /etc/pve/user.cfg 中。密码不在此处存储;用户会与下文所述的身份验证域相关联。因此,用户通常在内部通过“<用户名>@<域>”的形式来标识。 此文件中的每个用户条目包含以下信息:
“•名”
- 名字
- 姓氏
• - 电子邮件地址
•群组成员身份 - 组成员身份
• - 可选的到期日
- 关于此用户的评论或备注
- 该用户是已启用还是已禁用
• - 可选的双因素身份验证密钥
小心
小心: 当您禁用或删除某个用户,或者所设置的过期日期已过,该用户将无法登录新会话或启动新任务。此类事件不会自动终止该用户已启动的所有任务(例如终端会话)。
14.1.1 系统管理员
系统root用户始终可以通过 Linux PAM 领域登录,并且是不受限制的管理员。此用户无法被删除,但其属性仍可更改。系统邮件将发送至分配给此用户的电子邮件地址。
14.2 组
每个用户都可以是多个组的成员。组是组织访问权限的首选方式。您应始终向组而非单个用户授予权限。这样您将获得一个更易于维护的访问控制列表。
14.3 API 令牌
API 令牌允许从其他系统、软件或 API 客户端无状态地访问 REST API 的大部分内容。可以为单个用户生成令牌,并为其分配单独的权限和过期日期,以限制访问的范围和持续时间。如果 API 令牌遭到泄露,可以将其撤销,而无需禁用用户本身。
API 令牌主要有两种基本类型:
- 分离的权限:令牌需要通过访问控制列表(ACL)明确授予访问权限。其有效权限是通过用户权限和令牌权限的交集来计算得出的。
- 完全权限:令牌的权限与关联用户的权限完全相同。
小心:
令牌值仅在生成令牌时显示/返回一次。之后无法通过 API 再次获取!
要使用 API 令牌,请在发出 API 请求时将 HTTP 标头“Authorization”设置为显示的值,格式为“PVEAPIToken=USER@”,或者请参阅您的 API 客户端文档。
14.4 资源池
资源池指的是一组由虚拟机、容器以及存储设备所构成的集合。在某些情况下,当用户应受到控制以访问特定的资源集时,它对于权限管理颇具效用,这是因为其能够将单个权限应用于一组集合(元素),而无需针对每一项资源分别进行管理。通常,资源池会与组一起使用,从而使得组内成员对一组计算机和存储拥有相应的权限。
14.5 认证域
由于 Proxmox VE 用户只是外部领域中现有用户的对应用户,因此必须在 /etc/pve/domains.cfg 中配置这些领域。以下领域(身份验证方法)可用:
Linux PAM 标准认证
Linux PAM 是一个用于系统范围用户身份验证的框架。这些用户是在主机系统上通过诸如 adduser 之类的命令创建的。如果 Proxmox VE 主机系统上存在 PAM 用户,则可以向 Proxmox VE 中添加相应的条目,以允许这些用户通过其系统用户名和密码登录。
Proxmox VE 认证服务器
这是一个类 Unix 密码存储,它将经过哈希处理的密码存储在 /etc/pve/priv/shadow.cfg 中。密码使用 SHA-256 哈希算法进行哈希处理。对于小型(甚至中型)规模的安装来说,这是最方便的领域,因为用户无需访问 Proxmox VE 之外的任何内容。在这种情况下,用户完全由 Proxmox VE 管理,并能够通过图形用户界面更改自己的密码。
LDAP
LDAP(轻型目录访问协议)是一种开放的、跨平台的使用目录服务进行身份验证的协议。OpenLDAP 是 LDAP 协议的一种流行的开源实现。
