在 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。
設定金鑰
請確認已選取以下選項:
- Key type: Symmetric
- Key usage: Encrypt and decrypt
- Advanced options > Key material origin: KMS
- Advanced options > Regionality: Single-Region key
點擊 Next。

對稱、加密和解密、單一區域金鑰。 新增標籤
為金鑰輸入一個 Alias,例如
anthropic-cmek。點擊 Next。
金鑰的別名。 定義金鑰管理權限
請勿選取任何金鑰管理員。您的金鑰政策已賦予您的 AWS 帳戶完整的管理控制權。點擊 Next。

將金鑰管理員留空。 定義金鑰用途權限
請勿選取任何金鑰使用者,也不要在 Other AWS accounts 下新增任何項目。您的金鑰政策已授予所需的存取權。點擊 Next。
編輯金鑰政策
點擊 Edit。將整個政策替換為您的金鑰政策,然後點擊 Next。
檢閱
點擊 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 註冊金鑰
透過 AWS 以 Admin 角色登入 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?