客户管理的加密密钥 (CMEK)

默认情况下,Google Cloud 会使用 Google 管理的加密密钥自动加密数据。如果您有与保护数据的密钥相关的合规性或监管要求,则可以使用客户管理的加密密钥 (CMEK)。

如需详细了解 CMEK,请参阅 Cloud Key Management Service (KMS) 文档中的 CMEK 指南

受保护数据

所有对话式客服 (Dialogflow CX) 代理存储中的数据(数据静态)均可通过 CMEK 进行保护。

限制

  • 对于启用 CMEK 的代理,分析功能处于停用状态。
  • 数据存储代理不支持密钥轮替。没有数据存储区的对话代理 (Dialogflow CX) 代理 支持密钥轮替,从而使用新密钥加密新数据 版本。不支持使用新密钥版本重新加密之前加密的数据 支持。
  • global 位置 支持。
  • 每个项目位置应使用一个密钥。
  • 若要恢复已启用 CMEK 的代理,您必须选择 Cloud Storage 选项。
  • 非 CMEK 集成项目中的现有资源无法回溯性地集成 CMEK。建议您改为在新的项目中导出和恢复资源,以便使用 CMEK。

创建密钥

如需创建密钥,请使用 KMS 服务。如需相关说明,请参阅创建对称密钥。创建或选择密钥时,您必须配置以下内容:

  • 确保选择要用于代理的位置,否则请求将失败。
  • 对话代理 (Dialogflow CX) 不支持数据存储区代理的密钥轮替。如果您使用的是此类代理,则在创建密钥时必须将轮替周期设置为永不

配置代理以使用密钥

创建代理时 您可以指定 位置以及代理是否会使用 该营业地点由 Google 管理的密钥或已配置的客户管理的密钥。 请在此时进行选择。

配置您的服务账号或用户账号

  1. 使用 Google Cloud CLI 为您的项目创建 CCAI CMEK 服务账号。如需了解详情,请参阅 gcloud services identity 文档

    gcloud beta services identity create --service=dialogflow.googleapis.com --project=PROJECT_ID

    系统将创建服务账号。系统不会在创建响应中返回此 ID,但其格式如下:

    service-PROJECT_NUMBER@gcp-sa-ccai-cmek.iam.gserviceaccount.com
  2. 向 CCAI CMEK 服务账号授予 Cloud KMS CryptoKey Encrypter/Decrypter 角色,以确保该服务有权使用您的密钥进行加密和解密。

    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