暗号鍵でデータを保護する

このページでは、AlloyDB for PostgreSQL の顧客管理の暗号鍵(CMEK)を作成、構成、適用する方法について説明します。

CMEK の詳細については、CMEK についてをご覧ください。

AlloyDB の CMEK 鍵を作成して承認する

  1. Cloud Key Management Service(Cloud KMS)で鍵を作成します。AlloyDB は、次の種類の鍵をサポートしています。

    鍵は AlloyDB クラスタと同じロケーションにあることが必要です。たとえば、us-west1 にある AlloyDB クラスタは、us-west1 にある鍵のみを使用できます。

    すでに適切な場所に Cloud KMS 鍵を配置している場合は、この手順をスキップできます。

  2. AlloyDB に鍵へのアクセス権を付与します。

    1. Google Cloud CLI を使用して、サービス エージェントを作成して表示します。アカウントがすでに存在する場合は、それを表示します。
        gcloud beta services identity create --service=alloydb.googleapis.com \
            --project=PROJECT

    gcloud services identity コマンドは、ユーザーに代わって AlloyDB が Cloud KMS 鍵にアクセスする際に使用するサービス エージェントを作成または取得します。

    サービス アカウント ID はメールアドレスに似ています。

        Service identity created: service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com
    
    1. サービス アカウントに 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