vecs-cli コマンド セットを使用して、VMware 証明書ストア (VECS) を管理できます。証明書インフラストラクチャとその他の Platform Services Controller サービスを管理する場合は、次のコマンドを 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 ノード上のリバースプロキシ サービスによって使用されます。

  • 組み込みデプロイおよび各 Platform Services Controller ノード上の VMware Directory Service (vmdir) によって使用されます。

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

信頼されたルート ストア (TRUSTED_ROOTS)

すべての信頼済みルート証明書を含みます。

ソリューション ユーザー ストア

  • machine

  • vpxd

  • vpxd-extensions

  • vsphere-webclient

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

ソリューション ユーザー証明書は、vCenter Single Sign-On での認証に使用されます。vCenter Single Sign-On は、証明書が有効であることを確認しますが、その他の証明書の属性は確認しません。組み込みのデプロイでは、すべてのソリューション ユーザー証明書が同じシステム上に存在します。

次のソリューション ユーザー証明書ストアが、各管理ノードと各組み込みデプロイの VECS に含まれています。

  • machine: Component Manager、License Server、およびログ サービスにより使用されます。

    注:

    マシン ソリューション ユーザー証明書は、マシン SSL 証明書とは無関係です。マシン ソリューション ユーザー証明書は、SAML トークン交換に使用されます。マシン SSL 証明書は、マシン向けのセキュア SSL 接続に使用されます。

  • vpxd:管理ノードおよび組み込みデプロイ上の、vCenter サービス デーモン (vpxd) ストア。vpxd は、このストアに格納されているソリューション ユーザー証明書を使用して、vCenter Single Sign-On への認証を行います。

  • vpxd-extensions:vCenter Server 拡張機能のストア。Auto Deploy サービス、Inventory Service、およびその他のソリューション ユーザーに含まれないその他のサービス。

  • vsphere-webclientvSphere Web Client ストア。パフォーマンス チャート サービスなどの一部の追加サービスも含まれます。

Platform Services Controller ノードには machine 証明書が含まれます。

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 ドメインの管理者(デフォルトは administrator@vsphere.local)は、権限の付与と破棄を含め、すべてのストアの全権限を持ちます。

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

オプション

説明

--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 ユーザーではなく、現在のユーザーに紐づいています。