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 identity のドキュメントをご覧ください。
gcloud beta services identity create --service=dialogflow.googleapis.com --project=PROJECT_ID
サービス アカウントが作成されます。create レスポンスでは返されませんが、次の形式になります。
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