要建立信任,vSphere Trust Authority 集群需要有关受信任集群的 ESXi 主机和 vCenter Server 的信息。可以将此信息导出为文件,以便导入到 Trust Authority 集群中。您必须保证这些文件的机密性,并安全地进行传输。

可以使用 vSphere Trust Authority PowerCLI cmdlet 将受信任集群中 ESXi 主机的以下信息导出为文件,以便 Trust Authority 集群了解要信任的软件和硬件。

  • ESXi 版本
  • TPM 制造商(CA 证书)
  • (可选)单个 TPM (EK 证书)
注: 请将这些导出的文件存储在安全位置,以防必须还原 vSphere Trust Authority 配置。

如果您的主机具有相同的类型和供应商,并且制造时间和地点也相同,则能够通过仅获取其中一个 TPM 的 CA 证书来信任所有 TPM。要信任单个 TPM,需要获取该 TPM 的 EK 证书。

还必须从受信任集群的 vCenter Server 中获取主体信息。主体信息包含 vpxd 解决方案用户及其证书链。通过主体信息,受信任集群的 vCenter Server 能够发现 Trust Authority 集群上配置的可用可信密钥提供程序。

要最初配置 vSphere Trust Authority,必须收集 ESXi 版本和 TPM 信息。此外,每次部署新版本的 ESXi 后(包括升级或应用修补程序时),也都必须收集 ESXi 版本。

每个 vCenter Server 系统仅收集一次 vCenter Server 主体信息。

前提条件

  • 确定受信任集群中的 ESXi 版本和 TPM 硬件类型,以及是要信任所有 TPM 硬件类型、仅某些 TPM 硬件类型还是单个主机。
  • 在运行 PowerCLI cmdlet 的计算机上,创建一个本地文件夹,用于保存导出为文件的信息。
  • 启用 Trust Authority 管理员.
  • 启用 Trust Authority 状态.

过程

  1. 在 PowerCLI 会话中,运行以下命令,断开任何当前连接,并以 root 用户身份连接到受信任集群中的某个 ESXi 主机。
    Disconnect-VIServer -server * -Confirm:$false
    Connect-VIServer -server host_ip_address -User root -Password 'password'
  2. 运行 Get-VMHost cmdlet 以确认 ESXi 主机。
    Get-VMHost
    此时将显示主机信息。
  3. Get-VMHost 分配给变量。
    例如:
    $vmhost = Get-VMHost
  4. 运行 Export-Tpm2CACertificate cmdlet 以导出给定 TPM 制造商的 CA 证书。
    1. Get-Tpm2EndorsementKey -VMHost $vmhost 分配给变量。
      例如,以下命令将 Get-Tpm2EndorsementKey -VMHost $vmhost 分配给变量 $tpm2
      $tpm2 = Get-Tpm2EndorsementKey -VMHost $vmhost
    2. 运行 Export-Tpm2CACertificate cmdlet。
      例如,以下命令将 TPM 证书导出到 cacert.zip 文件。运行以下命令之前,请确保目标目录已存在。
      Export-Tpm2CACertificate -Tpm2EndorsementKey $tpm2 -FilePath C:\vta\cacert.zip
      将创建此文件。
    3. 对要信任集群中的每个 TPM 硬件类型重复此操作。请对每个 TMP 硬件类型使用不同的文件名,以便不会覆盖以前导出的文件。
  5. 运行 Export-VMHostImageDb cmdlet 以导出软件(ESXi 映像)的 ESXi 主机描述。
    例如,以下命令将信息导出到 image.tgz 文件。运行以下命令之前,请确保目标目录已存在。
    Export-VMHostImageDb -VMHost $vmhost -FilePath C:\vta\image.tgz
    注: 如果希望登录到受信任集群的 vCenter ServerExport-VMHostImageDb cmdlet 也会起作用。
    将创建此文件。

    对要信任集群中的每个 ESXi 版本重复此操作。请对每个版本使用不同的文件名,以便不会覆盖以前导出的文件。

  6. 导出受信任集群的 vCenter Server 主体信息。
    1. ESXi 主机断开连接。
      Disconnect-VIServer -server * -Confirm:$false
    2. 使用 Trust Authority 管理员用户连接到受信任集群的 vCenter Server。(或者,也可以使用具有管理员特权的用户。)
      Connect-VIServer -server TrustedCluster_VC_ip_address -User trust_admin_user -Password 'password'
    3. 要导出受信任集群的 vCenter Server 主体信息,请运行 Export-TrustedPrincipal cmdlet。
      例如,以下命令将信息导出到 principal.json 文件。运行以下命令之前,请确保目标目录已存在。
      Export-TrustedPrincipal -FilePath C:\vta\principal.json
      将创建此文件。
  7. (可选) 如果要信任单个主机,必须导出 TPM EK 公钥证书。

结果

将创建以下文件:

  • TPM CA 证书文件(.zip 文件扩展名)
  • ESXi 映像文件(.tgz 文件扩展名)
  • vCenter Server 主体文件(.json 文件扩展名)

示例: 收集有关要信任的 ESXi 主机和 vCenter Server 的信息

以下示例显示了如何使用 PowerCLI 导出 ESXi 主机信息和 vCenter Server 主体。下表显示了所使用的示例组件和值。

表 1. vSphere Trust Authority 设置示例
组件
受信任集群中的 ESXi 主机 192.168.110.51
受信任集群的 vCenter Server 192.168.110.22
变量 $vmhost Get-VMHost
变量 $tpm2 Get-Tpm2EndorsementKey -VMHost $vmhost
Trust Authority 管理员 trustedadmin@vsphere.local
包含输出文件的本地目录 C:\vta
PS C:\Users\Administrator.CORP> Connect-VIServer -server 192.168.110.51 -User root -Password 'VMware1!'

Name                           Port  User
----                           ----  ----
192.168.110.51                  443  root

PS C:\Users\Administrator.CORP> Get-VMHost

Name               ConnectionState PowerState NumCpu CpuUsageMhz CpuTotalMhz MemoryUsageGB MemoryTotalGB Version
----               --------------- ---------- ------ ----------- ----------- ------------- ------------- -------
192.168.110.51     Connected       PoweredOn       4         200        9576         1.614         7.999   7.0.0

PS C:\Users\Administrator.CORP> $vmhost = Get-VMHost
PS C:\Users\Administrator.CORP> $tpm2 = Get-Tpm2EndorsementKey -VMHost $vmhost
PS C:\> Export-Tpm2CACertificate -Tpm2EndorsementKey $tpm2 -FilePath C:\vta\cacert.zip

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        10/8/2019   6:55 PM           1004 cacert.zip

PS C:\Users\Administrator.CORP> Export-VMHostImageDb -VMHost $vmhost -FilePath C:\vta\image.tgz

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         10/8/2019  11:02 PM          2391 image.tgz

PS C:\Users\Administrator.CORP> Disconnect-VIServer -server * -Confirm:$false
PS C:\Users\Administrator.CORP> Connect-VIServer -server 192.168.110.22 -User trustedadmin@vsphere.local -Password 'VMware1!'

Name                           Port  User
----                           ----  ----
192.168.110.22                  443  VSPHERE.LOCAL\trustedadmin

PS C:\Users\Administrator.CORP> Export-TrustedPrincipal -FilePath C:\vta\principal.json

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         10/8/2019  11:14 PM           1873 principal.json

下一步做什么

继续将受信任主机信息导入到 Trust Authority 集群