Google Cloud では、デフォルトで、Google が管理する暗号鍵を使用してデータを自動的に暗号化します。データを保護する鍵について特定のコンプライアンスや規制の要件がある場合、顧客管理の暗号鍵(CMEK)を使用できます。
CMEK の詳細については、Cloud Key Management Service(KMS)のドキュメントの CMEK ガイドをご覧ください。
保護対象データ
すべての Dialogflow CX エージェントの 保存データは、CMEK で保護できます。
制限事項
- 現在、CMEK が有効になっているエージェントでは分析が無効になります。
- 現在、鍵のローテーションはデータストア エージェントではサポートされていません。データストアを使用しない Dialogflow CX エージェントは、鍵のローテーションをサポートしています。どちらのシナリオでも、以前に暗号化されたデータを新しい鍵バージョンで再暗号化することはできません。
- global ロケーションはサポートされていません。
- プロジェクトのロケーションごとに 1 つの鍵を使用する必要があります。
- CMEK を有効にしてエージェントを復元するには、Cloud Storage オプションを選択する必要があります。
- CMEK が統合されていないプロジェクトの既存のリソースを、過去にさかのぼって CMEK 統合することはできません。代わりに、CMEK を使用する新しいプロジェクトでリソースをエクスポートして復元することをおすすめします。
キーの作成
鍵を作成するには、KMS サービスを使用します。手順については、対称鍵の作成をご覧ください。鍵を作成または選択するときは、次のように構成する必要があります。
- エージェントに使用するロケーションを選択する必要があります。そうしないと、リクエストが失敗します。
- Dialogflow は、鍵のローテーションをサポートしていません。 鍵を作成する際は、ローテーション期間を [Never] に設定する必要があります。
鍵を使用するようにエージェントを構成する
エージェントを作成する際は、エージェントのロケーションと、エージェントが Google が管理する鍵または顧客管理の暗号鍵のどちらを使用するか指定できます。この時点でキーを選択します。
サービス アカウントまたはユーザー アカウントを構成する
Google Cloud CLI を使用して、プロジェクトの CCAI CMEK サービス アカウントを作成します。詳細については、gcloud services ID のドキュメントをご覧ください。
gcloud beta services identity create --service=dialogflow.googleapis.com --project=PROJECT_ID
サービス アカウントが作成されます。作成レスポンスでは返されませんが、次の形式になります。
service-PROJECT_NUMBER@gcp-sa-ccai-cmek.iam.gserviceaccount.com
CCAI CMEK サービス アカウントに Cloud KMS 暗号鍵の暗号化 / 復号のロールを付与して、サービスが鍵を使用して暗号化および復号するための権限を付与されている状態にします。
gcloud kms keys add-iam-policy-binding KMS_KEY_ID \ --project=PROJECT_ID \ --location=LOCATION_ID \ --keyring=KMS_KEY_RING \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-ccai-cmek.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter