キー プロバイダ サービスをキー プロバイダに接続するには、信頼済みキー プロバイダを作成してから、vSphere 信頼機関 クラスタとキー サーバ (KMS) の間に信頼関係を設定する必要があります。KMIP 準拠のほとんどのキー サーバでは、この設定にはクライアント証明書とサーバ証明書の設定が含まれます。

vSphere 6.7 の「KMS クラスタ」は vSphere 7.0 以降では「キー プロバイダ」に改称されました。キー プロバイダの詳細については、vSphere 信頼機関 キー プロバイダ サービスについてを参照してください。

本番環境では、複数のキー プロバイダを作成できます。複数のキー プロバイダを作成することで、会社の組織、さまざまなビジネス ユニット、顧客などに基づいて展開の管理方法を決定できます。

これらのタスクを順番どおりに実行している場合、vSphere 信頼機関 クラスタの vCenter Server に接続されたままです。

前提条件

手順

  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 'password'
  3. 信頼済みキー プロバイダを作成するには、New-TrustAuthorityKeyProvider コマンドレットを実行します。
    たとえば、このコマンドは、PrimaryKeyID に 1 を使用し、名前に clkp を使用します。これらのタスクを順番どおりに実行している場合、 Get-TrustAuthorityCluster 情報を変数( $vTA = Get-TrustAuthorityCluster 'vTA Cluster' など)に割り当て済みです。
    New-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA -PrimaryKeyId 1 -Name clkp -KmipServerAddress ip_address
    通常、PrimaryKeyID は、キー サーバから取得された、UUID の形式のキー ID です。PrimaryKeyID にはキー名を使用しないでください。PrimaryKeyID の値は、ベンダーによって異なります。キー サーバのドキュメントを参照してください。 New-TrustAuthorityKeyProvider コマンドレットで、 KmipServerPortProxyAddressProxyPort などの他のオプションを使用できます。詳細については、 New-TrustAuthorityKeyProvider のヘルプ システムを参照してください。

    各論理キー プロバイダには、そのタイプ(標準、信頼済み、ネイティブの各キー プロバイダ)に関係なく、すべての vCenter Server システムで一意の名前が付いている必要があります。

    詳細については、『キー プロバイダの名前の指定』を参照してください。

    注: 複数のキー サーバをキー プロバイダに追加するには、 Add-TrustAuthorityKeyProviderServer コマンドレットを使用します。
    キー プロバイダの情報が表示されます。
  4. キー サーバが信頼済みキープロバイダを信頼するように、信頼された接続を確立します。実際のプロセスは、キー サーバが受け入れた証明書と企業ポリシーによって異なります。ご使用のサーバに適したオプションを選択し、該当する手順を終了します。
    オプション 詳細については、ドキュメントを参照してください。
    クライアント証明書のアップロード クライアント証明書をアップロードして、信頼済みキー プロバイダの信頼済み接続を確立する
    KMS 証明書およびプライベート キーのアップロード 証明書およびプライベート キーをアップロードして、信頼済みキー プロバイダの信頼済み接続を確立する
    新規証明書署名要求 証明書署名リクエストを作成して、信頼済みキー プロバイダの信頼済み接続を確立する
  5. キー サーバ証明書をアップロードし、信頼済みキー プロバイダがキー サーバを信頼するように設定して、信頼関係の設定を終了します。
    1. Get-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA 情報を変数に割り当てます。
      例:
      $kp = Get-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA

      この変数は、指定された信頼機関クラスタ内の信頼済みキー プロバイダ(この場合は $vTA)を取得します。

      注: 信頼済みキー プロバイダが複数ある場合は、次のようなコマンドを使用して、必要なものを選択します。
      Get-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA
      <The trusted key providers listing is displayed.>
      $kp = Get-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA | Select-Object -Last 1
      

      Select-Object -Last 1 を使用すると、リスト内の最後の信頼済みキー プロバイダが選択されます。

    2. キー サーバ証明書を取得するには、Get-TrustAuthorityKeyProviderServerCertificate コマンドを実行します。
      例:
      Get-TrustAuthorityKeyProviderServerCertificate -KeyProviderServer $kp.KeyProviderServers
      サーバ証明書の情報が表示されます。初期状態では、証明書は信頼されていないため [信頼済み] 状態は False です。複数のキー サーバが設定されている場合は、証明書のリストが返されます。次の手順を使用して、各証明書を確認して追加します。
    3. 証明書を信頼する前に、Get-TrustAuthorityKeyProviderServerCertificate -KeyProviderServer $kp.KeyProviderServers の情報を変数に割り当て(たとえば、cert)、$cert.Certificate.ToString() コマンドを実行して出力を確認します。
      例:
      $cert = Get-TrustAuthorityKeyProviderServerCertificate -KeyProviderServer $kp.KeyProviderServers
      $cert.Certificate.ToString()
      件名、発行者などの情報を含む、証明書の情報が表示されます。
    4. KMIP サーバ証明書を信頼済みキー プロバイダに追加するには、Add-TrustAuthorityKeyProviderServerCertificate を実行します。
      例:
      Add-TrustAuthorityKeyProviderServerCertificate -ServerCertificate $cert
      
      証明書情報が表示され、[信頼済み] 状態が True になっています。
  6. キー プロバイダのステータスを確認します。
    1. キー プロバイダのステータスを更新するには、$kp 変数を再度割り当てます。
      例:
      $kp = Get-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA
      注: 信頼済みキー プロバイダが複数ある場合は、次のようなコマンドを使用して、必要なものを選択します。
      Get-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA
      <The trusted key providers listing is displayed.>
      $kp = Get-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA | Select-Object -Last 1
      

      Select-Object -Last 1 を使用すると、リスト内の最後の信頼済みキー プロバイダが選択されます。

    2. $kp.Status コマンドを実行して、キー プロバイダのステータスを取得します。
      例:
      $kp.Status
      注: ステータスが更新されるまでに数分間かかることがあります。ステータスを表示するには、 $kp 変数を再度割り当てて、 $kp.Status コマンドを再実行します。
    健全性ステータスが [OK] の場合、キー プロバイダが正しく実行されていることを示しています。

