ESXi ホストから TPM 承認キー (EK) 証明書をエクスポートして、vSphere 信頼機関 クラスタにインポートできます。この操作は、信頼済みクラスタ内の個々の ESXi ホストを信頼する必要がある場合に行います。

TPM EK 証明書を信頼機関クラスタにインポートするには、信頼機関クラスタのデフォルトの証明タイプを、EK 証明書を受け入れるように変更する必要があります。デフォルトの証明タイプは、TPM 認証局 (CA) 証明書を受け入れます。一部の TPM には EK 証明書が含まれていません。ESXi ホストを個別に信頼するには、TPM に EK 証明書が含まれている必要があります。

注: エクスポートされた EK 証明書ファイルは、 vSphere 信頼機関 構成をリストアする必要が発生した場合に備えて安全な場所に保管します。

前提条件

手順

  1. 信頼機関クラスタの vCenter Server に信頼機関の管理者として接続していることを確認します。
    たとえば、接続先のサーバをすべて表示するには $global:defaultviservers と入力します。
  2. (オプション) 必要に応じて次のコマンドを実行して、信頼機関クラスタの vCenter Server に接続していることを確認できます。
    Disconnect-VIServer -server * -Confirm:$false
    Connect-VIServer -server TrustAuthorityCluster_VC_ip_address -User trust_admin_user -Password 'パスワード'
  3. 信頼機関クラスタの証明タイプを変更するには、次の操作を行います。
    1. この vCenter Server によって管理されているクラスタを表示するは、Get-TrustAuthorityCluster コマンドレットを実行します。
      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 コマンドレットを実行して、RequireEndorsementKeyRequireCertificateValidation、または両方を指定します。
      たとえば、次のコマンドは 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 for Require Endorsement Key の場合は True、Require Certificate Validation の場合は False と表示されます。
      Name                                     RequireEndorsementKey          RequireCertificateValidation   Health
      ----                                     ---------------------          ----------------------------   ------
      TrustAuthorityTpm2AttestationSettings... True                           False                          Ok
  4. TPM EK 証明書をエクスポートするには、次の操作を行います。
    1. 信頼機関クラスタの vCenter Server から切断します。
      Disconnect-VIServer -server * -Confirm:$false
      
    2. Connect-VIServer コマンドレットを実行して、信頼済みクラスタ内の ESXi ホストの 1 台に root ユーザーとして接続します。
      Connect-VIServer -server host_ip_address -User root -Password 'password'
    3. Get-VMHost コマンドレットを実行して、ESXi ホストを確認します。
      Get-VMHost
      ホスト情報が表示されます。
    4. Get-VMHost を変数に割り当てます。
      例:
      $vmhost = Get-VMHost
    5. Export-Tpm2EndorsementKey コマンドレットを実行して、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. 信頼機関の管理者ユーザーを使用して、信頼機関クラスタの vCenter Server に接続します。
      Connect-VIServer -server TrustAuthorityCluster_VC_ip_address -User trust_admin_user -Password 'パスワード'
    3. Get-TrustAuthorityCluster コマンドレットを実行します。
      Get-TrustAuthorityCluster
      信頼機関クラスタ内のクラスタが表示されます。
    4. 変数に Get-TrustAuthorityCluster 'cluster' を割り当てます。
      たとえば、次のコマンドは変数 $vTA にクラスタ vTA Cluster の情報を割り当てます。
      $vTA = Get-TrustAuthorityCluster ‘vTA Cluster’
    5. New-TrustAuthorityTpm2EndorsementKey コマンドレットを実行します。
      たとえば、次のコマンドは、手順 4 で以前にエクスポートした tpm2ek.json ファイルを使用します。
      New-TrustAuthorityTpm2EndorsementKey -TrustAuthorityCluster $vTA -FilePath C:\vta\tpm2ek.json
      インポートされた承認キーの情報が表示されます。

結果

信頼機関クラスタの証明タイプが、EK 証明書を受け入れるように変更されます。EK 証明書が信頼済みクラスタからエクスポートされ、信頼機関クラスタにインポートされます。

例: TPM EK 証明書のエクスポートとインポート

この例では、PowerCLI を使用して信頼機関クラスタのデフォルトの証明タイプを変更し、EK 証明書を受け入れ、信頼済みクラスタの ESXi ホストから TPM EK 証明書をエクスポートして、信頼機関クラスタにインポートする方法を示します。次の表に、使用されるコンポーネントと値の例を示します。

表 1. vSphere 信頼機関 セットアップの例
コンポーネント
信頼機関クラスタの vCenter Server 192.168.210.22
変数 $vTA Get-TrustAuthorityCluster 'vTA Cluster'
変数 $tpm2Settings Get-TrustAuthorityTpm2AttestationSettings -TrustAuthorityCluster $vTA
変数 $vmhost Get-VMHost
信頼済みクラスタ内の ESXi ホスト 192.168.110.51
信頼機関管理者 [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

次のタスク

この後は信頼機関クラスタへの信頼済みホストの情報のインポートに続きます。