让 Claude Code 为您设置此功能

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

如果您的 Claude Console 侧边栏显示 Account managed by AWS,请改为按照在 Claude Platform on AWS 上设置 CMEK 进行操作。

开始之前

在 Claude 中:

  • 客户管理的加密密钥(CMEK)已为您的组织开启。
  • 您已获得您的 Anthropic 组织 ID,即不带 org_ 前缀的 UUID。您可以从 Claude Console 中的 Organization 复制它,也可以从 claude.ai 上的 Organization settings > Organization and access 复制它。创建密钥的人需要此 ID。
  • 您是 Claude Platform 上的 Organization Admin,或 Claude Enterprise 上的 Owner 或 Primary Owner。
  • 在 Claude Platform 上,您拥有一个保留数据的工作区,最好是新的工作区,因为现有数据仍受 Anthropic 的密钥保护。
  • 在 Claude Enterprise 上,您了解哪些功能会关闭或发生变化。

在 AWS 中:

  • 您可以创建 AWS KMS 密钥并设置其密钥策略(kms:CreateKey 和 kms:PutKeyPolicy)。
  • 对 AWS KMS 访问的任何 IP 限制都允许 Anthropic 的出站 IP 地址。

在 AWS 中:创建密钥

如果 Verify 或 Add 失败,请参阅 AWS KMS 的修复方法。

编写密钥策略

此策略授予 Anthropic 的 IAM 角色对您的密钥的访问权限。请仅使用本页发布的角色 ARN,切勿使用通过电子邮件或聊天发送的 ARN。将策略复制到文本编辑器中:

key-policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AccountRootAdmin",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::<AWS_ACCOUNT_ID>:root"
      },
      "Action": "kms:*",
      "Resource": "*"
    },
    {
      "Sid": "AllowAnthropicCMEKCrypto",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::915198916910:role/anthropic-cmek-client-us"
      },
      "Action": ["kms:Encrypt", "kms:Decrypt"],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "kms:EncryptionContext:anthropic:org_uuid": ["<ORGANIZATION_UUID>"]
        }
      }
    },
    {
      "Sid": "AllowAnthropicCMEKDescribe",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::915198916910:role/anthropic-cmek-client-us"
      },
      "Action": "kms:DescribeKey",
      "Resource": "*"
    }
  ]
}

将 <AWS_ACCOUNT_ID> 替换为您的 AWS 账户 ID,将 <ORGANIZATION_UUID> 替换为您的 Anthropic 组织 ID。请保留 kms:EncryptionContext:anthropic:org_uuid 条件,否则验证会失败。

您还可以通过列出工作区的分区 ID 来将密钥限制为特定工作区。如果您要替换已保护 Claude 数据的密钥上的策略,请再添加一条策略语句。

创建密钥

您可以在任何 AWS 商业区域中创建密钥。为获得最低延迟,请使用 us-east-2。

要使用您在 AWS KMS 中已有的密钥,请替换其密钥策略。

AWS Console

  1. 打开 Create key 向导

    打开 AWS KMS 控制台,并切换到该密钥所在的区域。转到 Customer managed keys,然后点击 Create key。

  2. Configure key

    确保已选择以下选项:

    • Key type: Symmetric
    • Key usage: Encrypt and decrypt
    • Advanced options > Key material origin: KMS
    • Advanced options > Regionality: Single-Region key

    点击 Next。

    AWS KMS 的 Configure key 步骤,已选择 Symmetric 密钥类型、Encrypt and decrypt 密钥用法和 Single-Region key。

    对称、加密和解密、单区域密钥。

  3. Add labels

    为该密钥输入一个 Alias,例如 anthropic-cmek。点击 Next。

    AWS KMS 的 Add labels 步骤,别名为 anthropic-cmek,描述为 Anthropic CMEK。

    该密钥的别名。

  4. Define key administrative permissions

    不要选择任何密钥管理员。您的密钥策略已授予您的 AWS 账户完全的管理控制权。点击 Next。

    AWS KMS 的 Define key administrative permissions 步骤,列出了可以管理该密钥的 IAM 角色。

    将密钥管理员留空。

  5. Define key usage permissions

    不要选择任何密钥用户,也不要在 Other AWS accounts 下添加任何内容。您的密钥策略已授予所需的访问权限。点击 Next。

  6. Edit key policy

    点击 Edit。用您的密钥策略替换整个策略,然后点击 Next。

  7. Review

    点击 Finish。

  8. 复制您的密钥的 ARN

    在 Customer managed keys 中,打开新密钥并复制其 ARN。在 Claude 中添加该密钥的人员需要用到它。

