• メッセージ
  • マネージドエージェント
  • 管理
Search...
⌘K
組織
Admin APIワークスペース
認証
概要Workload Identity FederationWIFリファレンス
モニタリング
Usage and Cost APIRate Limits APIClaude Code Analytics API
データとコンプライアンス
データレジデンシーAPIとデータ保持
概要AWS KMSGoogle Cloud KMSAzure Key Vault
Compliance API
概要アクセスの取得アクティビティフィードチャット、ファイル、プロジェクト組織、ユーザー、ロール、グループ統合の設計エラーFAQ
Log in
AWS KMS
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
管理/暗号化キー

CMEK用のAWS KMSの設定

AWS KMSを使用して、組織の暗号化キーを提供します。
Configure with the /claude-api skill in Claude Code
claude "/claude-api help me configure a customer-managed encryption key with AWS KMS"

このガイドでは、Anthropic組織の「customer-managed encryption key」(顧客管理暗号化キー)、すなわちCMEKとしてAWS KMSキーを設定する手順を説明します。

CMEKの有効化は永続的です。KMSキーが削除または無効化された場合、Anthropicはそのキーで暗号化されたデータを復元できません。開始する前に、警告と制限事項を確認してください。

前提条件

  • KMSキーの作成とキーポリシーの設定権限(kms:CreateKeyおよびkms:PutKeyPolicy)を持つAWSアカウント。
  • 組織のAnthropic Admin APIキー。
  • インストールおよび認証済みのAWS CLI。

AnthropicのAmazonリソースネーム(ARN)

Anthropicに暗号化キーを使用させるには、AnthropicのIAMロールにデータ暗号化に使用できるKMSキーを付与する必要があります。Anthropic CMEKのARNは次のとおりです。

arn:aws:iam::915198916910:role/anthropic-cmek-client-us

この公開されたARNのみを使用してください。メール、チャット、またはオンボーディングチャネルで提供された識別子は決して信頼しないでください。

暗号化キーのセットアップ

  1. 1

    クロスアカウントキーポリシーを持つKMSキーを作成する

    キーポリシーは、AnthropicのIAMロールにクロスアカウントアクセスを付与します。3つのステートメントが必要です。

    1. アカウントルート管理者: 標準的なKMSパターンです。お客様のアカウントが完全な管理権限を保持します。
    2. Anthropicの暗号化と復号: kms:Encryptおよびkms:Decryptアクションです。Anthropicはこれらを使用して、ワークスペースデータを保護するデータキーを暗号化および復号します(エンベロープ暗号化)。
    3. Anthropicの記述: Anthropicが起動時に実行するメタデータの読み取りです。DescribeKeyにはEncryptionContextパラメータがないため、このアクションに対するEncryptionContext条件は常に拒否されることになります。そのため、これは個別に付与されます。
    export YOUR_ACCOUNT=$(aws sts get-caller-identity --query Account --output text)
    
    aws kms create-key \
      --region <region> \
      --description "Anthropic CMEK" \
      --key-usage ENCRYPT_DECRYPT \
      --policy "{
        \"Version\": \"2012-10-17\",
        \"Statement\": [
          {
            \"Sid\": \"AccountRootAdmin\",
            \"Effect\": \"Allow\",
            \"Principal\": {\"AWS\": \"arn:aws:iam::${YOUR_ACCOUNT}:root\"},
            \"Action\": \"kms:*\",
            \"Resource\": \"*\"
          },
          {
            \"Sid\": \"AllowAnthropicCMEKCrypto\",
            \"Effect\": \"Allow\",
            \"Principal\": {\"AWS\": \"arn:aws:iam::915198916910:role/anthropic-cmek-client-us\"},
            \"Action\": [\"kms:Encrypt\", \"kms:Decrypt\"],
            \"Resource\": \"*\",
            \"Condition\": {
              \"StringEquals\": {
                \"kms:EncryptionContext:anthropic:compartment_uuid\": \"<compartment-uuid>\"
              }
            }
          },
          {
            \"Sid\": \"AllowAnthropicCMEKDescribe\",
            \"Effect\": \"Allow\",
            \"Principal\": {\"AWS\": \"arn:aws:iam::915198916910:role/anthropic-cmek-client-us\"},
            \"Action\": \"kms:DescribeKey\",
            \"Resource\": \"*\"
          }
        ]
      }"
  2. 2

    Anthropicにキーを登録する

    Admin APIを通じて外部キー設定を作成します。

    curl -sS https://api.anthropic.com/v1/organizations/external_keys \
      -H "x-api-key: <anthropic-admin-api-key>" \
      -H "anthropic-version: 2023-06-01" \
      -H "content-type: application/json" \
      -d '{
        "display_name": "<friendly-name>",
        "geo": "us",
        "provider_config": {
          "type": "aws",
          "kms_arn": "<key-arn-from-step-1>",
          "role_arn": "arn:aws:iam::915198916910:role/anthropic-cmek-client-us"
        }
      }'

    レスポンスには外部キーIDが含まれます。

    {
      "type": "external_key",
      "id": "ekey_<id>",
      "display_name": "<friendly-name>"
    }
  3. 3

    キーを検証する

    キーに対して暗号化と復号のラウンドトリップをトリガーします。

    curl -sS -X POST https://api.anthropic.com/v1/organizations/external_keys/ekey_<id>/validate \
      -H "x-api-key: <anthropic-admin-api-key>" \
      -H "anthropic-version: 2023-06-01" \
      -H "content-type: application/json" -d '{}'

    成功した場合のレスポンスは次のようになります。

    { "type": "external_key_validation", "status": "success", "error": null }
  4. 4

    キーをワークスペースにアタッチする

    curl -sS -X POST https://api.anthropic.com/v1/organizations/workspaces/<workspace-id> \
      -H "x-api-key: <anthropic-admin-api-key>" \
      -H "anthropic-version: 2023-06-01" \
      -H "content-type: application/json" \
      -d '{
        "external_key_id": "ekey_<id>"
      }'

