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

默认情况下,Customer Experience Insights 会静态加密客户内容。CX Insights 会为您处理加密,无需您执行任何 其他操作。此选项称为“Google 默认加密”

如果您想要控制加密密钥,则可以将 Cloud KMS 中客户管理的加密密钥 (CMEK) 与集成 CMEK 的服务(包括 CX Insights)结合使用。使用 Cloud KMS 密钥时,您可以控制其保护 级别、位置、轮替时间表、使用和访问权限以及加密边界。 此外,您还可使用 Cloud KMS 查看审核日志并控制密钥生命周期。这样您就可以在 Cloud KMS 中控制和管理用于保护数据的对称 密钥加密密钥 (KEK),而不是由 Google 拥有和管理这些密钥。

使用 CMEK 设置资源后,访问 CX Insights 资源的体验与使用 Google 默认加密功能类似。 如需详细了解加密 选项,请参阅客户管理的加密密钥 (CMEK)

受保护数据

受支持位置的所有 Insights 静态数据都可以使用 CMEK 进行保护。

支持的位置

CMEK 在除 global 之外的所有 Insights 位置 均可用。

限制

对于涉及将数据出站到客户拥有的其他 Google Cloud 产品实例的功能,请在相应 Google Cloud 产品中配置 CMEK。

创建密钥

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

  • 请务必选择用于 Insights 数据的 位置 ,否则请求将失败。

在 Insights 中启用 CMEK

在特定位置创建任何 Insights 数据之前, 您可以指定此位置中的数据是否受 客户管理的密钥保护(即启用 CMEK)。请立即配置密钥。

前提条件

  1. 使用为您的项目创建 Insights 服务帐号 Google Cloud。如需了解详情, 请参阅 Google Cloud 服务身份文档

    gcloud beta services identity create --service=contactcenterinsights.googleapis.com --project=PROJECT_ID
    
  2. 向 CCAI CMEK 服务代理授予加密密钥的 Cloud KMS CryptoKey Encrypter/Decrypter 角色,以确保服务代理拥有使用您的密钥进行加密和解密的 权限。服务代理的电子邮件地址为:

    service-PROJECT_NUMBER@gcp-sa-ccai-cmek.

为 Insights 位置配置密钥

  1. 使用 InitializeEncryptionSpec API 配置密钥。

    您需要提供以下变量:

    • PROJECT_ID:您的 Google Cloud 项目 ID
    • LOCATION_ID:您选择在 Insights 中启用 CMEK 的位置。
    • KMS_KEY_NAME:KMS 密钥的名称,该密钥将用于加密或解密所选位置中的 Insights 数据。
      • KMS 密钥名称中的位置(例如 projects/<project_id>/locations/<location_id>/keyRings/<key_ring>/cryptoKeys/<key_name>) 必须与您要启用 CMEK 的所选位置一致。
      • 您需要在前提条件步骤 2 中授予对此密钥的访问权限。

    例如:

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        -d '{ encryption_spec: { kms_key: "KMS_KEY_NAME" } }' \
        "https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/encryptionSpec:initialize"
    

    您应该收到类似以下内容的 JSON 响应:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID"
    }
    
  2. 使用 GetOperation API 检查长时间运行的操作结果。

    例如:

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 
        "https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID"
    

检查 CMEK 设置

使用 GetEncryptionSpec API 检查为某个位置配置的加密密钥。

例如:

  curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/encryptionSpec"

撤消密钥

如需撤消 Insights 对密钥的访问权限,您可以停用 KMS 密钥版本,或从 KMS 密钥中移除服务帐号的Cloud KMS CryptoKey Encrypter/Decrypter角色。