5.3 在 VMware 上设置 Protect 多租户

PlateSpin Protect 中包含一些独特的用户角色(以及一个用于在 VMware 数据中心内创建这些角色的工具),这些角色可让非管理级别的 VMware 用户(或“支持用户”)在 VMware 环境下执行 Protect 生命周期操作。这些角色可让您这样的服务提供商对 VMware 群集进行分段以支持多租户功能。即,您的数据中心内可实例化多个 Protect 容器来容纳不同的 Protect 客户或“租户”,方便这些客户或租户将其数据和存在痕迹与其他也在使用该数据中心的客户分开存放,并确保其他客户无法访问。

本节包含下列信息:

5.3.1 使用工具定义 VMware 角色

PlateSpin Protect 需要某些特权才能访问和执行 VMware 基础架构(即 VMware“容器”)中的任务,以使 Protect 工作流程和功能可在该环境下正常工作。由于需要的特权有很多,NetIQ 创建了一个文件来定义最少需要的特权,并将这些特权分别归入三种 VMware 自定义角色:

  • PlateSpin 虚拟机管理员

  • PlateSpin 基础架构管理员

  • PlateSpin 用户

此定义文件 (PlateSpinRole.xml) 包含在 PlateSpin Protect 服务器安装中。随附的可执行文件 (PlateSpin.VMwareRoleTool.exe) 会访问该文件,以便系统能在目标 vCenter 环境下创建这些自定义 PlateSpin 角色。

本节包含下列信息:

基本命令行语法

在命令行中,使用以下基本语法从角色工具的安装位置运行该工具:

PlateSpin.VMwareRoleTool.exe /host=[host name/IP] /user=[user name] /role=[the role definition file name and location] /create

注:默认情况下,角色定义文件与角色定义工具位于同一文件夹。

其他命令行参数和标志

使用 PlateSpin.VMwareRoleTool.exe 在 vCenter 中创建或更新角色时,可视需要应用以下参数:

/create

(强制)创建由 /role 参数定义的角色

/get_all_prvileges

显示所有服务器定义的特权

 

可选标志

/interactive

使用可让您选择创建单个角色、检查角色兼容性或列出所有兼容角色的 interactive 选项运行工具。

/password=[密码]

提供 VMware 密码(绕过密码提示)

/verbose

显示详细信息

工具用法示例

用法PlateSpin.VMwareRoleTool.exe /host=houston_sales /user=pedrom /role=PlateSpinRole.xml /create

产生的操作:

  1. 角色定义工具在 houston_sales vCenter Server 上运行,其上有一个用户名为 pedrom 的管理员。

  2. 由于缺少 /password 参数,该工具会提示您输入用户密码。

  3. 该工具会访问角色定义文件 (PlateSpinRole.xml),该文件与工具可执行文件位于同一目录下,因此上面的命令中无需进一步定义其路径。

  4. 该工具会查找该定义文件,并被指示 (/create) 在 vCenter 环境中创建该文件的内容中定义的角色。

  5. 该工具会访问定义文件,并在 vCenter 内创建新角色(包括针对所定义的受限访问的适当最少特权)。

    这些新的自定义角色将于稍后在 vCenter 中被指派给用户

(可选)在 vCenter 中手动定义 PlateSpin 角色

您可以使用 vCenter 客户端手动创建并指派 PlateSpin 自定义角色。这需要创建具有如 PlateSpinRole.xml 中所定义的枚举特权的角色。手动创建角色时,角色的名称没有限制。唯一的限制就是,您创建的与定义文件中的角色名称相同的角色名称必须拥有定义文件中的所有适当最少特权。

有关如何在 vCenter 中创建自定义角色的详细信息,请参见 VMware 技术资源中心内的Managing VMWare VirtualCenter Roles and Permissions(管理 VMWare VirtualCenter 角色和许可权限)

5.3.2 在 vCenter 中指派角色

设置多租户环境时,您需要为每个客户或“租户”配置一个 Protect 服务器。您需为此 Protect 服务器指派一个拥有特定 Protect VMware 角色的支持用户。此支持用户将创建 Protect 容器。作为服务提供商,您需要维护此用户的身份凭证,并且不能将其透露给您的租户客户。

下表列出您需要为支持用户定义的角色。表中还包含有关角色用途的详细信息:

用于角色指派的 vCenter 容器

角色指派详细说明

传播指导

更多信息

vCenter 库存树的根。

为支持用户指派 PlateSpin 基础架构管理员(或同等)角色。

出于安全考虑,请将许可权限定义为不具传播性。

若要监视 Protect 软件正在执行的任务以及结束任何过时的 VMware 会话,则需要此角色。

支持用户需要进行访问的所有数据中心对象

为支持用户指派 PlateSpin 基础架构管理员(或同等)角色。

出于安全考虑,请将许可权限定义为不具传播性。

若要访问数据中心的数据储存以上载/下载文件,则需要此角色。

将许可权限定义为不具传播性。

每个要作为容器添加到 Protect 的群集,以及群集中包含的各个主机

