vecs-cliコマンド セットを使用して、VMware 証明書ストア (VECS) を管理できます。証明書インフラストラクチャと認証サービスを管理するには、次のコマンドを dir-cliおよび certool と併用します。

vecs-cli store create

証明書ストアを作成します。

オプション 説明
--name <name> 証明書ストアの名前。

--server <server-name>

リモート VECS インスタンスに接続する場合に、サーバ名を指定するために使用します。

--upn <user-name>

--server <server-name> で指定するサーバ インスタンスにログインするためのユーザー プリンシパル名。ストアは、作成するユーザーの環境で作成されます。したがって、ストアの所有者は必ずしも root ユーザーではなく、現在のユーザーに紐づいています。

例:
vecs-cli store create --name <store>

vecs-cli store delete

証明書ストアを削除します。MACHINE_SSL_CERT、TRUSTED_ROOTS、TRUSTED_ROOT_CRLS のシステム ストアは削除できません、必要な権限を持つユーザーは、ソリューション ユーザー ストアを削除できます。

オプション 説明
--name <name> 削除する証明書ストアの名前。

--server <server-name>

リモート VECS インスタンスに接続する場合に、サーバ名を指定するために使用します。

--upn <user-name>

--server <server-name> で指定するサーバ インスタンスにログインするためのユーザー プリンシパル名。ストアは、作成するユーザーの環境で作成されます。したがって、ストアの所有者は必ずしも root ユーザーではなく、現在のユーザーに紐づいています。

例:
vecs-cli store delete --name <store>

vecs-cli store list

証明書ストアのリストを表示します。

オプション 説明

--server <server-name>

リモート VECS インスタンスに接続する場合に、サーバ名を指定するために使用します。

--upn <user-name>

--server <server-name> で指定するサーバ インスタンスにログインするためのユーザー プリンシパル名。ストアは、作成するユーザーの環境で作成されます。したがって、ストアの所有者は必ずしも root ユーザーではなく、現在のユーザーに紐づいています。

VECS には、次のストアが含まれます。
表 1. VECS 内のストア
ストア 説明
マシン SSL ストア (MACHINE_SSL_CERT)
  • 各 vSphere ノード上のリバースプロキシ サービスによって使用されます。
  • vCenter Server ノード上の VMware Directory Service (vmdir) によって使用されます。

vSphere 6.0 以降のすべてのサービスは、マシン SSL 証明書を使用するリバース プロキシを介して通信されます。下位互換性を保つため、5.x サービスでは特定のポートが引き続き使用されています。その結果、vpxd などの一部のサービスのポートが開かれたままになります。

ソリューション ユーザー ストア
  • machine
  • vpxd
  • vpxd-extension
  • vsphere-webclient
  • wcp
VECS には、ソリューション ユーザーごとに 1 つのストアが含まれます。各ソリューション ユーザー証明書の件名は一意でなければなりません。たとえば、マシン証明書には vpxd 証明書と同じ件名を指定できません。

ソリューション ユーザー証明書は、vCenter Single Sign-On での認証に使用されます。vCenter Single Sign-On は、証明書が有効であることを確認しますが、その他の証明書の属性は確認しません。

次のソリューション ユーザー証明書ストアが VECS に含まれています。

  • machine:License Server およびログ サービスにより使用されます。
    注: マシン ソリューション ユーザー証明書は、マシン SSL 証明書とは無関係です。マシン ソリューション ユーザー証明書は、SAML トークン交換に使用されます。マシン SSL 証明書は、マシン向けのセキュア SSL 接続に使用されます。
  • vpxd:vCenter サービス デーモン (vpxd) ストア。vpxd は、このストアに保存されているソリューション ユーザー証明書を使用して vCenter Single Sign-On への認証を行います。
  • vpxd-extension:vCenter Server 拡張機能のストア。Auto Deploy サービス、Inventory Service、およびその他のソリューション ユーザーに含まれないその他のサービス。
  • vsphere-webclientvSphere Client ストア。パフォーマンス チャート サービスなどの一部の追加サービスも含まれます。
  • wcp:VMware vSphere® with VMware Tanzu™ ストア。

vCenter Server ノードには machine 証明書が含まれます。

信頼されたルート ストア (TRUSTED_ROOTS) すべての信頼済みルート証明書を含みます。
vSphere Certificate Manager ユーティリティのバックアップ ストア (BACKUP_STORE) 証明書の取り消しをサポートするために、Certificate Manager によって使用されます。最新の状態のみがバックアップとして保存され、1 段階より多く戻ることはできません。
その他のストア その他のストアが、ソリューションによって追加される場合があります。たとえば、Virtual Volumes ソリューションにより SMS ストアが追加されます。VMware ドキュメントまたは VMware ナレッジベースの記事で指示されないかぎり、ストア内の証明書は変更しないでください。
注: TRUSTED_ROOTS_CRLS ストアを削除すると、証明書インフラストラクチャが破損することがあります。TRUSTED_ROOTS_CRLS ストアの削除や修正は行わないでください。
例:
vecs-cli store list

vecs-cli store permissions

ストアに対するアクセス許可を付与または破棄します。--grantオプションまたは --revoke オプションを使用します。

ストアの所有者は、権限の付与と破棄を含めすべての操作を実行できます。ローカルの vCenter Single Sign-On ドメインの管理者(デフォルトは [email protected])は、権限の付与と破棄を含め、すべてのストアの全権限を持ちます。

