このページでは、AlloyDB for PostgreSQL の顧客管理の暗号鍵(CMEK)を作成、構成、適用する方法について説明します。
CMEK の詳細については、CMEK についてをご覧ください。
AlloyDB の CMEK 鍵を作成して承認する
Cloud Key Management Service(Cloud KMS)で鍵を作成します。AlloyDB は、次の種類の鍵をサポートしています。
鍵は AlloyDB クラスタと同じロケーションにあることが必要です。たとえば、
us-west1にある AlloyDB クラスタは、us-west1にある鍵のみを使用できます。すでに適切な場所に Cloud KMS 鍵を配置している場合は、この手順をスキップできます。
AlloyDB に鍵へのアクセス権を付与します。
- Google Cloud CLI を使用して、サービス エージェントを作成して表示します。アカウントがすでに存在する場合は、それを表示します。
gcloud beta services identity create --service=alloydb.googleapis.com \ --project=PROJECTgcloud services identity コマンドは、ユーザーに代わって AlloyDB が Cloud KMS 鍵にアクセスする際に使用するサービス エージェントを作成または取得します。
サービス アカウント ID はメールアドレスに似ています。
Service identity created: service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com- サービス アカウントに
cloudkms.cryptoKeyEncrypterDecrypterロールを付与します。
gcloud kms keys add-iam-policy-binding KEY \ --location REGION \ --keyring KEYRING \ --project=PROJECT \ --member serviceAccount:service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter次のように置き換えます。
- KEY: 鍵の Cloud KMS ID
- REGION: 鍵のリージョン(例:
us-central1) - PROJECT: 鍵のプロジェクトの ID。
- KEYRING: 鍵の Cloud KMS キーリングの ID
このロールにより、この Cloud KMS 鍵を使用して暗号化と復号を行う権限がサービス アカウントに付与されます。詳細については、Cloud KMS の権限とロールをご覧ください。
CMEK で暗号化されたクラスタを作成する
新しいクラスタを作成するときに、クラスタの暗号化にデフォルトの Google 管理の暗号化を使用するか、代わりに CMEK 鍵を使用するかを選択できます。詳細については、クラスタとそのプライマリ インスタンスを作成するをご覧ください。
クラスタの暗号化方法と CMEK 鍵を表示する
コンソール
[クラスタ] ページの [暗号化] 列には、プロジェクト内の各クラスタが Google 管理の暗号化と CMEK のどちらを使用しているかが表示されます。
CMEK を使用しているクラスタの鍵の詳細を表示するには、[リソース名] 列で鍵の名前をクリックします。詳細ページが表示され、[暗号鍵] フィールドに鍵の説明(独自の Cloud KMS 詳細ページへのリンクを含む)が示されます。
gcloud
gcloud alloydb clusters
describe コマンドを呼び出します。
gcloud alloydb clusters describe CLUSTER \
--project