Claude Platform Docs
管理加密密钥(CMEK)

为 CMEK 配置 Google Cloud KMS

使用 Google Cloud KMS 为您的组织提供加密密钥。

Claude Code

让 Claude Code 为您设置此功能

/claude-api 帮我使用 Google Cloud KMS 配置客户管理的加密密钥

本指南将引导您将 Google Cloud KMS 密钥配置为您的 Anthropic 组织的客户管理加密密钥(customer-managed encryption key,CMEK)。

前提条件

  • 一个已启用计费的 Google Cloud 项目。
  • 已启用 Cloud KMS API(cloudkms.googleapis.com)。
  • 创建 KMS 密钥环和密钥以及对其设置 IAM 策略的权限(roles/cloudkms.admin 或等效权限)。
  • 您组织的 Anthropic Admin API 密钥。
  • 已安装并通过身份验证的 gcloud CLI。
  • 为项目启用 Cloud KMS 数据访问审计日志(IAM & Admin > Audit Logs > Cloud Key Management Service,启用 DATA_READ 和 DATA_WRITE)。这些默认是关闭的;如果没有它们,Anthropic 的加密和解密操作不会在 Cloud Logging 中产生任何条目。

Anthropic 服务账户电子邮件

要让 Anthropic 使用您的加密密钥,您必须为 Anthropic 的服务账户提供一个可用于加密数据的密钥。Anthropic CMEK 的服务账户电子邮件为:

anthropic-cmek-client-us@gcp-anthropic-cmek-clients.iam.gserviceaccount.com

加密密钥设置

  1. 创建或选择密钥环

    如果您已有可重用的密钥环,请跳过此步骤。密钥环是区域性的。选择一个与您正在配置的 Anthropic 地理位置匹配的单区域美国位置,例如 us-east5。不支持 us 和 global 等多区域位置。

    gcloud kms keyrings create <your-keyring-name> \
      --project=<your-project-id> \
      --location=<region>
  2. 创建加密密钥

    创建一个具有 ENCRYPT_DECRYPT 用途的对称密钥。Anthropic 强烈建议使用 HSM 保护:Cloud KMS HSM 密钥已通过 FIPS 140-2 Level 3 验证,并且相对于软件密钥的成本差异很小。

    --labels 选项添加组织标签 anthropic-org-<ORGANIZATION_UUID>,其值为 true,其中 <ORGANIZATION_UUID> 是您的 Anthropic 组织 ID(小写)。Anthropic 需要此标签来验证密钥。

    gcloud kms keys create <KEY_NAME> \
      --project=<PROJECT_ID> \
      --location=<REGION> \
      --keyring=<KEYRING_NAME> \
      --purpose=encryption \
      --protection-level=hsm \
      --labels=anthropic-org-<ORGANIZATION_UUID>=true

    如果改用软件保护,请省略 --protection-level=hsm。本指南中的其他内容不变。

    您也可以从 Google Cloud Console 创建密钥。打开密钥环,点击 Create key,选择 Generated key,将用途和算法设置为对称加密和解密,并在保护级别下选择 HSM。

    Google Cloud KMS 的 Create key 页面,已选择 HSM 保护和对称加密/解密,anthropic-org 标签已设置为 true。

    创建一个带有组织标签的 HSM 保护对称加密/解密密钥。

    要在多个 Anthropic 组织之间共享一个密钥,请为每个组织添加一个这样的标签。一个密钥最多可以携带 64 个标签,包括您自己的标签。

  3. 授予 Anthropic 服务账户对密钥的访问权限

    需要两个密钥级别的 IAM 绑定。两者都限定于单个加密密钥,而不是项目范围或密钥环范围。

    加密和解密,Anthropic 用它来加密和解密保护您工作区数据的数据密钥(信封加密):

    gcloud kms keys add-iam-policy-binding <your-key-name> \
      --project=<your-project-id> \
      --location=<region> \
      --keyring=<your-keyring-name> \
      --member="serviceAccount:anthropic-cmek-client-us@gcp-anthropic-cmek-clients.iam.gserviceaccount.com" \
      --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

    查看者,用于 Anthropic 在启动时执行的元数据读取(cryptoKeys.get),以验证密钥的用途和算法:

    gcloud kms keys add-iam-policy-binding <your-key-name> \
      --project=<your-project-id> \
      --location=<region> \
      --keyring=<your-keyring-name> \
      --member="serviceAccount:anthropic-cmek-client-us@gcp-anthropic-cmek-clients.iam.gserviceaccount.com" \
      --role=roles/cloudkms.viewer

    在 Console 中,选择密钥,打开 Permissions 面板,点击 Grant access,并为服务账户添加 Cloud KMS CryptoKey Encrypter/Decrypter 和 Cloud KMS Viewer 两个角色。确保您位于密钥的权限页面,而不是密钥环或项目,以便授权仅限定于此密钥。

    Grant access 对话框,其中为 Anthropic 服务账户分配了 Cloud KMS CryptoKey Encrypter/Decrypter 和 Viewer 角色。

    为 Anthropic 服务账户授予两个角色,限定于该密钥。
  4. 记下完整的密钥资源名称

    当您注册密钥时,需要将其传递给 Anthropic。格式为:

    projects/<your-project-id>/locations/<region>/keyRings/<your-keyring-name>/cryptoKeys/<your-key-name>

    使用以下命令检索它:

    gcloud kms keys describe <your-key-name> \
      --project=<your-project-id> \
      --location=<region> \
      --keyring=<your-keyring-name> \
      --format="value(name)"

    在 Console 中,打开密钥的详情页面并点击 Copy resource name。

    Google Cloud 密钥环详情页面,密钥的操作菜单中突出显示了 Copy resource name 操作。

    从操作菜单复制密钥的完整资源名称。

向 Anthropic 注册密钥

注册密钥的方式取决于您使用的产品。

您可以在 Claude Console 中或通过 Admin API 设置密钥,结果相同。

  1. 向 Anthropic 注册密钥

    在 Claude Console 中,前往 Data retention 页面(platform.claude.com/settings/privacy)。如果您没有看到 Encryption keys,请从页面顶部的下拉菜单中选择 Organization。在 Encryption keys 下,点击 Add key。输入显示名称,选择 Google Cloud KMS,然后点击 Continue。将完整的密钥资源名称粘贴到 Key resource name 中,然后点击 Add。

    密钥详情步骤会显示组织标签。在点击 Add 之前,按照创建步骤所述将其添加到密钥。

  2. 验证密钥

    在 Encryption keys 列表中,点击密钥旁边的 Verify。检查通过后会显示 Connected。如果检查失败,会显示一条说明原因的消息。

  3. 将密钥附加到工作区

    在 Claude Console 中,前往 Data retention 页面(platform.claude.com/settings/privacy),并从页面顶部的下拉菜单中选择工作区。在 Encryption key 下,选择密钥,点击 Save 并确认。附加密钥后无法撤销。对于已在接收请求的工作区,密钥可能需要最多一天才能生效。

Terraform

对于基础设施即代码部署,相同的步骤映射到 google 提供程序的 google_kms_key_ring、google_kms_crypto_key 和 google_kms_crypto_key_iam_member 资源。

Was this page helpful?