顧客管理の暗号鍵(CMEK)を使用すると、鍵を制御できます。これにより、保護レベル、ロケーション、ローテーション スケジュール、使用とアクセスの権限、暗号境界を制御できます。データを保護する対称鍵暗号鍵(KEK)は Google が所有して管理するのではなく、ユーザーが Cloud Key Management Service(KMS)でこれらの鍵の制御と管理を行います。
始める前に
ユーザー アカウントに Redis 管理者のロールがあることを確認します。
CMEK を使用するインスタンスを作成するワークフロー
鍵の名前(
KEY_NAME)、鍵のロケーション、キーリングの名前(KEY_RING)をコピーするか書き留めます。この情報は、サービス アカウントに鍵へのアクセス権を付与するときに必要になります。プロジェクトに移動し、キーリングと鍵と同じリージョンで CMEK を有効にして Memorystore for Redis インスタンスを作成します。
CMEK で Memorystore for Redis インスタンスが有効になります。
キーリングと鍵を作成する
鍵リングと鍵を作成します。両方とも、Memorystore for Redis インスタンスと同じリージョンに存在する必要があります。鍵が同じリージョンにある限り、別のプロジェクトの鍵であっても問題ありません。また、鍵には対称暗号化アルゴリズムを使用する必要があります。
キーリングと鍵を作成したら、KEY_NAME、鍵のロケーション、KEY_RING をコピーするか書き留めます。この情報は、サービス アカウントに鍵へのアクセス権を付与するときに必要になります。
Memorystore for Redis サービス アカウントに鍵へのアクセス権を付与する
CMEK を使用する Memorystore for Redis インスタンスを作成する前に、特定の Memorystore for Redis サービス アカウントに鍵へのアクセス権を付与する必要があります。サービス アカウントに鍵へのアクセス権を付与するには、 Google Cloud コンソールまたは Google Cloud CLI を使用します。
サービス アカウントにアクセス権を付与するには、次の形式を使用します。
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
コンソール
サービス アカウントに鍵へのアクセス権を付与するには、CMEK を使用する Memorystore for Redis インスタンスの作成の手順を行います。
gcloud
サービス アカウントに鍵へのアクセス権を付与するには、gcloud kms keys add-iam-policy-binding コマンドを使用します。
gcloud kms keys add-iam-policy-binding KEY_NAME \ --location=REGION_ID \ --keyring=KEY_RING \ --member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
次のように置き換えます。
- KEY_NAME: サービス アカウントにアクセス権を付与する鍵の名前
- REGION_ID: キーリングが配置されているリージョン
- KEY_RING: 鍵を含むキーリングの名前
- PROJECT_NUMBER: サービス アカウントを含むプロジェクトの ID または番号
CMEK を使用する Memorystore for Redis インスタンスを作成する
CMEK を使用するインスタンスは、 Google Cloud コンソールまたは gcloud CLI を使用して作成できます。
コンソール
インスタンスを作成するリージョンと同じリージョンにキーリングと鍵を作成してください。
VPC ネットワークで Redis インスタンスを作成するの手順に沿って、CMEK を有効にする手順まで進みます。その後、こちらの手順に戻ります。
[顧客管理の暗号鍵(CMEK)を使用する] を選択します。
鍵を選択するには、メニューを使用します。
インスタンスの残りの構成を選択し、[作成] をクリックします。
gcloud
CMEK を使用するインスタンスを作成するには、gcloud redis instances create コマンドを使用します。
gcloud redis instances create INSTANCE_ID \ --size=SIZE \ --region=REGION_ID \ --customer-managed-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME
次のように置き換えます。
- INSTANCE_ID: 作成するインスタンスの ID
- SIZE: 作成するインスタンスのサイズ(ギビバイト(GiB)単位)
- REGION_ID: インスタンスを配置するリージョンの ID
- PROJECT_NAME: インスタンスを作成するプロジェクトの名前
- KEY_RING: 鍵を含むキーリングの名前
- KEY_NAME: 鍵の名前
CMEK 対応インスタンスの鍵情報を表示する
CMEK 対応インスタンスの鍵情報は、Google Cloud コンソールまたは gcloud CLI を使用して表示できます。この情報には、有効な鍵と、インスタンスで CMEK が有効になっているかどうかが含まれます。
コンソール
Google Cloud コンソールで [インスタンス] ページに移動します。
インスタンスの ID をクリックします。
左側のペインで [セキュリティ] タブをクリックします。[セキュリティ] ページには、有効な鍵へのリンクとキー参照のパスが表示されます。この情報が表示されない場合は、インスタンスで CMEK が有効になっていません。
gcloud
CMEK が有効かどうかを確認し、キー参照を確認するには、gcloud redis instances describe コマンドを使用して customerManagedKey フィールドを表示します。
gcloud redis instances describe INSTANCE_ID \ --project=PROJECT_NAME \ --region=REGION_ID
次のように置き換えます。
- INSTANCE_ID: 情報を表示するインスタンスの ID
- PROJECT_NAME: インスタンスを含むプロジェクトの名前
- REGION_ID: インスタンスが配置されているリージョンの ID
鍵バージョンを管理する
鍵バージョンの無効化、破棄、ローテーション、有効化、復元を行うとどうなるかについては、CMEK 鍵バージョンの動作をご覧ください。
鍵バージョンの無効化と再有効化の手順については、鍵バージョンの有効化と無効化をご覧ください。
鍵バージョンの破棄と復元の手順については、鍵バージョンの破棄と復元をご覧ください。
次のステップ
- Redis AUTH の詳細を確認する。
- 転送データの暗号化の詳細を確認する。