vSphere 支持多种模型,用于确定是否允许用户执行某项任务。vCenter Single Sign-On组中的组成员资格决定了允许您执行的操作。 您对某个对象具有的角色或全局权限决定了是否允许您执行其他任务。

授权概览

vSphere 允许有特权的用户授予其他用户执行任务的权限。可以使用全局权限,也可以使用本地 vCenter Server 权限以授权其他用户处理各个 vCenter Server 实例。

下图说明了全局权限和本地权限的工作方式。

图 1. 全局权限和本地权限
该图显示了全局权限和本地权限的工作方式。

在此图中:

  1. 您可以在根对象级别分配全局权限并选择“传播到子对象”。
  2. vCenter Server 将权限传播到环境中的 vCenter Server 1 和 vCenter Server 2 对象层次结构。
  3. vCenter Server 2 中根文件夹的本地权限会覆盖全局权限。
vCenter Server 权限

vCenter Server 系统的权限模型需要向对象层次结构中的对象分配权限。用户可通过以下方式获取权限。

  • 来自用户或用户所属组的特定权限
  • 来自对象的权限或通过父对象的权限继承

每种权限都会向一个用户或组授予一组特权,即选定对象的角色。您可以使用 vSphere Client 添加权限。例如,您可以右键单击虚拟机,选择添加权限,然后完成对话框,为一组用户分配角色。该角色授予这些用户对该虚拟机的相应特权。

图 2. 使用 vSphere Client 向虚拟机添加权限
右键单击虚拟机,然后选择“添加权限”以查看“添加权限”对话框。
全局权限
全局权限向用户和组提供查看或管理部署中解决方案的每个清单层次结构中所有对象的特权。也就是说,全局权限将应用于跨多个解决方案清单层次结构的全局根对象。(解决方案包括 vCenter Server、vRealize Orchestrator 等。)全局权限还将应用于全局对象,如标记和内容库。例如,考虑包含两个解决方案 ( vCenter Server 和 vRealize Orchestrator)的部署。您可以使用全局权限向一组用户分配角色,该用户组对 vCenter Server 和 vRealize Orchestrator 对象层次结构中的所有对象具有只读特权。
将跨 vCenter Single Sign-On 域(默认为 vsphere.local)复制全局权限。全局权限不会为通过 vCenter Single Sign-On 域组管理的服务提供授权。请参见 全局权限
vCenter Single Sign-On 组中的组成员资格
vCenter Single Sign-On域组的成员可以执行特定任务。 例如,如果您是 LicenseService.Administrators 组的成员,则可以执行许可证管理。请参见 《vSphere 身份验证》文档。
ESXi 本地主机权限
如果要管理不受 vCenter Server 系统管理的独立 ESXi 主机,则可以向用户分配其中一个预定义的角色。请参见 《vSphere 单台主机管理 - VMware Host Client》文档。
对于受管主机,请向 vCenter Server 清单中的 ESXi 主机对象分配角色。

了解对象级别权限模型

您授权用户或组使用对象上的权限在 vCenter Server 对象上执行任务。从编程角度来看,当用户尝试执行操作时,将执行 API 方法。vCenter Server 将检查该方法的权限,以查看用户是否有权执行操作。例如,当用户尝试添加主机时,会调用 AddStandaloneHost_Task 方法。此方法要求用户的角色具有主机.清单.添加独立主机特权。如果检查未找到此特权,则用户添加主机的权限将被拒绝。

以下概念非常重要。

权限
vCenter Server 对象层次结构中的每个对象都具有关联的权限。每个权限为一个组或用户指定该组或用户具有对象的哪些特权。权限可以传播到子对象。
用户和组
vCenter Server 系统中,可以仅向经过身份验证的用户或经过身份验证的用户组分配特权。用户通过 vCenter Single Sign-On 进行身份验证。必须在 vCenter Single Sign-On 用于进行身份验证的标识源中定义用户和组。使用您的标识源(例如 Active Directory)中的工具定义用户和组。
特权
特权是精细的访问控制。可以将这些特权分组到角色中,然后可以将其映射到用户或组。
角色
角色是指一组特权。角色允许您基于用户执行的一系列典型任务分配对对象的权限。系统角色(例如管理员)已在 vCenter Server 中预定义,不能更改。 vCenter Server 还提供了一些可以修改的默认示例角色,例如,资源池管理员。可以从头开始或者通过克隆和修改样本角色创建自定义角色。 请参见创建 vCenter Server 自定义角色

下图说明了如何根据特权和角色构造权限,以及如何将权限分配给 vSphere 对象的用户或组。

图 3. vSphere 权限
一种角色中组合了多种特权。角色将分配给用户或组。
要向对象分配权限,请执行以下步骤:
  1. vCenter Server 对象层次结构中选择要应用权限的对象。
  2. 选择应对该对象具有特权的组或用户。
  3. 选择组或用户针对该对象应具有的各种特权或某个角色(即一组特权)。

    默认情况下,未选择“传播到子对象”。必须选中该复选框,组或用户才能具有选定对象及其子对象的选定角色。

vCenter Server 提供合并了常用权限集的示例角色。也可通过合并一组角色创建自定义角色。

通常,必须同时定义对源对象和目标对象的权限。例如,如果要移动虚拟机,您需要针对该虚拟机的特权,同时还需要针对目标数据中心的特权。

请参见下面的信息。
要了解... 请参见...
创建自定义角色。 创建 vCenter Server 自定义角色
所有特权以及可对其应用特权的对象 定义的特权
对不同对象执行不同任务所需的特权集。 常见任务的所需特权
独立 ESXi 主机的权限模型比较简单。请参见 为 ESXi 主机分配特权

vCenter Server 用户验证

使用目录服务的 vCenter Server 系统将根据用户目录域定期验证用户和组。验证将根据 vCenter Server 设置中指定的固定时间间隔执行。例如,假设为用户 Smith 分配了对多个对象的角色,域管理员将该名称更改为 Smith2,下次进行验证时主机会认为 Smith 已不存在,并从 vSphere 对象中移除与该用户关联的权限。

同样,如果将用户 Smith 从域中移除,则在下次验证发生时与该用户关联的所有权限都将被移除。如果在下次验证之前将新用户 Smith 添加到域,新用户 Smith 会接替旧用户 Smith 获得对任意对象的权限。