AWS CLI

将您的密钥策略保存为 key-policy.json,然后创建密钥。将 <REGION> 替换为该密钥所在的区域。

aws kms create-key \
  --region <REGION> \
  --description "Anthropic CMEK" \
  --key-usage ENCRYPT_DECRYPT \
  --policy file://key-policy.json

从输出中复制 KeyMetadata.Arn。在 Claude 中添加该密钥的人员需要用到此 ARN。

在 Claude 中每次检查密钥都会向 CloudTrail 添加四个预期的拒绝访问错误。您可以将它们过滤掉。

在 Claude 中:添加并附加密钥

要在 Claude Platform 上通过脚本完成这部分操作,请改为使用 Admin API。

Claude Platform

  1. 打开加密密钥设置

    在 Claude Console 中,打开 Data retention 页面上的 Encryption keys。如果该部分不存在,请从顶部的下拉菜单中选择 Organization。

  2. 添加密钥

    在 Encryption keys 下,点击 Add key。输入 Display name,选择 AWS KMS,然后点击 Continue。

  3. 输入密钥 ARN

    检查您的密钥策略是否包含对话框中显示的 Organization ID for the key policy。将密钥 ARN 粘贴到 KMS key ARN 中,然后点击 Add。

  4. 验证密钥

    在 Encryption keys 列表中,点击密钥旁边的 Verify。检查通过时会显示 Connected。如果显示的是 Connection failed,请参阅 CMEK 故障排除。

  5. 将密钥附加到工作区

    警告

    附加密钥无法撤消。您无法将其从工作区中移除,也无法替换它。如果密钥被删除,Anthropic 将无法恢复其保护的数据。

    1. 在 Data retention 页面顶部,从下拉菜单中选择工作区。
    2. 在 Encryption key 下,选择密钥并点击 Save。
    3. 选中复选框以确认您已阅读 CMEK 文档,然后点击 Confirm。

    您会看到 Workspace settings updated. 一旦您的密钥生效,您的云服务提供商的审计日志中就会显示 Anthropic 对您的密钥的调用。

    在 ZDR 组织中,选择工作区后,请选择 Standard data retention,以便显示 Encryption key。点击 Save 后,在数据保留条款上点击 Accept。

Claude Enterprise

在 Claude Enterprise 上,CMEK 适用于整个组织,并且您只能添加一个密钥。

警告

添加密钥无法撤消。您无法从组织中移除该密钥,也无法替换它。如果该密钥被删除,Anthropic 将无法恢复其所保护的数据。

添加密钥会为每位用户关闭或更改某些功能。如需先试用 CMEK,请使用单独的组织。

  1. 打开加密密钥设置

    前往 claude.ai > Organization settings > Data and privacy,找到 Encryption keys。

  2. 添加密钥

    点击 Add key。输入 Display name 并选择 AWS KMS。选中复选框以确认您已阅读 CMEK 文档,然后点击 Continue。

  3. 输入密钥 ARN

    检查您的密钥策略是否包含对话框中显示的 Organization ID for the key policy。将密钥 ARN 粘贴到 KMS key ARN 中,然后点击 Add。

  4. 确认已添加密钥

    检查最多可能需要 30 秒。当出现 Encryption key configured. 时,点击 Done。如果改为出现 The encryption key couldn’t be added.,请查找原因并重试。

    您的密钥保护从那时起写入的数据。请告知您的用户哪些功能发生了变化。