vecs-cli get-permissions --name <store-name>を使用して、ストアの現在の設定を取得できます。

オプション 説明
--name <name> 証明書ストアの名前。
--user <username> アクセス許可が付与されるユーザーの一意の名前。
--grant [read|write] 付与するアクセス許可(読み取りまたは書き込み)。
--revoke [read|write] 破棄するアクセス許可(読み取りまたは書き込み)。現在サポートされていません。

vecs-cli store get-permissions

ストアから現在の権限設定を取得します。

オプション 説明
--name <name> 証明書ストアの名前。

--server <server-name>

リモート VECS インスタンスに接続する場合に、サーバ名を指定するために使用します。

--upn <user-name>

--server <server-name> で指定するサーバ インスタンスにログインするためのユーザー プリンシパル名。ストアは、作成するユーザーの環境で作成されます。したがって、ストアの所有者は必ずしも root ユーザーではなく、現在のユーザーに紐づいています。

vecs-cli entry create

VECS にエントリを作成します。このコマンドを使用して、プライベート キーまたは証明書をストアに追加します。

注: このコマンドを使用して TRUSTED_ROOTS ストアにルート証明書を追加しないでください。代わりに、 dir-cliコマンドを使用してルート証明書を公開します。
オプション 説明

--store <NameOfStore>

証明書ストアの名前。

--alias <Alias> 証明書のオプションのエイリアス。このオプションは、信頼されたルート ストアでは無視されます。
--cert <certificate_file_path> 証明書ファイルのフル パス。
--key <key-file-path>

証明書に対応するキーのフル パス。

オプション。
--password <password> プライベート キーを暗号化するための、オプションのパスワードです。

--server <server-name>

リモート VECS インスタンスに接続する場合に、サーバ名を指定するために使用します。

--upn <user-name>

--server <server-name> で指定するサーバ インスタンスにログインするためのユーザー プリンシパル名。ストアは、作成するユーザーの環境で作成されます。したがって、ストアの所有者は必ずしも root ユーザーではなく、現在のユーザーに紐づいています。

vecs-cli entry list

指定したストア内のすべてのエントリのリストを表示します。

オプション 説明
--store <NameOfStore>

証明書ストアの名前。

vecs-cli entry getcert

VECS から証明書を取得します。証明書を出力ファイルに送信するか、人間が解読可能なテキストとして表示できます。

オプション 説明
--store <NameOfStore>

証明書ストアの名前。

--alias <Alias> 証明書のエイリアス。
--output <output_file_path> 証明書を書き込むファイル。
--text 人間が解読可能な証明書のバージョンを表示します。

--server <server-name>

リモート VECS インスタンスに接続する場合に、サーバ名を指定するために使用します。

--upn <user-name>

--server <server-name> で指定するサーバ インスタンスにログインするためのユーザー プリンシパル名。ストアは、作成するユーザーの環境で作成されます。したがって、ストアの所有者は必ずしも root ユーザーではなく、現在のユーザーに紐づいています。

vecs-cli entry getkey

VECS に格納されているキーを取得します。キーを出力ファイルに送信するか、人間が解読可能なテキストとして表示できます。

オプション 説明
--store <NameOfStore>

証明書ストアの名前。

--alias <Alias> キーのエイリアス。
--output <output_file_path> キーを書き込む出力ファイル。
--text 人間が解読可能なキーのバージョンを表示します。

--server <server-name>

リモート VECS インスタンスに接続する場合に、サーバ名を指定するために使用します。

--upn <user-name>

--server <server-name> で指定するサーバ インスタンスにログインするためのユーザー プリンシパル名。ストアは、作成するユーザーの環境で作成されます。したがって、ストアの所有者は必ずしも root ユーザーではなく、現在のユーザーに紐づいています。

vecs-cli entry delete

証明書ストア内のエントリを削除します。VECS 内のエントリを削除すると、そのエントリは VECS から完全に削除されます。唯一の例外は、現在のルート証明書です。VECS は vmdir をポーリングして、ルート証明書を確認します。

オプション 説明
--store <NameOfStore>

証明書ストアの名前。

--alias <Alias> 削除するエントリのエイリアス。

--server <server-name>

リモート VECS インスタンスに接続する場合に、サーバ名を指定するために使用します。

--upn <user-name>

--server <server-name> で指定するサーバ インスタンスにログインするためのユーザー プリンシパル名。ストアは、作成するユーザーの環境で作成されます。したがって、ストアの所有者は必ずしも root ユーザーではなく、現在のユーザーに紐づいています。

-y 確認を求めるプロンプトを抑制します。上級ユーザー専用です。

vecs-cli force-refresh

VECS を強制的に更新します。デフォルトでは、VECS は 5 分ごとに vmdir をポーリングして、新しいルート証明書を確認します。vmdir 内の VECS を直ちに更新する場合は、このコマンドを使用します。

オプション 説明

--server <server-name>

リモート VECS インスタンスに接続する場合に、サーバ名を指定するために使用します。

--upn <user-name>

--server <server-name> で指定するサーバ インスタンスにログインするためのユーザー プリンシパル名。ストアは、作成するユーザーの環境で作成されます。したがって、ストアの所有者は必ずしも root ユーザーではなく、現在のユーザーに紐づいています。