如果您的 Claude Console 侧边栏未显示 Account managed by AWS,请改为按照使用 AWS KMS 设置 CMEK 进行操作。
开始之前
-
“Customer-managed encryption keys”(客户管理的加密密钥),即 CMEK,已为您的组织开启。
-
在托管您组织的 AWS 账户中,您可以创建 AWS KMS 密钥并设置密钥策略(
kms:CreateKey和kms:PutKeyPolicy)。 -
您在 Claude Console 中拥有 Admin 角色。
-
您用于登录的 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
如需限定这些权限的范围,请参阅 IAM 操作。
- 登录:
-
您有一个未附加任何密钥的工作区,最好是新工作区,因为现有数据仍由 Anthropic 的密钥加密。密钥策略中会列出该工作区的分区 ID。
在 Claude Console 中,打开 Data retention 页面,然后从顶部的下拉菜单中选择工作区。复制 Encryption key 下的 Compartment ID。Get Workspace 端点会将其作为 compartment_id 返回。
在 AWS 中:创建密钥
编写密钥策略
此策略向 AWS 服务主体 aws-external-anthropic.amazonaws.com 授予对您的密钥的访问权限。请仅使用本页面上公布的名称,切勿使用通过电子邮件或聊天发送的名称。将该策略复制到文本编辑器中:
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": "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": "*"
}
]
}
将 <AWS_ACCOUNT_ID> 替换为您的 AWS 账户 ID,并将 <COMPARTMENT_UUID> 替换为分区 ID。
可选的 EncryptionContext 条件将该密钥限制为仅用于您列出的工作区。在将该密钥附加到另一个工作区之前,请添加该工作区的分区 ID,并替换该密钥上的策略。如果不需要该条件,请从 AllowClaudePlatformOnAWSCrypto 语句中删除 Condition 块。如果您之后再添加该条件,请列出该密钥已附加到的每个工作区。
如需进一步缩小访问范围,请使用密钥策略,而不是基于 IP 的限制。向两条服务主体语句都添加 aws:SourceArn 条件。以下条件允许您 AWS 账户中的每个工作区:
"ArnLike": {"aws:SourceArn": "arn:aws:aws-external-anthropic:*:<AWS_ACCOUNT_ID>:workspace/*"}
对于特定工作区,请改为列出它们完整的工作区 ARN,格式如下:
arn:aws:aws-external-anthropic:<REGION>:<AWS_ACCOUNT_ID>:workspace/<WORKSPACE_ID>
创建密钥
在托管您组织的 AWS 账户中、与工作区相同的区域内创建密钥。
AWS Console
-
打开 Create key 向导
打开 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。在 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 中:添加并附加密钥
通过 AWS 登录 Claude Console。如果想改用脚本完成这一部分,请使用 IAM 操作中列出的端点。
-
打开加密密钥设置
在 Claude Console 中,打开 Data retention 页面上的 Encryption keys。如果该部分不存在,请从顶部的下拉菜单中选择 Organization。
-
添加密钥
在 Encryption keys 下,点击 Add key 并输入 Display name。
-
输入密钥 ARN
在 KMS key ARN 中,选择您的密钥。如果未列出该密钥,请点击 Enter ARN manually 并粘贴 ARN。Anthropic 不接受别名 ARN 和多区域密钥。点击 Add。
-
将密钥附加到工作区
警告
附加密钥无法撤消。您无法将其从工作区中移除,也无法替换它。如果密钥被删除,Anthropic 将无法恢复其保护的数据。
- 在 Data retention 页面顶部,从下拉菜单中选择工作区。
- 在 Encryption key 下,选择该密钥并点击 Save。
- 勾选复选框以确认您已阅读 CMEK 文档,然后点击 Confirm。
您会看到 Workspace settings updated. 密钥生效后,CloudTrail 会记录对您的密钥的调用。
附加时会通过一次加密调用和一次解密调用来检查密钥,因此密钥策略的问题会在此处显现。如果您收到 KMS 访问错误,请参阅原因和解决方法。