Skip to main content

第十四章 用户管理

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 资源池

image.png

资源池指的是一组由虚拟机、容器以及存储设备所构成的集合。在某些情况下,当用户应受到控制以访问特定的资源集时,它对于权限管理颇具效用,这是因为其能够将单个权限应用于一组集合(元素),而无需针对每一项资源分别进行管理。通常,资源池会与组一起使用,从而使得组内成员对一组计算机和存储拥有相应的权限。

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(轻型目录访问协议)是一种开放的、跨平台的使用目录服务进行身份验证的协议。OpenLDAPLDAP 协议的一种流行的开源实现。