vSAN 暗号化について
vSAN データを保管時に暗号化するには、鍵管理システム(KMS)が必要です。デフォルトでは、Google Cloud VMware Engine の vSAN データ暗号化の鍵管理は、追加費用なしで、新しいプライベート クラウドに Cloud Key Management Service を使用します。
vSAN 保存データを暗号化するための外部 KMS を、サポートされている以下のベンダーから選択してデプロイできます。このページでは、vSAN の暗号化の動作について説明し、外部 KMS を使用して VMware Engine の仮想マシンの保存データを暗号化する方法をまとめています。
サードパーティの KMS ソリューションを使用する場合は、必要なライセンスを提供する必要があります。
vSAN データ暗号化
デフォルトでは、VMware Engine は、プライマリ クラスタ内のデータと、プライベート クラウドに今後追加されるクラスタ内のデータに対して vSAN 暗号化を有効にします。保存データの vSAN 暗号化では、暗号化後にクラスタのローカル物理ディスクに保存されるデータ暗号鍵(DEK)が使用されます。ESXi ホストは、FIPS 140-2 レベル 1 準拠の AES-256 ビット暗号鍵である DEK を自動的に生成します。Google-owned and managed key プロバイダが提供する鍵暗号鍵(KEK)は、DEK を暗号化します。
保存データの vSAN 暗号化を無効にすると、Google Cloud VMware Engine のサービス固有の規約に違反する可能性があるため、無効にしないことを強くおすすめします。クラスタで保存データの vSAN 暗号化を無効にすると、VMware Engine モニタリング ロジックによってアラートが発生します。サービス規約に違反しないように、このアラートにより、該当するクラスタで vSAN 暗号化を再度有効にする Cloud カスタマーケア主導のアクションがトリガーされます。
同様に、外部 KMS を構成する場合は、vCenter Server で Cloud Key Management Service の鍵プロバイダ構成を削除しないことを強くおすすめします。
デフォルトの鍵プロバイダ
VMware Engine は、新しいプライベート クラウドで vCenter Server を構成して、 Google-owned and managed key プロバイダに接続します。VMware Engine はリージョンごとに鍵プロバイダのインスタンスを 1 つ作成し、鍵プロバイダは Cloud KMS を使用して KEK を暗号化します。VMware Engine は鍵プロバイダを完全に管理し、すべてのリージョンで高可用性となるように構成します。
Google-owned and managed key プロバイダは、vCenter サーバー(vSphere 7.0 Update 2 以降)の組み込み鍵プロバイダを補完するため、本番環境ではこの方法をおすすめします。組み込み鍵プロバイダは、VMware Engine の vSphere クラスタで実行される vCenter Server 内のプロセスとして実行されます。VMware では、vCenter Server をホストするクラスタの暗号化に組み込み鍵プロバイダを使用することはおすすめしません。代わりに、Google が管理するデフォルトの鍵プロバイダまたは外部 KMS を使用してください。
鍵のローテーション
デフォルトの鍵プロバイダを使用する場合、KEK のローテーションの責任があります。vSphere で KEK をローテーションするには、VMware のドキュメント保存データの暗号化の新しいキーの生成をご覧ください。
vSphere で鍵をローテーションするその他の方法については、次の VMware リソースをご覧ください。
暗号化された仮想マシンの要件
VM の暗号鍵は、デフォルトのGoogle-owned and managed key プロバイダまたは Cloud Key Management Service を使用して管理できます。
プライベート クラウド内の VM で VM 暗号化(または vTPM)を有効にし、KMS を使用して暗号鍵を管理する場合は、KMS 鍵をローテーションした後、各 VM を再暗号化(浅い鍵交換)する必要があります。
浅い鍵交換では、鍵暗号鍵(KEK)のみが置き換えられ、VM のデータ暗号鍵(DEK)は変更されません。通常、vSphere Client の [再暗号化] アクションを使用して、浅い鍵交換をトリガーします。
このオペレーションでは、システムは新しい KEK を使用して既存の DEK を再ラップ(再暗号化)します。このプロセスは、ディスク上の実際のデータを書き換えるのではなく、暗号化された DEK を含む小さな鍵バンドルのみを更新するため、高速です。詳細については、次の VMware ドキュメントをご覧ください。
暗号化された VM の鍵交換に失敗した場合のリスク
ローテーションされた(古い)KMS 鍵バージョンを削除する前に暗号化された VM の鍵を再設定しないと、次の問題が発生する可能性があります。
- vMotion の失敗: KMS 鍵のローテーション後、VM の鍵交換を行う前に、移行先ホストを再起動するか、クラスタに追加すると、ESXi ホストは vMotion 中に VM DEK を復号できません。
- 電源投入の失敗: ホストが再起動するか、ローカル鍵キャッシュをクリアすると、KMS から鍵を再取得できません。必要な鍵を KMS から削除すると、ホストは DEK を復号できなくなり、暗号化された VM を起動できなくなります。
ワークロード VM で鍵交換オペレーションを実行する手順
- vSphere Client で、VM を右クリックします。
- [VM ポリシー] > [再暗号化] を選択します。
- 表示されるダイアログで、再暗号化リクエストを確認します。
- タスクが完了するまで待ちます。
- VM を、KMS 鍵のローテーション後に再起動したホストまたはクラスタに追加したホストに移行して、鍵交換を確認します。
サポートされるベンダー
アクティブな KMS を切り替えるには、KMIP 1.1 準拠で、vSAN 用に VMware によって認定されているサードパーティの KMS ソリューションを選択できます。以下のベンダーは、VMware Engine を使用して KMS ソリューションを検証し、デプロイガイドとサポート ステートメントを公開しています。
構成手順については、次のドキュメントをご覧ください。
- Fortanix KMS を使用した vSAN 暗号化の構成
- CipherTrust Manager を使用した vSAN 暗号化の構成
- HyTrust KeyControl を使用した vSAN 暗号化の構成
サポートされているベンダーを使用する
外部 KMS をデプロイする際には、毎回同じ基本手順を行う必要があります。
- Google Cloud プロジェクトを作成するか、既存のプロジェクトを使用します。
- 新しい Virtual Private Cloud(VPC)ネットワークを作成するか、既存の VPC ネットワークを選択します。
- 選択した VPC ネットワークを VMware Engine ネットワークに接続します。
次に、KMS を Compute Engine VM インスタンスにデプロイします。
- Compute Engine VM インスタンスをデプロイするために必要な IAM 権限を設定します。
- Compute Engine に KMS をデプロイします。
- vCenter と Fortanix KMS 間の信頼を確立します。
- vSAN データの暗号化を有効にします。
以降のセクションでは、サポートされているベンダーの 1 つを使用するこのプロセスについて簡単に説明します。
IAM 権限を設定する
特定の Google Cloud プロジェクトと VPC ネットワークに Compute Engine VM インスタンスをデプロイし、VPC を VMware Engine に接続して、VPC ネットワークのファイアウォール ルールを構成するには、十分な権限が必要です。
プロジェクト オーナーとネットワーク管理者のロールを持つ IAM プリンシパルは、割り振られる IP 範囲を作成し、プライベート接続を管理できます。ロールの詳細については、Compute Engine IAM のロールをご覧ください。
Compute Engine に鍵管理システムをデプロイする
一部の KMS ソリューションは、Google Cloud Marketplace のアプライアンスのフォーム ファクタで使用できます。このようなアプライアンスは、VPC ネットワークまたは Google Cloud プロジェクトに OVA を直接インポートすることでデプロイできます。
ソフトウェアベースの KMS の場合は、KMS ベンダーが推奨する構成(vCPU 数、vMem、ディスク)を使用して Compute Engine VM インスタンスをデプロイします。ゲスト オペレーティング システムに KMS ソフトウェアをインストールします。VMware Engine ネットワークに接続されている VPC ネットワークに Compute Engine VM インスタンスを作成します。
vCenter と KMS 間の信頼関係を確立する
Compute Engine に KMS をデプロイした後、VMware Engine vCenter を構成して、KMS から暗号鍵を取得します。
暗号鍵を取得するには、次の手順で vCenter と KMS 間の信頼を確立します。
- vCenter で証明書を生成します。
- KMS が生成するトークンまたは鍵を使用して証明書に署名します。
- 署名付き証明書を vCenter にアップロードします。
- vCenter Server の構成ページで接続ステータスを確認します。
vSAN データの暗号化を有効にする
vCenter では、デフォルトの CloudOwner ユーザーに vSAN データ暗号化を有効にして管理するための十分な権限があります。
外部 KMS からデフォルトのGoogle-owned and managed key プロバイダに戻すには、VMware ドキュメントの標準鍵プロバイダの構成と管理で提供された鍵プロバイダを変更する手順に従います。
次のステップ
- vSAN KMS 接続のヘルスチェックについて学習する。
- vSAN 7.0 暗号化について学習する。