デフォルトでは、Memorystore for Valkey はお客様のコンテンツを保存時に暗号化します。Memorystore for Valkey では、ユーザーが追加で操作を行わなくても暗号化が行われます。このオプションは、Google のデフォルトの暗号化と呼ばれます。
暗号鍵を管理する場合は、Cloud KMS の顧客管理の暗号鍵(CMEK)を、Memorystore for Valkey などの CMEK 統合サービスで使用できます。Cloud KMS 鍵を使用すると、保護レベル、ロケーション、ローテーション スケジュール、使用とアクセスの権限、暗号境界を制御できます。 Cloud KMS を使用すると、監査ログを表示し、鍵のライフサイクルを管理することも可能です。 データを保護する対称鍵暗号鍵(KEK)は Google が所有して管理するのではなく、ユーザーが Cloud KMS でこれらの鍵を制御および管理します。
CMEK を使用してリソースを設定した後は、Memorystore for Valkey リソースへのアクセスは、Google のデフォルトの暗号化を使用する場合と同様です。暗号化オプションの詳細については、顧客管理の暗号鍵(CMEK)をご覧ください。
CMEK の対象ユーザー
CMEK は、機密データや規制対象データを保管し、暗号化する必要がある組織を対象としています。このデータの暗号化に CMEK を使用するかどうかについては、CMEK を使用するかどうかを決定するをご覧ください。
Google が管理する暗号鍵と顧客管理の暗号鍵の比較
CMEK 機能を使用すると、独自の暗号鍵を Memorystore for Valkey の保存データに使用できます。CMEK 対応の Memorystore for Valkey インスタンスの場合、Google は鍵を使用してすべての保存データにアクセスします。
Memorystore は、Google が管理するデータ暗号鍵(DEK)と鍵暗号鍵(KEK)を使用して、Memorystore for Valkey のデータを暗号化します。暗号化には次の 2 つのレベルがあります。
- DEK 暗号化: Memorystore は DEK を使用して、Memorystore for Valkey のデータを暗号化します。
- KEK 暗号化: Memorystore は KEK を使用して DEK を暗号化します。
Memorystore for Valkey インスタンスは、暗号化された DEK と暗号化されたデータをディスクに保存し、Google は Google KEK を管理します。CMEK は DEK をラップする KEK です。CMEK を使用すると、KEK の作成、無効化または破棄、ローテーション、有効化または復元を行うことができます。
次の図は、デフォルトの Google マネージド暗号化と CMEK を使用した場合の Memorystore for Valkey インスタンス内での保存データの暗号化の仕組みを示しています。
CMEK を使用しない場合
CMEK を使用する場合
CMEK でラップされたデータを復号する場合、Memorystore は Cloud Key Management Service の KEK を使用して DEK を復号し、復号した DEK を使用して保存データを復号します。

