顧客管理の暗号鍵(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 鍵バージョンの動作をご覧ください。
鍵バージョンの無効化と再有効化の手順については、鍵バージョンの有効化と 無効化をご覧ください。
鍵バージョンの破棄と復元の手順については、鍵バージョンの破棄と復元をご覧ください。