Nutanix VM 暗号化
Nutanix AHV の Data-at-Rest Encryption を支える外部鍵マネージャーとして DuoKey を登録します。
概要
Nutanix AHV の Data-at-Rest Encryption(DARE)には KMIP クライアントが組み込まれています。Prism で「外部鍵マネージャー」を登録すると、クラスターはバイナリ KMIP 経由でその鍵マネージャーに AES-256 暗号化鍵を作成・登録し、ブート時にそれを取得してクラスターのストレージをアンロックします。DuoKey の Nutanix VM 暗号化統合は、Cockpit をその外部鍵マネージャーにします — これは DuoKey のデータベースおよびインフラストラクチャ統合の他の箇所で使われているのと同じ KMIP ベースの鍵カストディモデルを、Nutanix のクラスター暗号化ワークフローに適用したものです。
クラスターの DARE KMIP クライアントは Cockpit の KMIP リスナーと直接通信します。クラスター暗号化鍵が DuoKey のカストディから出ることはありません。
この統合にセットアップウィザードはありません。クラスターの接続情報を直接登録し、その後 Nutanix の運用担当者に渡すデプロイメントバンドルを生成します。
Cockpit は、どの Nutanix クラスターがどの鍵と KMIP エンドポイントにバインドされているかを記録し、オンボーディング用のコマンドを生成します。クラスター自体で暗号化を有効化するのは、Nutanix の運用担当者が実行する Prism / ncli の操作です — DuoKey がクラスターに介入して有効化することはありません。
設定
| フィールド | 目的 |
|---|---|
| Prism のホスト/ポート | Prism Central または Prism Element の管理エンドポイント。運用担当者の参照用に記録されます。実際の鍵交換は、この REST エンドポイントではなくバイナリ KMIP 上で行われます。 |
| クラスター UUID | バインドする対象の AHV クラスター。 |
| クラスター名 | 任意のわかりやすい名前。 |
| 保護スコープ | cluster(1 つの鍵がすべてのストレージコンテナを保護)または storage_container(名前付きコンテナごとに個別の鍵)のいずれか。 |
| ストレージコンテナ | スコープがコンテナ単位の場合に、個別に保護するストレージコンテナの一覧。 |
| KMIP ポート | クラスターが接続するバイナリ KMIP(TTLV/mTLS)のポート — デフォルトは 5696。 |
| 鍵のローテーション日数 | クラスター暗号化鍵の目標ローテーション間隔(任意)。 |
| Vault | AES-256 クラスター暗号化鍵を保持する DuoKey vault。指定がない場合はテナントの vault がデフォルトで使用されます。 |
鍵のライフサイクル
| 状態 | 意味 |
|---|---|
| pre_active | 鍵は vault に存在しますが、まだクラスターのアクティブな DARE 鍵ではありません。 |
| active | クラスターはブート時にこの鍵でアンロックします。 |
| revoked | 鍵は失効しています。クラスターを再び信頼するには、鍵の再設定(re-key)が必要です。 |
| destroyed | 鍵素材は破棄されています。 |
クラスターのオンボーディング
手順 1 と 3 では、デプロイメントバンドルが生成した ncli コマンドを実行します。DuoKey がクラスターに介入してこれらを実行することはありません。
クラスターを登録する
Prism のエンドポイント、クラスター UUID、保護スコープ、そしてコンテナ単位のスコープの場合はストレージコンテナ名を指定します。DuoKey がリンクされた vault に AES-256 クラスター暗号化鍵を作成します。
デプロイメントバンドルを生成する
DuoKey は KMIP の接続情報(ホスト、ポート、クラスターに必要な mTLS のクライアント証明書/鍵/CA のパス)と、Nutanix の運用担当者向けの ncli コマンドの順序付き一覧を返します。
クラスターでオンボーディングコマンドを実行する
DuoKey の KMIP リスナーを外部鍵マネージャーとして登録し、暗号化鍵を作成して有効化し(クラスター全体またはストレージコンテナ単位)、その後に検証します。
暗号化が有効であることを確認する
Prism でクラスターの Data-at-Rest Encryption のステータスを確認し、DuoKey 側で鍵の状態を確認します(active に遷移しているはずです)。
# 1. Register DuoKey's KMIP listener as the cluster's external key manager
ncli data-at-rest-encryption-config add-external-kms name=dke_cockpit \
kmip-host=<kmip-host> kmip-port=<kmip-port> \
client-certificate-path=<client-cert-path> \
client-key-path=<client-key-path> \
ca-certificate-path=<ca-cert-path>
# 2. Create the cluster-wide encryption key on the external key manager
ncli data-at-rest-encryption-config create-key key-name=<key-label> kms-name=dke_cockpit
# 3. Enable Data-at-Rest Encryption using the registered key
ncli data-at-rest-encryption-config enable key-name=<key-label>
# 4. Verify
ncli data-at-rest-encryption-config get保護スコープが storage_container の場合、鍵作成のための独立したコマンドはありません。コンテナスコープの鍵名を指定した 1 つの enable コマンドが鍵の作成とアクティブ化をまとめて行い、これをクラスター全体の単一の enable の代わりにコンテナごとに 1 回ずつ繰り返します。
ヘルスチェックと接続性
クラスターのヘルスチェックは、統合が有効かどうか、暗号化鍵がアクティブかどうか、そして暗号化が有効であることを示す統合インジケーターを報告します。接続テストのチェックは、保存された設定を検証し、デプロイメントバンドルを生成する前に設定上の警告を提示します。
ヘルスチェックの結果は、DuoKey に保存された設定と鍵の状態を反映したものです。クラスターで実際に暗号化が有効になっているかどうかの真の情報源としては、Prism でクラスター自身の Data-at-Rest Encryption のステータスを確認してください。
前提条件
前提条件
- Prism へのアクセス権と Data-at-Rest Encryption を設定する権限を持つ Nutanix AHV クラスター
- 設定した KMIP ポート経由で、クラスターから DuoKey Cockpit の KMIP リスナーへのネットワーク到達性
- AES-256 クラスター暗号化鍵を保持する DuoKey vault
ストレージコンテナごとに独立した鍵のローテーションや失効が特に必要でない限り、クラスター全体の保護を使用してください — コンテナ単位のスコープでは、コンテナごとに鍵が 1 つ(およびオンボーディング手順が 1 つ)増えます。