料金
Memorystore for Valkey では、CMEK を有効にしたインスタンスに対して他のインスタンスと同様に課金されます。追加料金は発生しません。詳細については、Memorystore for Valkey の料金をご覧ください。
Cloud KMS API を使用して CMEK を管理します。CMEK を使用して Memorystore for Valkey インスタンスを作成すると、Memorystore は鍵を定期的に使用してデータを暗号化します。
Memorystore for Valkey が鍵を使用すると、Cloud KMS から鍵の費用と暗号化 / 復号オペレーションの費用が請求されます。詳細については、Cloud KMS の料金をご覧ください。
CMEK を使用してどのようなデータが暗号化されますか?
CMEK は、永続ストレージに保存されている次のタイプの顧客データを暗号化します。
- バックアップ: バックアップを使用すると、データを特定の時点まで復元できるほか、データをエクスポートして分析することもできます。バックアップは、障害復旧、データ移行、データ共有、コンプライアンスのシナリオにも役立ちます。
- 永続性: Memorystore for Valkey は、次の 2 種類の永続性をサポートしています。
- RDB 永続性: この機能は、耐久性の高いストレージにデータのスナップショットを保存することでデータを保護します。
- AOF 永続性: この機能はデータの耐久性を優先します。すべての書き込みコマンドを Append-Only File(AOF)と呼ばれるログファイルに記録することで、データを耐久的に保存します。システム障害または再起動が発生すると、サーバーは AOF ファイル コマンドを順番に再生してデータを復元します。
サービス アカウントについて
CMEK を使用してインスタンスを作成する場合は、次の形式の Memorystore for Valkey サービス アカウントに cloudkms.cryptoKeyEncrypterDecrypter ロールを付与する必要があります。
service-PROJECT_NUMBER@gcp-sa-memorystore.
この権限を付与することで、サービス アカウントは Cloud KMS から鍵のアクセスをリクエストできるようになります。
この権限をサービス アカウントに付与する手順については、Memorystore for Valkey サービス アカウントに鍵へのアクセス権を付与するをご覧ください。
鍵について
Cloud KMS では、対称暗号化アルゴリズムを使用する暗号鍵を使用してキーリングを作成する必要があります。Memorystore for Valkey インスタンスを作成するときに、この鍵を選択してインスタンスを暗号化します。鍵とインスタンスの両方に対し 1 つのプロジェクトを作成できます。また、それぞれに異なるプロジェクトを作成することもできます。
CMEK は、すべての Memorystore for Valkey インスタンスのロケーションで使用できます。キーリングと鍵は、インスタンスを作成するリージョンと同じリージョンに作成する必要があります。マルチリージョン インスタンスの場合、キーリングと鍵はインスタンスと同じロケーションに設定する必要があります。リージョンまたはロケーションが一致しない場合、インスタンスの作成リクエストは失敗します。
鍵のリソース ID には、CMEK は次の形式を使用します。
projects/CMEK_ENABLED_PROJECT/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
外部鍵
Cloud External Key Manager(Cloud EKM)を使用すると、管理対象の外部鍵を使用してGoogle Cloud 内のデータを暗号化できます。
Cloud EKM 鍵を使用する場合、Google は外部管理鍵の可用性をコントロールできません。インスタンスの作成時に鍵が使用できない場合、インスタンスは作成されません。
外部鍵を使用する際のその他の考慮事項については、Cloud External Key Manager をご覧ください。
CMEK で暗号化されたデータに永続的にアクセスできなくするにはどうすればよいですか?
CMEK で暗号化されたデータに永続的にアクセスできないようにする必要が生じることも考えられます。これを行うには、鍵バージョンを破棄します。鍵のバージョンの破棄の詳細については、鍵バージョンの破棄と復元をご覧ください。
CMEK 鍵バージョンの動作
このセクションでは、鍵バージョンの無効化、破棄、ローテーション、有効化、復元を行うとどうなるかについて説明します。
CMEK 鍵バージョンを無効にするか破棄する
CMEK のプライマリ鍵バージョンを無効にするか破棄すると、バックアップと永続性について次の条件が適用されます。
バックアップ
- オンデマンドまたは自動のバックアップを作成することはできません。ただし、古い鍵バージョンを有効にすると、この鍵バージョンを使用して作成したバックアップにアクセスできます。
- プライマリ キー バージョンを有効にするか復元するまで、自動バックアップを更新または再度有効にすることはできません。
永続性
- 永続性を使用するようにインスタンスを構成すると、鍵バージョンが使用できなくなったときに、Memorystore for Valkey は永続性機能を無効にします。この機能の料金は請求されなくなります。
- Memorystore for Valkey は、CMEK を使用して新しいデータを永続ストレージにフラッシュしません。
- Memorystore for Valkey は、永続ストレージに存在する既存のデータを読み取ることができません。
- 主キーのバージョンを有効にするか復元するまで、永続性を更新または再有効化することはできません。
CMEK のプライマリ鍵バージョンを有効にしても、古い鍵バージョンを無効にするか破棄すると、バックアップと永続性について次の条件が適用されます。
- バックアップを作成できます。ただし、無効または破棄された古い鍵バージョンでバックアップが暗号化されている場合、バックアップにはアクセスできません。
- 永続性を有効にすると、この機能は有効なままになります。永続性で使用されている古い鍵バージョンが無効または破棄されると、Memorystore for Valkey はメンテナンスで使用されるものと同様の更新を実行し、主キー バージョンでデータを再暗号化します。
プライマリ CMEK 鍵バージョンをローテーションする
CMEK のプライマリ鍵バージョンをローテーションして新しいプライマリ鍵バージョンを作成すると、バックアップと永続性について次の条件が適用されます。
- CMEK の最新のプライマリ鍵バージョンで新しいバックアップが暗号化されます。
- 既存のバックアップでは、再暗号化は行われません。
- 永続性の場合、ノードは何もアクションを行いません。ノードは、次のメンテナンス イベントまで古い鍵バージョンを引き続き使用します。
CMEK で保護されたデータを手動で再暗号化する
Memorystore for Valkey は、既存の保存データのオンデマンド再ラップをサポートしていません。新しい鍵バージョンを使用して既存のバックアップまたはアクティブな永続ファイルに再暗号化するプロセスを手動でトリガーすることはできません。ただし、新しい鍵バージョンを使用して、新しく書き込まれたデータを暗号化することはできます。
鍵をローテーションし、インスタンスで新しい鍵バージョンを強制的に使用する必要がある場合は、バックアップと永続性について次の条件が適用されます。
バックアップ
既存のバックアップを再ラップすることはできません。コンプライアンスで、すべてのデータを最新の鍵で暗号化する必要がある場合は、この鍵を使用するバックアップを作成し、既存のバックアップを手動で削除します。このバックアップを Cloud Storage バケットにエクスポートして、Cloud Storage 暗号鍵を使用することもできます。
永続性
インスタンスで新しい KMS 鍵を強制的に使用するには、インスタンスでシミュレートされたメンテナンスを実行します。このオペレーションが完了すると、Memorystore for Valkey は更新されたプライマリ鍵バージョンを使用して永続データを書き込むことができます。
保護された KMS 鍵を置き換える
保護された KMS 鍵を別の KMS 鍵または新しいプライマリ鍵バージョンに置き換えると、Memorystore for Valkey はこの変更を将来のオペレーションにのみ適用します。
保護された KMS 鍵を置き換えると、リソースに次のような影響があります。
- バックアップ: 後続のすべてのバックアップは、新しい KMS 鍵を使用して暗号化されます。既存のバックアップは元の鍵を保持します。
- 永続性: 次回インスタンスが再起動するか、メンテナンス イベントが発生したときに、新しい KMS 鍵が使用されます。
- プライマリ キャッシュ: このキーを置き換えても影響はありません。CMEK は、メモリ内のデータを保存データと見なさないため、メモリ内のデータを暗号化しません。
プライマリ CMEK 鍵バージョンを有効にするか復元する
CMEK のプライマリ鍵バージョンを有効にするか復元すると、バックアップと永続性について次の条件が適用されます。
- オンデマンド バックアップと自動バックアップを再度作成できます。
- Memorystore for Valkey は、メンテナンスで使用されるものと同様の更新を実行し、永続性を再度有効にします。
制限事項
Memorystore for Valkey で CMEK を使用する場合、次の制限が適用されます。
- 既存の Memorystore for Valkey インスタンスで CMEK を有効にすることはできません。
- 鍵、キーリング、インスタンスは同じリージョンに配置する必要があります。
- 鍵には対称暗号化アルゴリズムを使用する必要があります。
- Cloud KMS の暗号化と復号の割合は、割り当ての対象になります。
CMEK の組織のポリシーの制約について
Memorystore for Valkey は、CMEK の組織のポリシーの制約をサポートしています。これらの制約を使用すると、インスタンスの CMEK 保護を適用し、この保護に使用できる Cloud KMS 鍵を制限できます。
次の組織のポリシーの制約を構成できます。
constraints/gcp.restrictNonCmekServices: この制約を使用して、インスタンスの CMEK 保護を適用します。Memorystore for Valkey API がこの制約のサービスのDenyポリシーリストに含まれている場合、CMEK で保護されていないインスタンスを作成することはできません。constraints/gcp.restrictCmekCryptoKeyProjects: この制約を使用して、CMEK 保護に使用できる Cloud KMS 鍵を制限します。この制約を構成すると、CMEK 暗号化を使用するインスタンスは、許可されたプロジェクト、フォルダ、または組織の鍵を使用する必要があります。