在 Claude Platform on AWS 上设置 CMEK
在 Claude Platform on AWS 上使用 AWS KMS 密钥作为客户管理的加密密钥。
本指南介绍如何在 Claude Platform on AWS 上使用 AWS KMS 密钥作为客户管理加密密钥(customer-managed encryption key,CMEK)。对于 Claude Platform 或 Claude Enterprise,请改为按照为 CMEK 配置 AWS KMS 进行操作。
前提条件
-
托管您的 Claude Platform on AWS 组织的 AWS 账户,具有创建 KMS 密钥和设置密钥策略的权限(
kms:CreateKey和kms:PutKeyPolicy)。 -
如需从命令行创建密钥,需要已安装并通过身份验证的 AWS CLI。
-
Claude Platform on AWS 的 Claude Console 中的 Admin 角色。请参阅使用 Claude Console。
-
您用于登录 Claude Console 的 IAM 主体需具备以下权限:
- 登录:
aws-external-anthropic:AssumeConsole - 注册密钥:
aws-external-anthropic:RegisterKey - 查看已注册的密钥:
aws-external-anthropic:ListKeys和aws-external-anthropic:GetKey - 附加密钥:
aws-external-anthropic:UpdateWorkspace或aws-external-anthropic:CreateWorkspace,以及对该密钥的kms:DescribeKey、kms:Encrypt和kms:Decrypt - 从列表中选择密钥(可选):
kms:ListKeys和kms:DescribeKey
aws-external-anthropic:RegisterKey、aws-external-anthropic:ListKeys、aws-external-anthropic:GetKey和aws-external-anthropic:CreateWorkspace是账户范围的权限。请在Resource: "*"上授予这些权限。请参阅 IAM 操作。 - 登录:
Anthropic 的 AWS 服务主体
本指南中的密钥策略授予以下 AWS 服务主体访问您密钥的权限:
aws-external-anthropic.amazonaws.com加密密钥设置
准备密钥策略
将此策略复制到文本编辑器中:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AccountRootAdmin",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<AWS_ACCOUNT_ID>:root"
},
"Action": "kms:*",
"Resource": "*"
},
{
"Sid": "AllowClaudePlatformOnAWSCrypto",
"Effect": "Allow",
"Principal": {
"Service": "aws-external-anthropic.amazonaws.com"
},
"Action": ["kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey"],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:EncryptionContext:anthropic:compartment_uuid": ["<COMPARTMENT_UUID>"]
}
}
},
{
"Sid": "AllowClaudePlatformOnAWSDescribe",
"Effect": "Allow",
"Principal": {
"Service": "aws-external-anthropic.amazonaws.com"
},
"Action": "kms:DescribeKey",
"Resource": "*"
}
]
}EncryptionContext 条件是可选的。它将密钥限制为您列出的工作区。要移除该条件,请从 AllowClaudePlatformOnAWSCrypto 语句中删除 Condition 块。
如果您保留该条件,请在将密钥附加到每个工作区之前添加该工作区的分区 ID。对于新工作区:
- 在不使用密钥的情况下创建工作区。
- 将其分区 ID 添加到策略中。
- 附加密钥。
如果您稍后添加该条件,请列出该密钥已附加到的每个工作区的分区 ID。
要进一步限制密钥策略,请参阅可选的 aws:SourceArn 条件。
替换占位符:
<AWS_ACCOUNT_ID>: 您的 AWS 账户 ID。如需使用 AWS CLI 打印该 ID,请运行aws sts get-caller-identity --query Account --output text。<COMPARTMENT_UUID>: 您要附加密钥的工作区的分区 ID
创建密钥
在托管您的 Claude Platform on AWS 组织的 AWS 账户中,在与工作区相同的区域创建密钥。
打开创建密钥向导
打开 AWS KMS 控制台,并切换到要创建密钥的区域。前往 Customer managed keys,然后点击 Create key。
配置密钥(Configure key)
请确保已选择以下选项:
- Key type: Symmetric
- Key usage: Encrypt and decrypt
- Advanced options > Key material origin: KMS
- Advanced options > Regionality: Single-Region key
点击 Next。

