Redis サーバー内のデータは、既定ではメモリに保存されます。 このデータは暗号化されません。 キャッシュに書き込む前に、データに独自の暗号化を実装できます。 場合によっては、オペレーティング システムの操作、または エクスポート またはデータ永続化を使用してデータを保持する意図的なアクションが原因で、 データがディスク上に存在する場合があります。
Azure Managed Redis では、プラットフォームマネージド キー (PMK) (Microsoft マネージド キー (MMK) とも呼ばれます) が既定で提供され、すべての層のディスク上のデータが暗号化されます。 Azure Managed Redis には、カスタマー マネージド キー (CMK) を使用して OS およびデータ永続化ディスクを暗号化する機能も用意されています。 カスタマー マネージド キーを使用して MMK をラップし、これらのキーへのアクセスを制御します。 このキーにより、CMK が キー暗号化キー または KEK になります。 詳細については、 Azure でのキー管理を参照してください。
CMK ディスク暗号化の可用性のスコープ
| レベル | メモリ最適化、バランス、コンピューティング最適化 | フラッシュ最適化 |
|---|---|---|
| Microsoft のマネージド キー (MMK) | イエス | イエス |
| カスタマー マネージド キー (CMK) | イエス | イエス |
Azure Managed Redis でのディスク暗号化の対象範囲
Azure Managed Redis では、ディスク暗号化によって永続化ディスク、一時ファイル、および OS ディスクが保護されます。
- 永続ディスク: 永続化された RDB または AOF ファイルを データ永続化の一部として保持します。
- エクスポートで使用される一時ファイル: エクスポート時に使用される一時データを暗号化します。 データを エクスポート すると、ストレージ アカウントの設定によって、最終的にエクスポートされたデータの暗号化が制御されます。
- OS ディスク
MMK は常にこれらのディスクを既定で暗号化するために使用され、データ暗号化キーへのアクセスを制御するために CMK を上に追加できます。
フラッシュ最適化レベルでは、キーと値も、不揮発性メモリ エキスプレス (NVMe) フラッシュ ストレージを使用してディスク上に部分的に保存されます。 ただし、このディスクは、永続化されたデータに使用されるディスクと同じではありません。 代わりに、これはエフェメラルです。つまり、キャッシュが停止、割り当て解除、または再起動された後にデータが永続化されません。 このデータはエフェメラルであるため、このディスクでは MMK のみがサポートされます。
| 保存されるデータ | Disk | 暗号化のオプション |
|---|---|---|
| 永続化ファイル | 永続ディスク | MMK または CMK |
| エクスポートを待機している RDB ファイル | OS ディスクと永続ディスク | MMK または CMK |
| キーと値 (Flash 最適化レベルのみ) | 一時的な NVMe ディスク | MMK |
前提条件と制限事項
一般的な前提条件と制限事項
- Azure Key Vaultに接続するには、ユーザー割り当てマネージド ID のみを使用します。 システム割り当てマネージド ID はサポートされていません。
- 既存のキャッシュ インスタンスで MMK と CMK を変更すると、実行時間の長いメンテナンス操作がトリガーされます。 サービスの中断を引き起こすので、運用環境ではこの操作を使用しないでください。
Azure Key Vaultの前提条件と制限事項
- カスタマー マネージド キーを含む Azure Key Vault リソースは、キャッシュ リソースと同じリージョンに存在する必要があります。
- 消去保護とソフト削除は、Azure Key Vault インスタンスで有効になっている必要があります。 消去保護は既定では有効になっていません。
- Azure Key Vaultでファイアウォール規則を使用する場合は、信頼されたサービスを許可するように Key Vault インスタンスを構成する必要があります。
- RSA キーのみがサポートされています。
- ユーザー割り当てマネージド ID に対して、Key Vault のアクセス ポリシーで Get、Unwrap Key、Wrap Key のアクセス許可、または Azure ロール ベースのアクセス制御における同等のアクセス許可を付与する必要があります。 このシナリオに必要な最小限の特権を持つ推奨される組み込みロールの定義は、 KeyVault Crypto Service Encryption User と呼ばれます。
Azure Managed Redis で CMK 暗号化を構成する方法
ポータルを使用して、CMK が有効になっている新しいキャッシュを作成する
Azure portal にサインインし、Azure Managed Redis インスタンスの作成に関するクイックスタート ガイドを開始します。
詳細 ページ で、保存時のカスタマー マネージド キーの暗号化 というタイトルのセクションに移動し、カスタマー マネージド キーを使用 するオプションを有効にします。
追加を選択 して、 ユーザー割り当てマネージド ID をリソースに割り当てます。 このマネージド ID は、カスタマー マネージド キーを保持する Azure Key Vault インスタンスに接続するために使用されます。
選択したユーザー割り当てマネージド ID を選択し、使用するキー入力方法を選択します。
[Azure Key Vaultとキーの選択] 入力方法を選択した場合は、カスタマー マネージド キーを保持するKey Vault インスタンスを選択します。 このインスタンスは、キャッシュと同じリージョンに存在する必要があります。
注
Azure Key Vault インスタンスを設定する方法については、Azure Key Vault クイックスタート ガイドを参照してください。 Key Vault選択の下にある キー コンテナーの作成リンクを選択して、新しいKey Vault インスタンスを作成することもできます。 Azure Key Vault インスタンスで、消去保護と論理的な削除の両方を有効にする必要があることに注意してください。
カスタマー マネージド キー (RSA) と [バージョン] ドロップダウンを使用して、特定のキーとバージョンを選択します。
URI 入力方法を選択した場合は、Azure Key Vaultから選択したキーのキー識別子 URI を入力します。
キャッシュのすべての情報を入力したら、[ 確認と作成] を選択します。
既存の Azure Managed Redis インスタンスに CMK 暗号化を追加する
キャッシュ インスタンスの [リソース] メニューの [ 暗号化 ] セクションに移動します。 CMK が既に設定されている場合は、キー情報が表示されます。
CMK を設定していない場合、または CMK 設定を変更する場合は、[ 暗号化設定の変更] を選択します。
カスタマー マネージド キーを使用する を選択して、構成オプションを表示します。
追加を選択 して、 ユーザー割り当てマネージド ID をリソースに割り当てます。 このマネージド ID は、カスタマー マネージド キーを保持する Azure Key Vault インスタンスに接続するために使用されます。
選択したユーザー割り当てマネージド ID を選択し、使用するキー入力方法を選択します。
[Azure Key Vaultとキーの選択] 入力方法を選択した場合は、カスタマー マネージド キーを保持するKey Vault インスタンスを選択します。 このインスタンスは、キャッシュと同じリージョンに存在する必要があります。
注
Azure Key Vault インスタンスを設定する方法については、Azure Key Vault クイックスタート ガイドを参照してください。 Key Vault選択の下にある キー コンテナーの作成リンクを選択して、新しいKey Vault インスタンスを作成することもできます。
カスタマー マネージド キー (RSA) ドロップダウンを使用して、特定のキーを選択します。 選択するキーのバージョンが複数ある場合は、バージョン ドロップダウンを使用します。
URI 入力方法を選択した場合は、Azure Key Vaultから選択したキーのキー識別子 URI を入力します。
保存を選びます。
カスタマー マネージド キーのキー ローテーション
セキュリティのベスト プラクティスとして、暗号化キーのキーローテーションと有効期限をスケジュールします。 Azure Managed Redis は、Azure Key Vaultで構成されたキーの最新バージョンを自動的に検出して使用します。
これは、ローテーションがトリガーされてから 2 時間以内に新しいキー バージョンを検出して使用します。 この 2 時間の期間が経過した後にのみ、キーを無効または期限切れにします。 そうしないと、キーへのアクセスが失われたため、キャッシュがオフラインになるリスクがあります。 キーローテーションは、基になるデータ暗号化キーを再ラップし、中断を引き起こしません。
注
2 時間のローテーション保証は、Azure Managed Redis にのみ適用されます。 他のサービスでは、キーローテーションの保証が異なる場合があります。
キーのローテーションが完了したことを確認するには、[リソース] メニューの [暗号化] を表示するときに、Azure ポータルで使用されているキーのバージョンを表示します。