結果

信頼済みキー プロバイダが作成され、キー サーバとの信頼が確立されました。

例: 信頼機関クラスタでのキー プロバイダの作成

この例では、PowerCLI を使用して信頼済みキー プロバイダを信頼機関クラスタに作成する方法を示します。ここでは、信頼機関の管理者として信頼機関クラスタの vCenter Server に接続していることを前提としています。また、CSR をベンダーに送信した後、キー サーバ ベンダーによって署名された証明書も使用します。

次の表に、使用されるコンポーネントと値の例を示します。

表 1. vSphere 信頼機関 セットアップの例
コンポーネント
変数 $vTA Get-TrustAuthorityCluster 'vTA Cluster'
変数 $kp Get-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA
変数 $cert Get-TrustAuthorityKeyProviderServerCertificate -KeyProviderServer $kp.KeyProviderServers
信頼機関クラスタの vCenter Server 192.168.210.22
KMIP 準拠のキー サーバ 192.168.110.91
KMIP 準拠のキー サーバ ユーザー vcqekmip
信頼機関クラスタ名 vTA クラスタ
信頼機関管理者 trustedadmin@vsphere.local
PS C:\Users\Administrator.CORP> Disconnect-VIServer -server * -Confirm:$false
PS C:\Users\Administrator.CORP> Connect-VIServer -server 192.168.210.22 -User trustedadmin@vsphere.local -Password 'VMware1!'

PS C:\Users\Administrator.CORP> New-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA -PrimaryKeyId 8 -Name clkp -KmipServerAddress 192.168.110.91
Name                 PrimaryKeyId         Type       TrustAuthorityClusterId
----                 ------------         ----       -----------------------
clkp                 8                    KMIP       TrustAuthorityCluster-domain-c8

PS C:\Users\Administrator.CORP> New-TrustAuthorityKeyProviderClientCertificate -KeyProvider $kp
<Export the client certificate when you need to use it.>
PS C:\Users\Administrator.CORP> Export-TrustAuthorityKeyProviderClientCertificate -KeyProvider $kp -FilePath clientcert.pem

PS C:\Users\Administrator.CORP> $kp = Get-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA
PS C:\Users\Administrator.CORP> Get-TrustAuthorityKeyProviderServerCertificate -KeyProviderServer $kp.KeyProviderServers

Certificate                              Trusted    KeyProviderServerId       KeyProviderId
-----------                              -------    -------------------       -------------
[Subject]...                             False      domain-c8-clkp:192.16.... domain-c8-clkp

PS C:\WINDOWS\system32> $cert.Certificate.ToString()
[Subject]
  E=<domain>, CN=<IP address>, OU=VMware Engineering, O=VMware, L=Palo Alto, S=California, C=US

[Issuer]
  O=<host>.eng.vmware.com, C=US, DC=local, DC=vsphere, CN=CA

[Serial Number]
  00CEF192BBF9D80C9F

[Not Before]
  8/10/2015 4:16:12 PM

[Not After]
  8/9/2020 4:16:12 PM

[Thumbprint]
  C44068C124C057A3D07F51DCF18720E963604B70

PS C:\Users\Administrator.CORP> $cert = Get-TrustAuthorityKeyProviderServerCertificate -KeyProviderServer $kp.KeyProviderServers
PS C:\Users\Administrator.CORP> Add-TrustAuthorityKeyProviderServerCertificate -ServerCertificate $cert

Certificate                              Trusted    KeyProviderServerId       KeyProviderId
-----------                              -------    -------------------       -------------
[Subject]...                             True                                 domain-c8-clkp

PS C:\Users\Administrator.CORP> $kp = Get-TrustAuthorityKeyProvider -TrustAuthorityCluster $vTA
PS C:\Users\Administrator.CORP> $kp.Status

KeyProviderId Health HealthDetails ServerStatus
------------- ------ ------------- ------------
domain-c8-kp4     Ok {}            {192.168.210.22}

次のタスク

この後は信頼機関クラスタ情報のエクスポートに続きます。