---
title: Claude Platform on AWSでCMEKを設定する
url: https://platform.claude.com/docs/ja/manage-claude/cmek-claude-platform-on-aws
description: Claude Platform on AWSで、AWS KMSキーをカスタマー管理暗号化キーとして使用します。
---

このガイドでは、[Claude Platform on AWS](https://platform.claude.com/docs/ja/build-with-claude/claude-platform-on-aws)で[AWS KMS](https://aws.amazon.com/kms/)キーを[「customer-managed encryption key」（カスタマー管理暗号化キー）、すなわちCMEK](https://platform.claude.com/docs/ja/manage-claude/cmek)として使用する方法を説明します。Claude PlatformまたはClaude Enterpriseの場合は、代わりに[CMEK用のAWS KMSを設定する](https://platform.claude.com/docs/ja/manage-claude/cmek-aws-kms)の手順に従ってください。

<Warning>
  CMEKの有効化は永続的です。KMSキーが削除または無効化された場合、Anthropicはそのキーで暗号化されたデータを復元できません。開始する前に[警告と制限事項](https://platform.claude.com/docs/ja/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/ja/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/ja/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/ja/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で表示するには、`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/ja/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のキー作成ウィザードのConfigure keyステップ。対称キータイプ、暗号化と復号のキー使用法、単一リージョンキーが選択されています。](https://platform.claude.com/docs/images/cmek/aws-configure-key.png)
        </Frame>
      </Step>

      <Step title="ラベルを追加する">
        キーの**Alias**（`anthropic-cmek`など）を入力します。**Next**をクリックします。

        <Frame caption="キーのエイリアス。">
          ![AWS KMSのAdd labelsステップ。エイリアスに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のDefine key administrative permissionsステップ。キーを管理できる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/ja/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にキーを登録する

Adminロールを使用してAWS経由で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="キーをワークスペースにアタッチする">
    キーのアタッチは元に戻せません。可能であれば、新しいワークスペースがリクエストを受信する前にキーをアタッチしてください。すでにリクエストを受信しているワークスペースでは、キーが[有効になるまで最大1日かかる](https://platform.claude.com/docs/ja/manage-claude/cmek#how-it-works)ことがあります。

    Data retentionページで、ページ上部のドロップダウンメニューからワークスペースを選択します。**Encryption key**の下でキーを選択し、**Save**をクリックします。
  </Step>

  <Step title="変更を確認する">
    CMEKのドキュメントを読んだことを確認するチェックボックスを選択し、**Confirm**をクリックします。
  </Step>
</Steps>

アタッチ時にキーが検証されます。KMSアクセスエラーで失敗した場合は、[検証のトラブルシューティング](https://platform.claude.com/docs/ja/manage-claude/cmek-claude-platform-on-aws#troubleshoot-validation)を参照してください。

キーポリシーに`EncryptionContext`条件がない場合は、Claude Consoleでワークスペースを作成する際にキーを選択することもできます。

代わりにAPIでキーを登録してアタッチするには、[IAMアクション](https://platform.claude.com/docs/ja/api/claude-platform-on-aws-iam-actions#encryption-keys)を参照してください。APIはKMSキーARNによってキーを識別します。

## 検証のトラブルシューティング

検証が失敗した場合、一般的な原因は次のとおりです。

* **キーポリシーの不一致：** キーポリシーが[キーポリシーを準備する](https://platform.claude.com/docs/ja/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`リソースを使用します。
