4.2 在 VMware 上配置 PlateSpin Migrate 多租户

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

本节包含下列信息:

4.2.1 定义多租户的 VMware 角色

PlateSpin Migrate 需要某些特权才能访问和执行 VMware 基础架构(即 VMware“容器”)中的任务,以使 Migrate 工作流程和功能可在该环境下正常工作。PlateSpinRole.xml 文件定义需要的最低特权,并将其分别聚合到三个 VMware 自定义角色:

  • PlateSpin 虚拟机管理员

  • PlateSpin 基础架构管理员

  • PlateSpin 用户

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

默认情况下,角色定义文件 (PlateSpinRole.xml) 和角色定义工具 (PlateSpin.VMwareRoleTool.exe) 位于安装目录\PlateSpin Migrate Server\bin\VMwareRolesTool 文件夹中。

本节包含下列信息:

基本命令行语法

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

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

其他命令行参数和标志

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

/create

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

/get_all_privileges

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

/get_compatible_roles

显示与 /role 定义的角色兼容的所有角色

/check_role=[角色名称]

检查给定角色是否与 /role 定义的角色兼容

可选标志

/interactive

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

有关在交互模式下使用该工具的信息,请参见“Diagnosing VMware Role Based Permission Issues in PlateSpin Products”(在 PlateSpin 产品中诊断基于 VMware 角色的许可权限问题)

/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 中被指派给用户

有关使用该工具的信息,请参见“Diagnosing VMware Role Based Permission Issues in PlateSpin Products”(在 PlateSpin 产品中诊断基于 VMware 角色的许可权限问题)

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

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

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

使用 vCenter 查看 PlateSpin 自定义角色的权限

您可以使用 vCenter 客户端查看为 PlateSpin 自定义角色设置的最低权限。

  1. 在 vCenter 中选择一个自定义角色:

    • PlateSpin 虚拟机管理员

    • PlateSpin 基础架构管理员

    • PlateSpin 用户

  2. 单击 Edit(编辑)以在“Edit Role”(编辑角色)对话框中查看权限设置。

    例如,下图显示了为 PlateSpin 虚拟机管理员角色设置的一些权限。

4.2.2 在 vCenter 中指派角色

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

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

用于角色指派的 vCenter 容器

角色指派详细说明

传播指导

更多信息

vCenter 库存树的根。

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

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

如果要监视 Migrate 软件正在执行的任务以及结束任何过时的 VMware 会话,都需要具有此角色。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 需要在群集中的每个主机上为将在 Migrate UI 中显示为可用网络的标准端口组创建定义。

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

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

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

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

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

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

用于角色指派的 vCenter 容器

角色指派详细说明

传播指导

更多信息

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

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

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

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

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

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

图 4-1 vCenter 中指派的角色

指派 VMware 角色的安全隐患

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

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

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

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

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

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

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

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