为支持用户指派 PlateSpin 基础架构管理员(或同等)角色。

是否具有传播性由 VMware 管理员决定。

要指派给某个主机,请传播群集对象的许可权限或另外创建一个针对各个群集主机的许可权限。

如果针对群集对象指派角色并进行传播,则向群集添加新主机时无需做进一步更改。不过,传播此许可权限存在安全隐患。

支持用户需要进行访问的各个资源池。

为支持用户指派 PlateSpin 虚拟机管理员(或同等)角色。

是否具有传播性由 VMware 管理员决定。

尽管您可以指派对树中任意位置上任意数量资源池的访问权限,但仍必须至少在一个资源池上为支持用户指派此角色。

支持用户需要进行访问的各个虚拟机文件夹

为支持用户指派 PlateSpin 虚拟机管理员(或同等)角色。

是否具有传播性由 VMware 管理员决定。

尽管您可以指派对树中任意位置上任意数量虚拟机文件夹的访问权限,但仍必须至少在一个文件夹上为支持用户指派此角色。

支持用户需要进行访问的各个网络。

拥有 dvSwitch(分布式虚拟交换机)和 dvPortgroup(分布式虚拟端口组)的分布式虚拟网络

为支持用户指派 PlateSpin 虚拟机管理员(或同等)角色。

是否具有传播性由 VMware 管理员决定。

尽管您可以指派对树中任意位置上任意数量网络的访问权限,但仍必须至少在一个网络上为支持用户指派此角色。

  • 要为 dvSwitch 指派正确的角色,请在数据中心中传播角色(这会使得其他对象接收该角色),或将 dvSwitch 放置在文件夹中并对该文件夹指派角色。

  • 对于将在 Protect UI 中显示为可用网络的标准端口组,请在群集中的每个主机上为其创建定义。

支持用户需要进行访问的各个数据储存和数据储存群集

为支持用户指派 PlateSpin 虚拟机管理员(或同等)角色。

是否具有传播性由 VMware 管理员决定。

必须至少已在一个数据储存或数据储存群集中为支持用户指派此角色。

对于数据储存群集,许可权限必须传播至包含的数据储存。若不为群集的单个成员提供访问权限会导致准备和完整复制失败

下表显示您可以指派给客户或租户用户的角色。

用于角色指派的 vCenter 容器

角色指派详细说明

传播指导

更多信息

将在其中创建客户虚拟机的各个资源池和文件夹。

为租户用户指派 PlateSpin 用户(或同等)角色。

是否具有传播性由 VMware 管理员决定。

此租户是 PlateSpin Protect 服务器上(同时也是 vCenter Server 上)PlateSpin 管理员组的成员。

如果该租户将被授予更改虚拟机所用资源(即网络、ISO 映像等)的能力,请为此用户授予针对这些资源的必要权限。例如,如果要允许客户更改其虚拟机所连接的网络,应为该用户指派针对客户可访问的所有网络的只读角色(或更高角色)。

下图显示了 vCenter 控制台中的虚拟基础架构。标为蓝色的对象会被指派基础架构管理员角色。标为绿色的对象会被指派虚拟机管理员角色。树中未显示虚拟机文件夹、网络和数据储存。这些对象会被指派 PlateSpin 虚拟机管理员角色。

图 5-1 vCenter 中指派的角色

指派 VMware 角色的安全隐患

PlateSpin 软件仅使用支持用户来执行保护生命周期操作。从服务提供商的角度来看,最终用户绝无可能访问支持用户的身份凭证,也不能访问同一组 VMware 资源。在多个 Protect 服务器配置为使用相同 vCenter 环境的环境中,Protect 可防止出现跨客户端访问的情况。主要的安全隐患包括:

  • 如果将 PlateSpin 基础架构管理员角色指派给 vCenter 对象,每个支持用户都可以查看(但不会影响)其他各个用户执行的任务。

  • 这是因为无法设置对数据储存文件夹/子文件夹的许可权限,因而拥有某个数据储存许可权限的所有支持用户就都可以访问储存在该数据储存上的其他所有支持用户的磁盘。

  • 如果将 PlateSpin 基础架构管理员角色指派给群集对象,每一个支持用户都可以关闭/打开针对整个群集的 HA 或 DRS

  • 如果在储存群集对象级别指派 PlateSpin 用户角色,每一个支持用户都可以为整个群集关闭/打开 SDRS

  • 如果针对 DRS 群集对象设置 PlateSpin 基础架构管理员角色并传播此角色,支持用户将可查看放置在默认资源池和/或默认虚拟机文件夹中的所有虚拟机。此外,设置传播时,还需要管理员针对支持用户不应访问的每个资源池/虚拟机文件夹,为其明确设置“无访问权限”角色。

  • 如果针对 vCenter 对象设置 PlateSpin 基础架构管理员角色,支持用户将可结束其他任何连接到 vCenter 的用户的会话。

注:请注意,在这些情况下,不同的支持用户实际上就是 PlateSpin 软件的不同实例。