キー プロバイダ サービスをキー プロバイダに接続するには、信頼済みキー プロバイダを作成してから、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}

次のタスク

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