[アーティクル] 2024/04/12
7 人の共同作成者
フィードバック
この記事の内容
トポロジ
前提条件
カスタマー マネージド キーのバージョンのライフサイクル
システム割り当て ID で CMK を有効にする
カスタマー マネージド キーから Microsoft マネージド キーに変更する
制限事項
トラブルシューティングとベスト プラクティス
次のステップ
さらに 4 個を表示
この記事では、顧客所有の Azure Key Vault インスタンスによって管理されるカスタマー マネージド キー (CMK) を使用して VMware vSAN のキー暗号化キー (KEK) を暗号化する方法について説明します。
Azure VMware Solution プライベート クラウドで CMK 暗号化が有効になっている場合、Azure VMware Solution はキー コンテナーの CMK を使用して vSAN KEK を暗号化します。 vSAN クラスターに参加する各 ESXi ホストは、ランダムに生成されたディスク暗号化キー (DEK) を使用します。ESXi は、これをディスクの保存データを暗号化するために使用します。 vSAN は、Azure VMware Solution キー管理システムによって提供される KEK を使用して、すべての DEK を暗号化します。 Azure VMware Solution のプライベート クラウドとキー コンテナーは同じサブスクリプションに存在しなくても構いません。
独自の暗号化キーを管理すると、次のことが可能です。
vSAN キーへの Azure アクセスを制御する。
CMK のライフサイクルを一元的に管理する。
KEK への Azure アクセスを取り消します。
CMK 機能は、次のキーの種類とキー サイズをサポートします。
RSA : 2048、3072、4096
RSA-HSM : 2048、3072、4096
次の図は、Azure VMware Solution が Microsoft Entra ID とキー コンテナーを使用して CMK を提供する方法を示しています。
CMK 機能を有効にする前に、次の要件が満たされていることを確認してください。
CMK 機能を使用するには、キー コンテナーが必要です。 キー コンテナーがない場合は、「クイック スタート: Azure portal を使用してキー コンテナーを作成する 」を使用して作成できます。
Key Vault に対する制限付きアクセスを有効にした場合は、Microsoft Trusted Services が Key Vault ファイアウォールをバイパスできるようにする必要があります。 詳細については、「Azure Key Vault のネットワーク設定を構成する 」を参照してください。
注意
ファイアウォール ルールを有効にした後は、要求が許可された VM または IPv4 アドレス範囲から送信された場合にのみ、ユーザーは Key Vault データ プレーン の操作を実行できます。 この制限は、Azure portal から Key Vault にアクセスする場合にも適用されます。 これは、Azure VMware Solution による Key Vault ピッカーにも影響します。 ファイアウォール規則がクライアント コンピューターを阻止しているか、ユーザーが Key Vault での一覧表示の権限を持っていない場合、ユーザーは、キー コンテナーの一覧を表示できてもキーの一覧は表示できません。
Software Defined Data Center (SDDC) のプロビジョニング中に Azure VMware Solution プライベート クラウドでシステム割り当て ID を有効にしなかった場合は有効にします。
システム割り当て ID を有効にするには:
Azure portal にサインインします。
Azure VMware Solution に移動し、プライベート クラウドを見つけます。
左端のペインで、[管理] を開き、[ID] を選びます。
[システム割り当て] で、[有効にする] >[保存] を選びます。
[システム割り当て ID] が有効になっているはずです。
システム割り当て ID が有効になると、[オブジェクト ID] のタブが表示されます。 後で使用するためにオブジェクト ID をメモしておきます。
プライベート クラウド リソース ID を取得し、変数に保存します。 この値は、次の手順で、システム割り当て ID でリソースを更新するために必要です。
privateCloudId= $(az vmware private-cloud show --name $privateCloudName --resource-group $resourceGroupName --query id | tr -d '"' )
Azure VMware Solution プライベート クラウドで Azure CLI を使用してシステム割り当て ID を構成するには、az-resource-update を呼び出し、前に取得したプライベート クラウド リソース ID の変数を渡します。
az resource update --ids $privateCloudId --set identity.type= SystemAssigned --api-version "2021-12-01"
マネージド ID にアクセス許可を付与するように、キー コンテナーのアクセス ポリシーを構成します。 これは、キー コンテナーへのアクセスの認可を受けるために使用します。
Azure portal にサインインします。
[キー コンテナー] に移動し、使用するキー コンテナーを見つけます。
左端のペインの [設定] で、[アクセス ポリシー] を選びます。
[アクセス ポリシー] で、[アクセス ポリシーの追加] をクリックして、次のようにします。
[キーのアクセス許可] ドロップダウンで、[選択] 、[取得] 、[キーを折り返す] 、および [キーの折り返しを解除] を選びます。
[プリンシパルの選択] で、 [選択されていません] を選択します。 検索ボックスが表示された新しい [プリンシパル] ウィンドウが開きます。
検索ボックスに、前の手順のオブジェクト ID を貼り付けます。 別の方法として、使用するプライベート クラウド名を検索します。 完了したら [選択] を選びます。
[追加] を選択します。
現在のポリシーの [アプリケーション] セクションに新しいポリシーが表示されていることを確認します。
[保存] を選び、変更をコミットします。
システム割り当てマネージド ID のプリンシパル ID を取得し、変数に保存します。 この値は、次の手順でキー コンテナーのアクセス ポリシーを作成するために必要になります。
principalId= $(az vmware private-cloud show --name $privateCloudName --resource-group $resourceGroupName --query identity.principalId | tr -d '"' )
Azure CLI で Key Vault アクセス ポリシーを構成するために、az keyvault set-policy を呼び出します。 マネージド ID に対して前に取得したプリンシパル ID の変数を指定します。
az keyvault set-policy --name $keyVault --resource-group $resourceGroupName --object-id $principalId --key-permissions get unwrapKey wrapKey
Key Vault アクセス ポリシーを割り当てる 方法の詳細を参照してください。
カスタマー マネージド キーのバージョンのライフサイクル
キーの新しいバージョンを作成して、CMK を変更できます。 新しいバージョンを作成しても、仮想マシン (VM) ワークフローは中断されません。
Azure VMware Solution では、CMK キー バージョンのローテーションは、CMK のセットアップ中に選択したキーの選択設定によって異なります。
顧客は、CMK の特定のキー バージョンを指定せずに CMK 暗号化を有効にします。 Azure VMware Solution は、vSAN KEK を暗号化するために、顧客のキー コンテナーから CMK の最新のキー バージョンを選択します。 Azure VMware Solution は、バージョンのローテーション用に CMK を追跡します。 Key Vault で新しいバージョンの CMK キーが作成されると、vSAN KEK を暗号化するために、キーが自動的に Azure VMware Solution によってキャプチャされます。
注意
Azure VMware Solution では、自動的にローテーションされた新しいキー バージョンの検出に最大 10 分かかる可能性があります。
顧客は、指定された CMK キー バージョンの CMK 暗号化を有効にして、[URI からキーを入力] オプションで完全なキー バージョンの URI を指定できます。 顧客の現在のキーの有効期限が切れたときは、CMK キーの有効期限を延長するか、CMK を無効にする必要があります。
システム割り当て ID は、1 つのリソースにつき 1 つに限定されており、このリソースのライフサイクルに関連付けられています。 Azure リソースのマネージド ID にはアクセス許可を付与できます。 マネージド ID は Microsoft Entra ID で認証されるため、資格情報をコードに保存する必要はありません。
重要
Key Vault が Azure VMware Solution プライベート クラウドと同じリージョンにあることを確認してください。
Key Vault インスタンスに移動し、[MSI を有効にする] タブでキャプチャしたプリンシパル ID を使用して、Key Vault の SDDC へのアクセスを提供します。
Azure VMware Solution のプライベート クラウドの [管理] で、[暗号化] を選びます。 次に、[カスタマー マネージド キー (CMK)] を選択します。
CMK には、Key Vault からの [キーの選択] について 2 つのオプションがあります。
オプション 1:
[暗号化キー] で、[Key Vault から選択する] を選びます。
暗号化の種類を選びます。 次に、[キー コンテナーとキーを選択] オプションを選びます。
ドロップダウン リストから、[キー コンテナーとキー] を選びます。 次に [選択] を選択します。
オプション 2:
[暗号化キー] で、[Enter key from URI] (URI からキーを入力) を選びます。
[キーの URI] ボックスに特定のキー URI を入力します。
重要
自動的に選択される最新バージョンの代わりに特定のキー バージョンを選択する場合は、キー バージョンでキー URI を指定する必要があります。 この選択は、CMK キー バージョンのライフサイクルに影響します。
Key Vault マネージドのハードウェア セキュリティ モジュール (HSM) オプションは、キー URI オプションでのみサポートされます。
[保存] を選択して、リソースへのアクセスを許可します。
キー バージョンを自動更新する Azure VMware Solution プライベート クラウドの CMK を構成するには、az vmware private-cloud enable-cmk-encryption を呼び出します。 キー コンテナーの URL を取得し、変数に保存します。 この値は次の手順で CMK を有効にするために必要です。
keyVaultUrl =$(az keyvault show --name <keyvault_name> --resource-group <resource_group_name> --query properties.vaultUri --output tsv)
特定のキー バージョンを指定しない場合とする場合の違いを、次のオプション 1 と 2 で示します。
この例では、顧客が特定のキー バージョンを指定しない場合を示します。
az vmware private-cloud enable-cmk-encryption --private-cloud <private_cloud_name> --resource-group <resource_group_name> --enc-kv-url $keyVaultUrl --enc-kv-key-name <keyvault_key_name>
Azure portal のオプション 2 で前に言及したように、特定のキー バージョンの CMK を使用するために、引数としてキー バージョンを指定します。 次は、顧客が特定のキー バージョンを指定する場合の例を示しています。
az vmware private-cloud enable-cmk-encryption --private-cloud <private_cloud_name> --resource-group <resource_group_name> --enc-kv-url $keyVaultUrl --enc-kv-key-name --enc-kv-key-version <keyvault_key_keyVersion>
カスタマー マネージド キーから Microsoft マネージド キーに変更する
顧客が CMK から Microsoft マネージド キー (MMK) に変更するとき、VM のワークロードは中断されません。 CMK から MMK に変更するには:
Azure VMware Solution プライベート クラウドの [管理] で、[暗号化] を選びます。
[Microsoft マネージド キー (MMK)] を選択します。
[保存] を選択します。
Key Vault は、回復可能として構成する必要があります。 以下を実行する必要があります。
[論理的な削除] オプションを指定して Key Vault を構成します。
論理的な削除の後もシークレットまたはコンテナーの強制削除を防ぐには、消去保護 を有効にする必要があります。
キーの有効期限が切れるか、Azure VMware Solution アクセス キーが取り消された場合、CMK 設定の更新は機能しません。
発生する可能性がある一般的な問題のトラブルシューティングのヒントと、従う必要があるベスト プラクティスを次に示します。
キー コンテナーでキーを誤って削除した場合、プライベート クラウドはクラスターの変更操作の一部を実行できません。 このシナリオを回避するには、キー コンテナーで論理的な削除を有効にしておくことをお勧めします。 このオプションを使用すると、キーが削除されても、既定の論理的な削除のデータ保持機能の一環として、90 日の期間内はキーを回復できます。 90 日の期間内であれば、キーを復元して問題を解決できます。
CMK へのアクセスを失ったプライベート クラウドがある場合は、マネージド システム ID (MSI) がキー コンテナーのアクセス許可を必要とするかどうかを確認します。 Azure から返されるエラー通知は、MSI がキー コンテナーのアクセス許可を必要とすることを根本原因として正しく示さない可能性があります。 必要なアクセス許可は、get
、wrapKey
、unwrapKey
です。
前提条件 の手順 4 を参照してください。
自動ローテーション機能を使用していなくて、Key Vault で CMK が有効期限切れになった場合は、キーの有効期限を変更できます。
プライベート クラウドへのアクセスをキー コンテナーに提供するために MSI が使用されていることを確認します。
プライベート クラウドに関連付けられている MSI を誤って削除した場合は、CMK を無効にする必要があります。 次に、手順に従って、CMK の有効化を最初から実行します。