• Messages
  • Managed Agents
  • 관리자
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 Resource Name (ARN)

Anthropic이 암호화 키를 사용하도록 하려면 Anthropic의 IAM 역할에 데이터 암호화에 사용할 수 있는 KMS 키를 부여해야 합니다. Anthropic CMEK의 ARN은 다음과 같습니다:

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

이 공개된 ARN만 사용하세요. 이메일, 채팅 또는 온보딩 채널을 통해 제공된 식별자는 절대 신뢰하지 마세요.

암호화 키 설정

  1. 1

    교차 계정 키 정책으로 KMS 키 생성

    키 정책은 Anthropic의 IAM 역할에 교차 계정 액세스를 부여합니다. 세 가지 statement가 필요합니다:

    1. 계정 루트 관리자: 표준 KMS 패턴입니다. 사용자의 계정이 전체 관리자 제어 권한을 유지합니다.
    2. Anthropic 암호화 및 복호화: kms:Encrypt 및 kms:Decrypt 작업으로, Anthropic이 워크스페이스 데이터를 보호하는 데이터 키를 암호화하고 복호화하는 데 사용합니다(봉투 암호화).
    3. Anthropic describe: 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\": \"*\"
          }
        ]
      }"

    출력에서 KeyMetadata.Arn을 기록해 두세요. 다음 단계에서 키를 등록할 때 필요합니다.

    EncryptionContext 조건은 권장되지만 선택 사항입니다. Anthropic은 항상 워크스페이스의 compartment ID를 암호화 컨텍스트에 포함하므로, 암호문은 이와 관계없이 해당 compartment에 암호학적으로 바인딩됩니다. 조건을 추가하면 IAM 계층에서 심층 방어(defense-in-depth)를 제공합니다. 조건 없이 시작하려면 AllowAnthropicCMEKCrypto statement에서 Condition 블록을 생략하고 나중에 kms:PutKeyPolicy로 추가하세요.

    Compartment ID 찾기: 각 워크스페이스에는 CMEK 데이터의 범위를 지정하는 compartment ID가 있습니다. Claude Console의 Workspace > Security > Encryption keys(Compartment ID 필드)에서 찾거나, Get Workspace 엔드포인트가 반환하는 compartment_id 필드를 읽으세요. 위 키 정책에서 <compartment-uuid>를 해당 값으로 대체하세요. Anthropic은 키를 검증할 때도 이 값을 암호화 컨텍스트로 전송하므로, 검증이 성공하려면 조건 값이 일치해야 합니다.

    AWS Console에서도 키를 생성할 수 있습니다. 암호화 및 복호화 키 용도의 대칭 키, 단일 리전 키, KMS 키 구성 요소 오리진을 선택하세요. 키 생성 마법사는 Review 단계에서 키 정책을 커밋합니다. 해당 단계의 키 사용 권한에 Anthropic의 계정 ID 915198916910을 추가하면, 생성된 정책은 EncryptionContext 조건 없이 Anthropic 계정 전체에 더 광범위한 작업(예: kms:ReEncrypt* 및 kms:GenerateDataKey*)을 부여하며, 이 정책으로도 검증은 성공합니다. 과도한 권한이 부여된 키를 남기지 않으려면 관리 권한만으로 마법사를 완료한 다음, 키의 Key policy 탭을 열고 JSON을 위에 표시된 역할 범위 정책(anthropic-cmek-client-us 역할로 범위가 지정되고 EncryptionContext 조건이 포함된 세 개의 statement)으로 교체하세요.

    AWS KMS 키 생성 마법사의 Configure key 단계에서 Symmetric 키 유형, Encrypt and decrypt 키 용도, Single-Region 키가 선택된 모습.
    Configure key(키 구성): 대칭, 암호화 및 복호화, 단일 리전 키.
    AWS KMS Add labels 단계에서 별칭이 anthropic-cmek이고 설명이 Anthropic CMEK인 모습.
    키의 별칭(alias)과 설명을 추가합니다.
    AWS KMS Define key administrative permissions 단계에서 키를 관리할 수 있는 IAM 역할 목록이 표시된 모습.
    키 관리 권한을 정의합니다(선택 사항). 사용자의 계정이 전체 관리자 제어 권한을 유지합니다.
    안티패턴으로 표시된 AWS KMS Define key usage permissions 단계: 여기서 Other AWS accounts에 Anthropic의 계정 ID 915198916910을 추가하면 과도한 권한의 정책이 생성됩니다. 이 단계를 건너뛰고 비워두세요.
    여기에 Anthropic의 계정 ID를 추가하지 마세요. 이 마법사 단계는 과도한 권한의 정책을 생성합니다. 사용 권한을 비워두고 생성 후 Key policy JSON을 편집하세요(위 참조).
  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

    키 검증

    키에 대해 암호화 및 복호화 왕복(round-trip)을 트리거합니다.

    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 }

    검증이 실패하는 경우 일반적인 원인은 다음과 같습니다:

    • 암호화 컨텍스트 불일치: 키 정책에 EncryptionContext 조건을 유지한 경우, <compartment-uuid>를 워크스페이스의 실제 compartment ID로 교체했는지 확인하세요(1단계 참조). 잘못되었거나 대체되지 않은 값은 KMS가 불명확한 AccessDeniedException을 반환하게 합니다. 이를 배제하려면 AllowAnthropicCMEKCrypto statement에서 Condition 블록을 일시적으로 제거하고 다시 검증하세요.
    • 리소스 제어 정책(RCP): AWS 조직에 aws:PrincipalOrgID가 조직과 일치하지 않을 때 KMS 작업을 거부하는 RCP가 있는 경우, Anthropic의 교차 계정 역할이 차단됩니다. RCP에 이 키 또는 Anthropic의 역할 ARN에 대한 예외(carve-out)가 필요합니다. 서비스 제어 정책은 리소스 기반 정책을 통해 호출하는 외부 주체에 대해 평가되지 않으므로 여기에는 적용되지 않습니다.
    • 키 정책 대신 IAM을 통해 부여된 액세스: 교차 계정 KMS 액세스는 계정의 IAM 정책이 아니라 키 정책 자체에서 부여되어야 합니다. aws kms get-key-policy --key-id <id> --policy-name default로 확인하세요.
    • 리전 불일치: 키의 리전이 구성한 지역 티어에 대해 Anthropic이 운영하는 리전인지 확인하세요.
  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_kms_key 및 aws_kms_alias 리소스를 사용하는 aws 프로바이더에 매핑됩니다.

Was this page helpful?

  • 사전 요구 사항
  • Anthropic의 Amazon Resource Name (ARN)
  • 암호화 키 설정
  • Terraform