克隆的加密虚拟机使用相同的密钥进行加密,除非您更改密钥。要更改密钥,可以使用 vSphere Client、PowerCLI 或 API。如果使用 PowerCLI 或 API,则可以在一个步骤中克隆加密的虚拟机并更改密钥。

可以在克隆期间执行以下操作。

  • 从未加密的虚拟机或模板虚拟机创建加密虚拟机。
  • 从加密虚拟机或模板虚拟机创建解密虚拟机。
  • 使用不同于源虚拟机的密钥重新加密目标虚拟机。
  • 在 vSphere 8.0 及更高版本中,对具有 vTPM 的虚拟机选择替换选项时,会以新的空白 vTPM 开始,该 vTPM 将获得自己的密钥和身份。
注: vSphere 8.0 及更高版本包含 vpxd.clone.tpmProvisionPolicy 高级设置,可将 vTPM 的默认克隆行为设置为“替换”。

可以从加密虚拟机创建即时克隆虚拟机,但需注意,即时克隆与源虚拟机共享相同的密钥。无法重新加密源虚拟机或即时克隆虚拟机上的密钥。

要使用 API 克隆加密计算机,请参见《vSphere Web Services SDK 编程指南》

前提条件

  • 必须配置并启用密钥提供程序。
  • 创建加密存储策略,或使用捆绑的示例,虚拟机加密策略。
  • 所需特权(适用于所有密钥提供程序):
    • 加密操作.克隆
    • 加密操作.加密
    • 加密操作.解密
    • 加密操作.重新加密
    • 如果未启用主机加密模式,还必须拥有 加密操作.注册主机 特权。

过程

  1. vSphere Client 清单中,浏览到虚拟机。
  2. 要创建加密虚拟机的克隆,请右键单击虚拟机,选择克隆 > 克隆到虚拟机,并按照提示操作。
    1. 选择名称和文件夹页面中,指定一个名称,然后选择克隆的目标位置。
    2. 选择计算资源页面上,指定您拥有特权的对象。
    3. (可选) 更改克隆的 vTPM 的密钥。
      图 1. 选择 TPM 置备策略
      此屏幕截图显示了克隆具有 vTPM 的虚拟机时 TPM 置备策略的选择。
      克隆虚拟机会复制整个虚拟机,包括 vTPM 及其密钥,可用于确定系统的身份。要更改 vTPM 上的密钥,请对 TPM 置备策略选择 替换
      注: 替换 vTPM 的密钥时,将替换所有密钥,包括工作负载相关密钥。最佳做法是,在替换密钥之前,确保工作负载不再使用 vTPM。否则,克隆的虚拟机中的工作负载可能无法正常运行。
    4. 选择存储页面中,选择一个数据存储。可以在克隆操作过程中更改存储策略。例如,从使用加密策略更改为使用非加密策略会对磁盘进行解密。
    5. 选择克隆选项页面上,选择克隆选项,如《vSphere 虚拟机管理》文档中所述。
    6. 即将完成页面上,检查信息并单击完成
  3. (可选) 更改克隆虚拟机的密钥。
    默认情况下,使用与父虚拟机相同的密钥来创建克隆虚拟机。最佳做法是更改克隆虚拟机的密钥,以确保多个虚拟机没有相同的密钥。
    1. 确定执行浅层重新加密还是深层重新加密。
      要使用不同的 DEK 和 KEK,请对克隆虚拟机执行深层重新加密。要使用不同的 KEK,请对克隆虚拟机执行浅层重新加密。要执行深层重新加密,必须关闭虚拟机电源。虚拟机打开电源时,如果虚拟机中存在快照,可以执行浅层重新加密操作。仅允许在单个快照分支(磁盘链)上对具有快照的加密虚拟机执行浅层重新加密。不支持多个快照分支。如果浅层重新加密在使用新 KEK 更新链中的所有链接之前失败,则仍然可以访问加密虚拟机(如果具有新旧 KEK)。
    2. 使用 API 对克隆执行重新加密。请参见《vSphere Web Services SDK 编程指南》