您可以從 ESXi 主機匯出 TPM 簽署金鑰 (EK) 憑證,然後將其匯入至 vSphere Trust Authority 叢集。當您想要信任受信任叢集中的個別 ESXi 主機時,請執行此動作。

若要將 TPM EK 憑證匯入至 Trust Authority 叢集中,必須變更 Trust Authority 叢集的預設證明類型以接受 EK 憑證。預設證明類型接受 TPM 憑證授權機構 (CA) 憑證。某些 TPM 不包含 EK 憑證。如果您想要信任個別 ESXi 主機,TPM 必須包含 EK 憑證。

備註: 將匯出的 EK 憑證檔案儲存在安全的位置,以防您必須還原 vSphere Trust Authority 組態。

必要條件

程序

  1. 確保以 Trust Authority 管理員身分連線至 Trust Authority 叢集的 vCenter Server
    例如,您可以輸入 $global:defaultviservers 來顯示所有已連線的伺服器。
  2. (選擇性) 如有必要,您可以執行下列命令,以確保您已連線至 Trust Authority 叢集的 vCenter Server
    Disconnect-VIServer -server * -Confirm:$false
    Connect-VIServer -server TrustAuthorityCluster_VC_ip_address -User trust_admin_user -Password 'password'
  3. 變更 Trust Authority 叢集的證明類型:
    1. 執行 Get-TrustAuthorityCluster cmdlet,以顯示此 vCenter Server 管理的叢集。
      Get-TrustAuthorityCluster
      叢集隨即顯示。
    2. Get-TrustAuthorityCluster 資訊指派給變數。
      例如,此命令會將名為 vTA Cluster 的叢集指派給變數 $vTA
      $vTA = Get-TrustAuthorityCluster 'vTA Cluster'
    3. Get-TrustAuthorityTpm2AttestationSettings 資訊指派給變數。
      例如,此命令會將資訊指派給變數 $tpm2Settings
      $tpm2Settings = Get-TrustAuthorityTpm2AttestationSettings -TrustAuthorityCluster $vTA
    4. 執行 Set-TrustAuthorityTpm2AttestationSettings cmdlet,以指定 RequireEndorsementKey 和/或 RequireCertificateValidation
      例如,此命令會指定 RequireEndorsementKey
      Set-TrustAuthorityTpm2AttestationSettings -Tpm2AttestationSettings $tpm2Settings -RequireEndorsementKey
      系統會使用類似下列內容的確認提示進行回應。
      Confirmation
      Configure the Tpm2AttestationSettings 'TrustAuthorityTpm2AttestationSettings-domain-c8' with the following parameters:
       RequireCertificateValidation: False
       RequireEndorsementKey: True
      [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
    5. 出現確認提示時按 Enter。(預設值為 Y。)
      輸出針對指定的設定顯示狀態為 True。例如,此狀態顯示 [需要簽署金鑰] 為 True,[需要憑證驗證] 為 False。
      Name                                     RequireEndorsementKey          RequireCertificateValidation   Health
      ----                                     ---------------------          ----------------------------   ------
      TrustAuthorityTpm2AttestationSettings... True                           False                          Ok
  4. 匯出 TPM EK 憑證:
    1. 與 Trust Authority 叢集的 vCenter Server 中斷連線。
      Disconnect-VIServer -server * -Confirm:$false
      
    2. 執行 Connect-VIServer cmdlet,以根使用者身分連線至受信任叢集中的其中一個 ESXi 主機。
      Connect-VIServer -server host_ip_address -User root -Password 'password'
    3. 執行 Get-VMHost cmdlet 以確認 ESXi 主機。
      Get-VMHost
      隨即顯示主機資訊。
    4. Get-VMHost 指派給變數。
      例如:
      $vmhost = Get-VMHost
    5. 執行 Export-Tpm2EndorsementKey cmdlet 以匯出 ESXi 主機的 EK 憑證。
      例如,此命令會將 EK 憑證匯出至 tpm2ek.json 檔案。
      Export-Tpm2EndorsementKey -VMHost $vmhost -FilePath C:\vta\tpm2ek.json
      隨即建立該檔案。
  5. 匯入 TPM EK:
    1. 與受信任叢集中的 ESXi 主機中斷連線。
      Disconnect-VIServer -server * -Confirm:$false
      
    2. 使用 Trust Authority 管理員使用者連線至 Trust Authority 叢集的 vCenter Server
      Connect-VIServer -server TrustAuthorityCluster_VC_ip_address -User trust_admin_user -Password 'password'
    3. 執行 Get-TrustAuthorityCluster cmdlet。
      Get-TrustAuthorityCluster
      隨即顯示 Trust Authority 叢集中的叢集。
    4. Get-TrustAuthorityClustercluster' 資訊指派給變數。
      例如,此命令會將叢集 vTA Cluster 的資訊指派給變數 $vTA
      $vTA = Get-TrustAuthorityCluster ‘vTA Cluster’
    5. 執行 New-TrustAuthorityTpm2EndorsementKey cmdlet。
      例如,此命令使用先前在步驟 4 中匯出的 tpm2ek.json 檔案。
      New-TrustAuthorityTpm2EndorsementKey -TrustAuthorityCluster $vTA -FilePath C:\vta\tpm2ek.json
      此時會顯示已匯入的簽署金鑰資訊。

結果

Trust Authority 叢集的證明類型已變更為接受 EK 憑證。EK 憑證會從受信任叢集中匯出並匯入至 Trust Authority 叢集。

範例: 匯出和匯入 TPM EK 憑證

此範例顯示如何使用 PowerCLI 將 Trust Authority 叢集的預設證明類型變更為接受 EK 憑證,從受信任叢集中的 ESXi 主機匯出 TPM EK 憑證,然後將其匯入至 Trust Authority 叢集。下表顯示了所使用的範例元件和值。

表 1. vSphere Trust Authority 設定範例
元件
Trust Authority 叢集的 vCenter Server 192.168.210.22
變數 $vTA Get-TrustAuthorityCluster 'vTA Cluster'
變數 $tpm2Settings Get-TrustAuthorityTpm2AttestationSettings -TrustAuthorityCluster $vTA
變數 $vmhost Get-VMHost
受信任叢集中的 ESXi 主機 192.168.110.51
Trust Authority 管理員 [email protected]
包含輸出檔案的本機目錄 C:\vta
PS C:\Users\Administrator> Connect-VIServer -server 192.168.210.22 -User [email protected] -Password 'VMware1!'

Name                           Port  User
----                           ----  ----
192.168.210.22                 443   VSPHERE.LOCAL\TrustedAdmin

PS C:\Users\Administrator> Get-TrustAuthorityCluster

Name                 State                Id
----                 -----                --
vTA Cluster          Enabled              TrustAuthorityCluster-domain-c8

PS C:\Users\Administrator> $vTA = Get-TrustAuthorityCluster 'vTA Cluster'

PS C:\Users\Administrator> $tpm2Settings = Get-TrustAuthorityTpm2AttestationSettings -TrustAuthorityCluster $vTA

PS C:\Users\Administrator> Set-TrustAuthorityTpm2AttestationSettings -Tpm2AttestationSettings $tpm2Settings -RequireEndorsementKey

Confirmation
Configure the Tpm2AttestationSettings 'TrustAuthorityTpm2AttestationSettings-domain-c8' with the following parameters:
 RequireCertificateValidation: False
 RequireEndorsementKey: True
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y

Name                                     RequireEndorsementKey          RequireCertificateValidation   Health
----                                     ---------------------          ----------------------------   ------
TrustAuthorityTpm2AttestationSettings... True                           False                          Ok

PS C:\Users\Administrator> Disconnect-VIServer -server * -Confirm:$false
PS C:\Users\Administrator> Connect-VIServer -server 192.168.110.51 -User root -Password 'VMware1!'

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

PS C:\Users\Administrator> Get-VMHost

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

PS C:\Users\Administrator> $vmhost = Get-VMHost
PS C:\Users\Administrator> Export-Tpm2EndorsementKey -VMHost $vmhost -FilePath C:\vta\tpm2ek.json

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        12/3/2019  10:16 PM           2391 tpm2ek.json

PS C:\Users\Administrator> Disconnect-VIServer -server * -Confirm:$false
PS C:\Users\Administrator> Connect-VIServer -server 192.168.210.22 -User [email protected] -Password 'VMware1!'

Name                           Port  User
----                           ----  ----
192.168.210.22                 443   VSPHERE.LOCAL\TrustedAdmin

PS C:\Users\Administrator> Get-TrustAuthorityCluster

Name                 State                Id
----                 -----                --
vTA Cluster          Enabled              TrustAuthorityCluster-domain-c8

PS C:\Users\Administrator> $vTA = Get-TrustAuthorityCluster ‘vTA Cluster’
PS C:\Users\Administrator> New-TrustAuthorityTpm2EndorsementKey -TrustAuthorityCluster $vTA -FilePath C:\vta\tpm2ek.json

TrustAuthorityClusterId                  Name                                     Health
-----------------------                  ----                                     ------
TrustAuthorityCluster-domain-c8          1a520e42-4db8-1cbb-6dd7-f493fd921ccb     Ok

下一步

繼續將受信任主機資訊匯入至 Trust Authority 叢集