对称、加密和解密、单区域密钥。 添加标签(Add labels)
为密钥输入一个 Alias,例如
anthropic-cmek。点击 Next。
密钥的别名。 定义密钥管理权限(Define key administrative permissions)
不要选择任何密钥管理员。您的密钥策略已经为您的 AWS 账户授予了完全的管理控制权。点击 Next。

将密钥管理员留空。 定义密钥用途权限(Define key usage permissions)
不要选择任何密钥用户,也不要在 Other AWS accounts 下添加任何内容。您的密钥策略已经授予了所需的访问权限。点击 Next。
编辑密钥策略(Edit key policy)
点击 Edit。用您的密钥策略替换整个策略,然后点击 Next。
审核(Review)
点击 Finish。
复制密钥 ARN
在 Customer managed keys 中,打开新密钥并复制其 ARN。您需要使用该 ARN 来注册密钥。
要替换已有密钥的密钥策略:
- 打开该密钥,然后点击 Key policy 选项卡。
- 如果您看到 Switch to policy view,请点击它。
- 点击 Edit。
- 用您的密钥策略替换 JSON。
- 点击 Save changes。
将您的密钥策略保存为 key-policy.json,然后创建密钥。将 <REGION> 替换为密钥所在的区域。
aws kms create-key \
--region <REGION> \
--description "Anthropic CMEK" \
--key-usage ENCRYPT_DECRYPT \
--policy file://key-policy.json从输出中复制 KeyMetadata.Arn。您需要使用它来注册密钥。
向 Anthropic 注册密钥
使用 Admin 角色通过 AWS 登录 Claude Console。
打开加密密钥设置
在 Claude Console 中,前往 Data retention 页面(
platform.claude.com/settings/privacy)。如果您没有看到 Encryption keys,请从页面顶部的下拉菜单中选择 Organization。添加密钥
在 Encryption keys 下,点击 Add key。输入 Display name。
输入密钥 ARN
Anthropic 不接受别名 ARN 和多区域密钥。
在 KMS key ARN 中,粘贴密钥 ARN。如果显示的是密钥列表,请选择您的密钥,或点击 Enter ARN manually 并粘贴 ARN。点击 Add。
将密钥附加到工作区
附加密钥后无法撤销。如果可以,请在新工作区接收任何请求之前将密钥附加到该工作区。在已经接收请求的工作区中,密钥可能需要最多一天才能生效。
在 Data retention 页面上,从页面顶部的下拉菜单中选择工作区。在 Encryption key 下,选择密钥并点击 Save。
确认更改
选中复选框以确认您已阅读 CMEK 文档,然后点击 Confirm。
附加操作会验证密钥。如果因 KMS 访问错误而失败,请参阅排查验证问题。
如果您的密钥策略没有 EncryptionContext 条件,您也可以在 Claude Console 中创建工作区时选择密钥。
如需改用 API 注册和附加密钥,请参阅 IAM 操作。API 通过 KMS 密钥 ARN 来标识密钥。
排查验证问题
如果验证失败,常见原因有:
- 密钥策略不匹配: 确保密钥策略与准备密钥策略中的策略一致。如需检查密钥策略,请运行
aws kms get-key-policy --region <REGION> --key-id <KEY_ARN> --policy-name default。 - 条件不匹配: 确保任何
EncryptionContext或aws:SourceArn条件都包含此工作区。 - 密钥状态或位置: 确认密钥已启用、为单区域密钥,并且与工作区位于同一 AWS 账户和区域中。
- 缺少权限: 您登录所用的主体需要对该密钥具有
kms:DescribeKey、kms:Encrypt和kms:Decrypt权限。 - 组织策略: 确保您 AWS 组织中没有服务控制策略或资源控制策略阻止该服务主体或您的主体。
如果附加仍然失败,请在密钥所在账户的 CloudTrail 中查找被拒绝的 kms: 事件。该事件会显示调用主体,对于加密调用,还会显示加密上下文。解决问题后,再次点击 Save。
Terraform
如需使用 Terraform 创建密钥,请使用 aws 提供程序中的 aws_kms_key 和 aws_kms_alias 资源。
Was this page helpful?