Azure Elastic SAN のカスタマー マネージド キーを管理する
Elastic SAN ボリュームに書き込まれるすべてのデータは、データ暗号化キー (DEK) を使用して保存時に自動的に暗号化されます。 Azure DEK は常に "プラットフォーム マネージド" です (Microsoft によって管理されます)。 Azure は、ラッピングとも呼ばれるエンベロープ暗号化を使用し、これには DEK を暗号化するためのキー暗号化キー (KEK) が関与します。 既定では、KEK はプラットフォーム マネージドですが、独自の KEK を作成して管理することもできます。 カスタマー マネージド キーは、アクセス制御を管理するためのより高い柔軟性を提供し、組織のセキュリティとコンプライアンスの要件を満たすのに役立ちます。
以下を含むキー暗号化キーのすべての側面を制御します。
- どのキーが使用されるか
- キーがどこに保存されるか
- キーがどのようにローテーションされるか
- カスタマー マネージド キーとプラットフォーム マネージド キーを切り替える機能
この記事では、カスタマー マネージド KEK を管理する方法について説明します。
Note
エンベロープ暗号化を使用すると、Elastic SAN ボリュームに影響を与えることなくキー構成を変更できます。 変更を行うと、Elastic SAN サービスは新しいキーを使用してデータ暗号化キーを再暗号化します。 データ暗号化キーの保護は変わりますが、Elastic SAN ボリューム内のデータは常に暗号化されたままです。 データを確実に保護するために、追加のアクションを行う必要はありません。 キー構成を変更してもパフォーマンスに影響はなく、そのような変更に関連するダウンタイムもありません。
制限事項
次の一覧には、現在、Elastic SAN が使用可能なリージョンと、ゾーン冗長ストレージ (ZRS) およびローカル冗長ストレージ (LRS) の両方がサポートされているリージョン、または LRS のみがサポートされているリージョンが含まれています。
- オーストラリア東部 - LRS
- ブラジル南部 - LRS
- カナダ中部 - LRS
- 米国中部 - LRS
- 東アジア - LRS
- 米国東部 - LRS
- 米国東部 2 - LRS
- フランス中部 - LRS と ZRS
- ドイツ中西部 - LRS
- インド中部 - LRS
- 東日本 - LRS
- 韓国中部 - LRS
- 北ヨーロッパ - LRS と ZRS
- ノルウェー東部 - LRS
- 南アフリカ北部 - LRS
- 米国中南部 - LRS
- 東南アジア: LRS
- スウェーデン中部 - LRS
- スイス北部 - LRS
- アラブ首長国連邦北部 - LRS
- 英国南部 - LRS
- 西ヨーロッパ - LRS と ZRS
- 米国西部 2 - LRS と ZRS
- 米国西部 3 - LRS
Elastic SAN は次のリージョンでも使用できますが、可用性ゾーンはサポートされません。
- カナダ東部 - LRS
- 西日本 - LRS
- 米国中北部 - LRS
これらのリージョンを有効にするには、次のコマンドを実行して、必要な機能フラグを登録します。
Register-AzProviderFeature -FeatureName "EnableElasticSANRegionalDeployment" -ProviderNamespace "Microsoft.ElasticSan"
キーを変更する
Azure Elastic SAN の暗号化に使用しているキーは、いつでも変更できます。
PowerShell を使用してキーを変更するには、Update-AzElasticSanVolumeGroup を呼び出して、新しいキーの名前とバージョンを指定します。 新しいキーが別のキー コンテナーにある場合は、キー コンテナー URI も更新する必要があります。
新しいキーが別のキー コンテナーにある場合は、新しいコンテナー内のキーへのアクセス権をマネージド ID に付与する必要があります。 キー バージョンの手動更新を選択する場合は、キー コンテナー URI を更新する必要もあります。
キーのバージョンを更新する
暗号化のベスト プラクティスに従うと、Elastic SAN ボリューム グループを保護するキーは定期的に (通常、少なくとも 2 年ごとに) ローテーションすることになります。 Azure Elastic SAN がキー コンテナー内のキーを変更することは決してありませんが、お客様がキー ローテーション ポリシーを構成することにより、コンプライアンス要件に沿ったキーのローテーションが可能です。 詳細については、「Azure Key Vault で暗号化キーの自動ローテーションを構成する」を参照してください。
キー コンテナーでキーをローテーションした後、新しいキー バージョンを使用するために、Elastic SAN ボリューム グループのカスタマー マネージド KEK 構成を更新する必要があります。 カスタマー マネージド キーは、KEK バージョンの自動更新と手動更新の両方をサポートしています。 最初にカスタマー マネージド キーを構成する際、または構成を更新する際に、どちらのアプローチを使用するかを決定できます。
キーまたはキー バージョンを変更すると、ルート暗号化キーの保護は変わりますが、Azure Elastic SAN ボリューム グループ内のデータは常に暗号化されたままです。 データが保護されることを保証するために、お客様側で必要となる追加のアクションはありません。 キー バージョンをローテーションしてもパフォーマンスに影響はなく、キー バージョンのローテーションに関連するダウンタイムもありません。
重要
キーをローテーションするには、コンプライアンス要件に従って、キー コンテナー内に新しいバージョンのキーを作成します。 Azure Elastic SAN はキー ローテーションの処理を行わないため、自分でキー コンテナー内のキーのローテーションを管理する必要があります。
カスタマー マネージド キーに使用されるキーをローテーションした場合、そのアクションは現在、Azure Elastic SAN の Azure Monitor ログには記録されません。
キー バージョンを自動的に更新する
新しいバージョンが利用可能になったときにカスタマー マネージド キーを自動的に更新するには、Elastic SAN ボリューム グループのカスタマー マネージド キーでの暗号化を有効にする際に、キー バージョンを省略します。 キー バージョンが省略されている場合、Azure Elastic SAN は、新しいバージョンのカスタマー マネージド キーがないかキー コンテナーを毎日確認します。 新しいキー バージョンを利用できる場合、Azure Elastic SAN は最新バージョンのキーを自動的に使用します。
Azure Elastic SAN が新しいキー バージョンがないかキー コンテナーを確認するのは 1 日に 1 回だけです。 キーを交換するときは、必ず 24 時間待って、古いバージョンを無効化するようにしてください。
Elastic SAN ボリューム グループが以前にキー バージョンを手動で更新するように構成されており、それを自動的に更新するように変更したい場合は、キー バージョンを空の文字列に明示的に変更する必要があります。 これを行う方法の詳細については、「手動のキー バージョン ローテーション」を参照してください。
キーのバージョンを手動で更新する
Azure Elastic SAN 暗号化に特定のバージョンのキーを使用するには、Elastic SAN ボリューム グループのカスタマー マネージド キーを使用した暗号化を有効にする際に、そのキー バージョンを指定します。 キー バージョンを指定すると、Azure Elastic SAN は、そのキー バージョンが手動で更新されるまで、暗号化にそのバージョンを使用します。
キー バージョンが明示的に指定されている場合は、新しいバージョンが作成される際に、新しいキー バージョンの URI を使用するように Elastic SAN ボリューム グループを手動で更新する必要があります。 新しいバージョンのキーを使用するように Elastic SAN ボリューム グループを更新する方法については、「Azure Key Vault に保存されているカスタマー マネージド キーを使用した暗号化の構成」を参照してください。
カスタマー マネージド キーを使用するボリューム グループへのアクセスを取り消す
カスタマー マネージド キーを使用している Elastic SAN ボリューム グループへのアクセスを一時的に取り消すには、キー コンテナー内で現在使用されているキーを無効にします。 キーの無効化と再有効化に関連するパフォーマンスへの影響やダウンタイムはありません。
キーが無効化されると、クライアントはそのボリューム グループ内のボリュームまたはそれらのメタデータとの間の読み書きの操作を呼び出すことができなくなります。
注意事項
キー コンテナー内のキーを無効にすると、Azure Elastic SAN ボリューム グループ内のデータは暗号化されたままですが、そのキーを再度有効にするまでアクセスできなくなります。
PowerShell を使用してカスタマー マネージド キーを取り消すには、次の例に示すように、Update-AzKeyVaultKey コマンドを呼び出します。 必ず、角かっこ内のプレースホルダー値を、変数を定義する独自の値に置き換えるか、前の例で定義した変数を使用してください。
$KvName = "<key-vault-name>"
$KeyName = "<key-name>"
$enabled = $false
# $false to disable the key / $true to enable it
# Check the current state of the key (before and after enabling/disabling it)
Get-AzKeyVaultKey -Name $KeyName -VaultName $KvName
# Disable (or enable) the key
Update-AzKeyVaultKey -VaultName $KvName -Name $KeyName -Enable $enabled
プラットフォーム マネージド キーに切り替える
Azure PowerShell モジュールまたは Azure CLI を使って、カスタマー マネージド キーからプラットフォーム マネージド キーにいつでも切り替え直すことができます。
PowerShell を使用してカスタマー マネージド キーからプラットフォーム マネージド キーに切り替え直すには、次の例に示すように、-Encryption
オプションを使用して Update-AzElasticSanVolumeGroup を呼び出します。 プレースホルダー値を独自の値に置き換え、前の例で定義した変数を使用するのを忘れないでください。
Update-AzElasticSanVolumeGroup -ResourceGroupName "ResourceGroupName" -ElasticSanName "ElasticSanName" -Name "ElasticSanVolumeGroupName" -Encryption EncryptionAtRestWithPlatformKey