顧客管理の暗号鍵(CMEK)を使用すると、鍵を制御できます。これにより、保護レベル、ロケーション、ローテーション スケジュール、使用とアクセスの権限、暗号境界を制御できます。データを保護する対称鍵暗号鍵(KEK)は Google が所有して管理するのではなく、ユーザーが Cloud Key Management Service(KMS)でこれらの鍵の制御と管理を行います。
始める前に
ユーザー アカウントに Memorystore 管理者のロールがあることを確認します。
CMEK を使用するインスタンスを作成するワークフロー
鍵の名前(
KEY_NAME)、鍵のロケーション、キーリングの名前(KEY_RING)をコピーするか書き留めます。この情報は、サービス アカウントに鍵へのアクセス権を付与するときに必要になります。プロジェクトに移動し、キーリングと鍵と同じリージョンで CMEK を有効にして Memorystore for Valkey インスタンスを作成します。
CMEK で Memorystore for Valkey インスタンスが有効になります。
キーリングと鍵を作成する
鍵リングと鍵を作成します。両方とも、Memorystore for Valkey インスタンスと同じリージョンに存在する必要があります。鍵が同じリージョンにある限り、別のプロジェクトの鍵であっても問題ありません。また、鍵には対称暗号化アルゴリズムを使用する必要があります。
キーリングと鍵を作成したら、KEY_NAME、鍵のロケーション、KEY_RING をコピーするか書き留めます。この情報は、サービス アカウントに鍵へのアクセス権を付与するときに必要になります。
Memorystore for Valkey サービス アカウントに鍵へのアクセス権を付与する
CMEK を使用する Memorystore for Valkey インスタンスを作成する前に、特定の Memorystore for Valkey サービス アカウントに鍵へのアクセス権を付与する必要があります。
gcloud CLI を使用して、サービス アカウントに鍵へのアクセス権を付与できます。サービス アカウントにアクセス権を付与するには、次の形式を使用します。
service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com
gcloud
サービス アカウントに鍵へのアクセス権を付与するには、gcloud kms keys add-iam-policy-binding コマンドを使用します。
gcloud kms keys add-iam-policy-binding \ projects/PROJECT_ID/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
次のように置き換えます。
- PROJECT_ID: キーリングを含むプロジェクトの ID または番号
- REGION_ID: キーリングが配置されているリージョン
- KEY_RING: 鍵を含むキーリングの名前
- KEY_NAME: サービス アカウントにアクセス権を付与する鍵の名前
- PROJECT_NUMBER: サービス アカウントを含むプロジェクトの ID または番号
CMEK を使用する Memorystore for Valkey インスタンスを作成する
CMEK を使用するインスタンスは、gcloud CLI を使用して作成できます。
gcloud
CMEK を使用するインスタンスを作成するには、gcloud memorystore instances create コマンドを使用します。
gcloud memorystore instances create INSTANCE_ID \
--project=PROJECT_NAME \
--location=REGION_ID \
--endpoints='[{"connections": [{"pscAutoConnection": {"network": "projects/PROJECT_NAME/global/networks/NETWORK_ID", "projectId": "PROJECT_NAME"}}]}]' \
--kms-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--shard-count=SHARD_NUMBER \
--persistence-config-mode=PERSISTENCE_CONFIG_MODE
次のように置き換えます。
- INSTANCE_ID: 作成するインスタンスの ID。
- PROJECT_NAME: インスタンスを作成するプロジェクトの名前。
- REGION_ID: インスタンスを配置するリージョンの ID。
- NETWORK_ID: インスタンスの作成に使用するネットワークの ID。
- KEY_RING: 鍵を含むキーリングの名前。
- KEY_NAME: 鍵の名前
- SHARD_NUMBER: インスタンスに必要なシャードの数。
- PERSISTENCE_CONFIG_MODE: インスタンスの永続モード。このモードは次のいずれかの値に設定できます。
aof: インスタンスの追記専用ファイル(AOF)ベースの永続性を有効にします。disabled: インスタンスの永続性を無効にします。rdb: インスタンスの Redis データベース(RDB)ベースの永続性を有効にします。
CMEK 対応インスタンスの鍵情報を表示する
CMEK 対応インスタンスに関する情報は、gcloud CLI を使用して表示できます。この情報には、インスタンスで CMEK が有効になっているかどうかと、有効な鍵が含まれます。
gcloud
CMEK が有効かどうかを確認し、キー参照を確認するには、gcloud memorystore instances describe コマンドを使用して encryptionInfo フィールドと kmsKey フィールドを表示します。
gcloud memorystore instances describe INSTANCE_ID \ --project=PROJECT_NAME \ --location=REGION_ID
次のように置き換えます。
- INSTANCE_ID: 情報を表示するインスタンスの ID
- PROJECT_NAME: インスタンスを含むプロジェクトの名前
- REGION_ID: インスタンスが配置されているリージョンの ID
鍵バージョンを管理する
鍵バージョンの無効化、破棄、ローテーション、有効化、復元を行うとどうなるかについては、CMEK 鍵バージョンの動作をご覧ください。
鍵バージョンの無効化と再有効化の手順については、鍵バージョンの有効化と無効化をご覧ください。
鍵バージョンの破棄と復元の手順については、鍵バージョンの破棄と復元をご覧ください。
次のステップ
- バックアップについての詳細を学習する。
- 永続性の詳細を確認する。