---
title: 在 Claude Platform on AWS 上設定 CMEK
url: https://platform.claude.com/docs/zh-TW/manage-claude/cmek-claude-platform-on-aws
description: 在 Claude Platform on AWS 上使用 AWS KMS 金鑰作為客戶管理的加密金鑰。
---

本指南說明如何在 [Claude Platform on AWS](https://platform.claude.com/docs/zh-TW/build-with-claude/claude-platform-on-aws) 上使用 [AWS KMS](https://aws.amazon.com/kms/) 金鑰作為[客戶管理的加密金鑰（customer-managed encryption key，CMEK）](https://platform.claude.com/docs/zh-TW/manage-claude/cmek)。若您使用的是 Claude Platform 或 Claude Enterprise，請改為依照[為 CMEK 設定 AWS KMS](https://platform.claude.com/docs/zh-TW/manage-claude/cmek-aws-kms) 進行操作。

<Warning>
  啟用 CMEK 是永久性的。如果您的 KMS 金鑰被刪除或停用，Anthropic 將無法復原使用該金鑰加密的資料。在開始之前，請先檢閱[警告與限制](https://platform.claude.com/docs/zh-TW/manage-claude/cmek)。
</Warning>

## 先決條件

* 託管您 Claude Platform on AWS 組織的 AWS 帳戶，具有建立 KMS 金鑰和設定金鑰政策的權限（`kms:CreateKey` 和 `kms:PutKeyPolicy`）。

* 若要從命令列建立金鑰，需具備已安裝並通過驗證的 [AWS CLI](https://aws.amazon.com/cli/)。

* Claude Platform on AWS 的 Claude Console 中的 **Admin** 角色。請參閱[使用 Claude Console](https://platform.claude.com/docs/zh-TW/build-with-claude/claude-platform-on-aws#using-the-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 動作](https://platform.claude.com/docs/zh-TW/api/claude-platform-on-aws-iam-actions#encryption-keys)。

## Anthropic 的 AWS 服務主體

本指南中的金鑰政策會授予以下 AWS 服務主體存取您金鑰的權限：

```text wrap
aws-external-anthropic.amazonaws.com
```

<Warning>
  僅使用此已發布的服務主體名稱。切勿信任透過電子郵件、聊天或任何入門管道提供的識別碼。
</Warning>

## 加密金鑰設定

### 準備金鑰政策

將此政策複製到文字編輯器中：

```json 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": "*"
    }
  ]
}
```

`EncryptionContext` 條件是選用的。它會將金鑰限制於您列出的工作區。若要移除此條件，請從 `AllowClaudePlatformOnAWSCrypto` 陳述式中刪除 `Condition` 區塊。

如果您保留此條件，請在將金鑰附加到每個工作區之前，先新增該工作區的隔間 ID。對於新工作區：

1. 在不使用金鑰的情況下建立工作區。
2. 將其隔間 ID 新增至政策。
3. 附加金鑰。

如果您稍後再新增此條件，請列出金鑰已附加到的每個工作區的隔間 ID。

若要進一步限制金鑰政策，請參閱[選用的 `aws:SourceArn` 條件](https://platform.claude.com/docs/zh-TW/manage-claude/cmek-claude-platform-on-aws#source-arn-condition)。

替換預留位置：

* **`<AWS_ACCOUNT_ID>`：** 您的 [AWS 帳戶 ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/console-account-id.html)。若要使用 AWS CLI 顯示此 ID，請執行 `aws sts get-caller-identity --query Account --output text`。
* **`<COMPARTMENT_UUID>`：** 您要附加金鑰的工作區的隔間 ID

<Note>
  **尋找您的隔間 ID：** 在 Claude Console 中，前往 [Data retention](https://platform.claude.com/settings/privacy) 頁面（`platform.claude.com/settings/privacy`）。從頁面頂端的下拉選單中選取工作區。ID 位於 **Encryption key** 下的 **Compartment ID** 欄位中。您也可以讀取 [Get Workspace](https://platform.claude.com/docs/zh-TW/api/organization/workspaces/retrieve) 端點傳回的 `compartment_id` 欄位。
</Note>

### 建立金鑰

在託管您 Claude Platform on AWS 組織的 AWS 帳戶中，於與工作區相同的區域建立金鑰。

<Tabs>
  <Tab title="AWS Console">
    <Steps>
      <Step title="開啟建立金鑰精靈">
        開啟 [AWS KMS 主控台](https://console.aws.amazon.com/kms)，並切換至金鑰所在的區域。前往 **Customer managed keys**，然後點擊 **Create key**。
      </Step>

      <Step title="設定金鑰">
        請確認已選取以下選項：

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

        點擊 **Next**。

        <Frame caption="對稱、加密和解密、單一區域金鑰。">
          ![AWS KMS 建立金鑰精靈的設定金鑰步驟，已選擇對稱金鑰類型、加密和解密金鑰用途，以及單一區域金鑰。](https://platform.claude.com/docs/images/cmek/aws-configure-key.png)
        </Frame>
      </Step>

      <Step title="新增標籤">
        為金鑰輸入一個 **Alias**，例如 `anthropic-cmek`。點擊 **Next**。

        <Frame caption="金鑰的別名。">
          ![AWS KMS 的新增標籤步驟，別名為 anthropic-cmek，描述為 Anthropic CMEK。](https://platform.claude.com/docs/images/cmek/aws-add-labels.png)
        </Frame>
      </Step>

      <Step title="定義金鑰管理權限">
        請勿選取任何金鑰管理員。您的金鑰政策已賦予您的 AWS 帳戶完整的管理控制權。點擊 **Next**。

        <Frame caption="將金鑰管理員留空。">
          ![AWS KMS 的定義金鑰管理權限步驟，列出可管理該金鑰的 IAM 角色。](https://platform.claude.com/docs/images/cmek/aws-admin-permissions.png)
        </Frame>
      </Step>

      <Step title="定義金鑰用途權限">
        請勿選取任何金鑰使用者，也不要在 **Other AWS accounts** 下新增任何項目。您的金鑰政策已授予所需的存取權。點擊 **Next**。
      </Step>

      <Step title="編輯金鑰政策">
        點擊 **Edit**。將整個政策替換為您的金鑰政策，然後點擊 **Next**。
      </Step>

      <Step title="檢閱">
        點擊 **Finish**。
      </Step>

      <Step title="複製金鑰 ARN">
        在 **Customer managed keys** 中，開啟新建立的金鑰並複製其 ARN。您需要此 ARN 來註冊金鑰。
      </Step>
    </Steps>

    若要替換現有金鑰的金鑰政策：

    1. 開啟該金鑰並點擊 **Key policy** 分頁。
    2. 如果您看到 **Switch to policy view**，請點擊它。
    3. 點擊 **Edit**。
    4. 將 JSON 替換為您的金鑰政策。
    5. 點擊 **Save changes**。
  </Tab>

  <Tab title="AWS CLI">
    將您的金鑰政策儲存為 `key-policy.json`，然後建立金鑰。將 `<REGION>` 替換為金鑰所在的區域。

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

    從輸出中複製 `KeyMetadata.Arn`。您需要它來註冊金鑰。
  </Tab>
</Tabs>

<Note>
  **選用：** 若要進一步限制兩個服務主體陳述式，請在每個陳述式中新增 `aws:SourceArn` 條件。每次呼叫的來源 ARN 都是[工作區的 ARN](https://platform.claude.com/docs/zh-TW/api/claude-platform-on-aws-iam-actions#service-details)，格式為 `arn:aws:aws-external-anthropic:<REGION>:<AWS_ACCOUNT_ID>:workspace/<WORKSPACE_ID>`。

  * **您 AWS 帳戶中的所有工作區：** `"ArnLike": {"aws:SourceArn": "arn:aws:aws-external-anthropic:*:<AWS_ACCOUNT_ID>:workspace/*"}`
  * **特定工作區：** 相同的條件，但以完整工作區 ARN 清單取代萬用字元
</Note>

## 向 Anthropic 註冊金鑰

透過 AWS 以 Admin 角色登入 Claude Console。

<Steps>
  <Step title="開啟加密金鑰設定">
    在 Claude Console 中，前往 [Data retention](https://platform.claude.com/settings/privacy#encryption-keys) 頁面（`platform.claude.com/settings/privacy`）。如果您沒有看到 **Encryption keys**，請從頁面頂端的下拉選單中選取 **Organization**。
  </Step>

  <Step title="新增金鑰">
    在 **Encryption keys** 下，點擊 **Add key**。輸入 **Display name**。
  </Step>

  <Step title="輸入金鑰 ARN">
    Anthropic 會拒絕別名 ARN 和多區域金鑰。

    在 **KMS key ARN** 中貼上金鑰 ARN。如果出現的是金鑰清單，請選取您的金鑰，或點擊 **Enter ARN manually** 並貼上 ARN。點擊 **Add**。
  </Step>

  <Step title="將金鑰附加到工作區">
    附加金鑰後無法復原。如果可以，請在新工作區接收任何請求之前將金鑰附加到該工作區。對於已在接收請求的工作區，金鑰可能需要[最多一天才會生效](https://platform.claude.com/docs/zh-TW/manage-claude/cmek#how-it-works)。

    在 Data retention 頁面上，從頁面頂端的下拉選單中選取工作區。在 **Encryption key** 下，選取金鑰並點擊 **Save**。
  </Step>

  <Step title="確認變更">
    勾選核取方塊以確認您已閱讀 CMEK 文件，然後點擊 **Confirm**。
  </Step>
</Steps>

附加時會驗證金鑰。如果因 KMS 存取錯誤而失敗，請參閱[驗證疑難排解](https://platform.claude.com/docs/zh-TW/manage-claude/cmek-claude-platform-on-aws#troubleshoot-validation)。

如果您的金鑰政策沒有 `EncryptionContext` 條件，您也可以在 Claude Console 中建立工作區時選取金鑰。

若要改用 API 註冊和附加金鑰，請參閱 [IAM 動作](https://platform.claude.com/docs/zh-TW/api/claude-platform-on-aws-iam-actions#encryption-keys)。API 會以 KMS 金鑰 ARN 識別金鑰。

## 驗證疑難排解

如果驗證失敗，常見原因包括：

* **金鑰政策不符：** 請確認金鑰政策與[準備金鑰政策](https://platform.claude.com/docs/zh-TW/manage-claude/cmek-claude-platform-on-aws#prepare-the-key-policy)中的政策相符。若要檢查金鑰政策，請執行 `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` 資源。
