顧客管理の暗号鍵(CMEK)を使用する

このページでは、顧客管理の暗号鍵を使用する Memorystore for Redis インスタンスの作成手順を説明します。また、CMEK を使用するインスタンスを管理する手順も説明します。Memorystore の顧客管理の暗号鍵の詳細については、顧客管理の暗号鍵をご覧ください。

準備

  1. ユーザー アカウントに Redis 管理者のロールがあることを確認します。

    [IAM] ページに移動

CMEK を使用するインスタンスを作成するためのワークフロー

  1. Memorystore インスタンスを配置する場所にキーリングを作成し、鍵を作成します。

  2. 鍵の鍵 ID(KMS_KEY_ID)、鍵の場所、キーリングの ID(KMS_KEYRING_ID)をコピーするか書き留めます。この情報は、サービス アカウントに鍵へのアクセス権を付与するときに必要になります。

  3. サービス アカウントにリソースへのアクセス権を付与します。

  4. プロジェクトに移動し、キーリングと鍵と同じリージョンで CMEK を有効にして Memorystore for Redis インスタンスを作成します。

CMEK で Memorystore for Redis インスタンスが有効になります。

鍵とキーリングの作成

手順に沿ってキーリングを作成し、鍵を作成します。どちらも Redis インスタンスと同じリージョンに存在する必要があります。鍵が同じリージョンにある限り、別のプロジェクトの鍵であっても問題ありません。また、鍵には対称暗号化アルゴリズムを使用する必要があります。

サービス アカウントにリソースへのアクセス権を付与する

CMEK を使用する Redis インスタンスを作成するには、まず特定の Memorystore サービス アカウントに鍵へのアクセス権を付与する必要があります。次の形式を使用する Memorystore サービス アカウントにアクセス権を付与します。

service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com

Console

コンソールを使用する場合は、CMEK を使用する redis インスタンスの作成手順の一部として、サービス アカウントに鍵へのアクセス権を付与します。

gcloud

サービス アカウントにキーへのアクセス権を付与するには、次のコマンドを実行します。ここで、VARIABLES は適切な値に置き換えます。

gcloud kms keys add-iam-policy-binding [KMS_KEY_ID] \
--location=[REGION_ID] \
--keyring=[KMS_KEYRING_ID] \
--member=serviceAccount:service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

CMEK を使用する Memorystore for Redis インスタンスの作成

顧客管理の暗号鍵を使用してインスタンスを作成するには:

Console

  1. まず、Memorystore インスタンスを作成するリージョンと同じリージョンにキーリングと鍵を用意します。

  2. 顧客管理の暗号鍵を有効にする手順に達するまで、Redis インスタンスの作成の手順に沿って操作し、以下の手順に戻ります。

  3. [顧客管理の暗号鍵(CMEK)を使用する] を選択します。

  4. プルダウン メニューを使用して鍵を選択します。

  5. Memorystore サービス アカウントに必要な権限が付与されていない場合は、次のテキスト ボックスが表示されます。

    The service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com service account does not have the "cloudkms.cryptoKeyEncrypterDecrypter" role. Verify the service account has permission to encrypt/decrypt with the selected key.

    • [付与] ボタンをクリックして、Memorystore サービス アカウントにロールの権限を付与してください。
  6. インスタンスに必要な構成を選択し、[作成] ボタンをクリックして、CMEK を有効化した Memorystore for Redis インスタンスを作成します。

gcloud

顧客管理の暗号鍵を使用するインスタンスを作成するには、次のコマンドを入力します。VARIABLES は適切な値に置き換えてください。

gcloud beta redis instances create [INSTANCE_ID] --size=[SIZE] \
--region=[REGION_ID] \
--customer-managed-key=projects/[PROJECT_NAME]/locations/[REGION_ID]/keyRings/[KEYRING_NAME]/cryptoKeys/[KEY_NAME]

CMEK 対応インスタンスの鍵情報の表示

次の手順に沿って、インスタンスで CMEK が有効になっているかどうか確認します。また、有効な鍵を表示します。

Console

  1. Google Cloud コンソールで、[Memorystore for Redis インスタンス] ページに移動します。

    Memorystore for Redis

  2. インスタンス ID をクリックして、インスタンスの [インスタンスの詳細] ページを表示します。

  3. [セキュリティ] タブをクリックします。

  4. [顧客管理の暗号鍵による暗号化] セクションには、有効な鍵へのリンクとキー参照のパスが表示されます。このセクションが表示されない場合は、インスタンスで CMEK が有効になっていません。

gcloud

CMEK が有効かどうかを確認し、キー参照を確認するには、次のコマンドを実行して customerManagedKey フィールドを表示します。

gcloud beta redis instances describe INSTANCE_ID --project=PROJECT --region=REGION

鍵バージョンの無効化と再有効化

鍵バージョンを無効化、有効化、破棄、再有効化する方法については、CMEK 鍵バージョンの破棄 / 無効化の動作をご覧ください。

鍵バージョンの無効化と再有効化の手順については、鍵バージョンの有効化と無効化をご覧ください。

鍵バージョンを無効化および再有効化する方法については、鍵バージョンの破棄と復元をご覧ください。

次のステップ