Terraform

Infrastructure-as-Codeデプロイメントの場合、同じ手順はawsプロバイダーのaws_kms_keyおよびaws_kms_aliasリソースにマッピングされます。

Was this page helpful?

  • 前提条件
  • AnthropicのAmazonリソースネーム(ARN)
  • 暗号化キーのセットアップ
  • Terraform

出力からKeyMetadata.Arnを取得してください。次のステップでキーを登録する際に必要になります。

EncryptionContext条件は推奨されますが、オプションです。Anthropicは常にワークスペースのコンパートメントIDを暗号化コンテキストに含めるため、この条件の有無にかかわらず、暗号文はそのコンパートメントに暗号的にバインドされます。この条件を追加することで、IAMレイヤーでの多層防御が提供されます。条件なしで開始する場合は、AllowAnthropicCMEKCryptoステートメントからConditionブロックを省略し、後でkms:PutKeyPolicyを使用して追加してください。

コンパートメントIDの確認方法: 各ワークスペースには、そのCMEKデータのスコープを定めるコンパートメントIDがあります。Claude ConsoleのWorkspace > Security > Encryption keys(Compartment IDフィールド)で確認するか、Get Workspaceエンドポイントが返すcompartment_idフィールドを読み取ってください。上記のキーポリシーの<compartment-uuid>をその値に置き換えてください。Anthropicはキーの検証時にもこれを暗号化コンテキストとして送信するため、検証が成功するには条件の値が一致している必要があります。

AWSコンソールからキーを作成することもできます。対称キー、暗号化と復号のキー使用法、単一リージョンキー、KMSキーマテリアルオリジンを選択してください。キー作成ウィザードはReviewステップでキーポリシーをコミットします。そこでキー使用権限にAnthropicのアカウントID 915198916910を追加すると、生成されるポリシーはAnthropicアカウント全体に対して、EncryptionContext条件なしでより広範なアクション(kms:ReEncrypt*やkms:GenerateDataKey*など)を付与することになり、それでも検証は成功してしまいます。過剰な権限を持つキーを残さないために、ウィザードは管理権限のみで完了し、その後キーのKey policyタブを開いて、JSONを上記のロールスコープのポリシー(anthropic-cmek-client-usロールにスコープされた3つのステートメントとEncryptionContext条件を含むもの)に置き換えてください。

AWS KMSキー作成ウィザードのConfigure keyステップ。Symmetricキータイプ、Encrypt and decryptキー使用法、Single-Regionキーが選択されています。
Configure key(キーの設定):対称、暗号化と復号、単一リージョンキー。
AWS KMSのAdd labelsステップ。エイリアスにanthropic-cmek、説明にAnthropic CMEKが入力されています。
キーのエイリアスと説明を追加します。
AWS KMSのDefine key administrative permissionsステップ。キーを管理できるIAMロールが一覧表示されています。
キー管理権限を定義します(オプション)。お客様のアカウントが完全な管理権限を保持します。
AWS KMSのDefine key usage permissionsステップをアンチパターンとして表示:ここでOther AWS accountsにAnthropicのアカウントID 915198916910を追加すると、過剰な権限を持つポリシーが生成されます。このステップはスキップして空のままにしてください。
ここにAnthropicのアカウントIDを追加しないでください。このウィザードステップは過剰な権限を持つポリシーを生成します。使用権限は空のままにし、作成後にKey policyのJSONを編集してください(上記参照)。

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

  • 暗号化コンテキストの不一致: キーポリシーにEncryptionContext条件を残している場合、<compartment-uuid>をワークスペースの実際のコンパートメントIDに置き換えたことを確認してください(ステップ1を参照)。値が間違っているか置換されていない場合、KMSは不透明なAccessDeniedExceptionを返します。これを除外するには、AllowAnthropicCMEKCryptoステートメントからConditionブロックを一時的に削除して再検証してください。
  • リソースコントロールポリシー(RCP): AWS組織に、aws:PrincipalOrgIDが組織と一致しない場合にKMS操作を拒否するRCPがある場合、Anthropicのクロスアカウントロールがブロックされます。RCPには、このキーまたはAnthropicのロールARNに対する除外設定が必要です。サービスコントロールポリシーは、リソースベースのポリシーを通じて呼び出す外部プリンシパルに対しては評価されないため、ここでは適用されません。
  • キーポリシーではなくIAMを通じてアクセスが付与されている: クロスアカウントKMSアクセスは、お客様のアカウントのIAMポリシーではなく、キーポリシー自体で付与する必要があります。aws kms get-key-policy --key-id <id> --policy-name defaultで確認してください。
  • リージョンの不一致: キーのリージョンが、設定したジオティアでAnthropicが運用しているリージョンであることを確認してください。