• 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
Azure Key Vault
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를 위한 Azure Key Vault 구성

Azure Key Vault를 사용하여 조직의 암호화 키를 제공합니다.
Configure with the /claude-api skill in Claude Code
claude "/claude-api help me configure a customer-managed encryption key with Azure Key Vault"

이 가이드는 Anthropic 조직의 customer-managed encryption key(고객 관리형 암호화 키), 즉 CMEK로 Azure Key Vault 키를 구성하는 과정을 안내합니다.

CMEK 활성화는 영구적입니다. Key Vault 키가 삭제되거나 비활성화되면 Anthropic은 해당 키로 암호화된 데이터를 복구할 수 없습니다. 시작하기 전에 경고 및 제한 사항을 검토하세요.

사전 요구 사항

  • RBAC 권한 부여가 활성화(enableRbacAuthorization: true)되어 있고 공용 네트워크 액세스가 허용된 Azure Key Vault. Anthropic은 공용 데이터 플레인 엔드포인트를 통해 Vault를 호출하며, 프라이빗 엔드포인트는 지원되지 않습니다.
  • Vault에 제거 보호(purge protection)가 활성화(enablePurgeProtection: true)되어 있어야 합니다. 이 설정이 없으면 삭제된 키가 일시 삭제 보존 기간 동안 영구적으로 제거될 수 있어 CMEK로 보호된 데이터가 복구 불가능하게 손실됩니다. 제거 보호는 한 번 활성화되면 비활성화할 수 없습니다.
  • Vault에서 키를 생성하고 RBAC 역할을 할당할 수 있는 권한.
  • Entra 테넌트에서 서비스 주체를 생성할 수 있는 권한(Application Administrator, Cloud Application Administrator 또는 이에 상응하는 사용자 지정 역할).
  • 조직의 Anthropic Admin API 키.
  • az CLI가 설치되고 인증되어 있어야 합니다.
  • Vault에 **진단 설정(Diagnostic Settings)**이 구성되어 AuditEvent 로그 범주를 Log Analytics, 스토리지 계정 또는 이벤트 허브로 라우팅해야 합니다. Azure Key Vault는 기본적으로 데이터 플레인 감사 로그(KeyWrap, KeyUnwrap, KeyGet 등)를 내보내지 않으므로, 이 설정이 없으면 Anthropic의 키 작업에 대한 감사 추적을 얻을 수 없습니다.

Anthropic 앱 정보

Anthropic이 암호화 키를 사용하도록 하려면 Anthropic 멀티 테넌트 애플리케이션 ID와 표시 이름을 구성해야 합니다. 해당 값은 다음과 같습니다.

필드값
멀티 테넌트 앱 클라이언트 ID (US)8635ae1a-3e5d-44e8-a4ed-e0f614466f87
앱 표시 이름anthropic-cmek-client-us

여기에 게시된 클라이언트 ID와 표시 이름만 사용하세요. 이메일, 채팅 또는 온보딩 채널을 통해 제공된 식별자는 절대 신뢰하지 마세요.

암호화 키 설정

  1. 1

    Anthropic 멀티 테넌트 애플리케이션에 동의

    이 단계는 Anthropic의 CMEK 클라이언트 애플리케이션에 대한 서비스 주체를 Entra 테넌트에 생성합니다. 이 애플리케이션은 Microsoft Graph 권한을 요청하지 않으며, Key Vault 데이터 플레인 액세스를 위한 페더레이션 대상으로만 존재합니다.

    az ad sp create --id 8635ae1a-3e5d-44e8-a4ed-e0f614466f87

    출력에서 id 필드를 확인하세요. 이는 테넌트 내 서비스 주체의 객체 ID이며, RBAC 역할을 할당할 때 사용합니다.

    {
      "appId": "8635ae1a-3e5d-44e8-a4ed-e0f614466f87",
      "displayName": "anthropic-cmek-client-us",
      "id": "<sp-object-id>"
    }

    이전 시도나 다른 통합으로 인해 서비스 주체가 이미 테넌트에 존재하는 경우, az ad sp create는 "already exists" 오류와 함께 종료됩니다. 대신 다음 명령으로 객체 ID를 가져오세요.

    az ad sp show --id 8635ae1a-3e5d-44e8-a4ed-e0f614466f87 --query id -o tsv

    이 단계에는 Portal에서 수행할 수 있는 동등한 방법이 없습니다. Azure CLI가 로컬에 설치되어 있지 않은 경우 Portal 상단 탐색 모음에서 Cloud Shell을 여세요. 명령이 성공한 후에는 Microsoft Entra ID > Enterprise applications에서 기본 애플리케이션 유형 필터를 지우고 anthropic-cmek-client-us를 검색하여 서비스 주체의 객체 ID를 찾을 수 있습니다.

    anthropic-cmek-client-us의 Microsoft Entra 엔터프라이즈 애플리케이션 개요 화면으로, Application ID와 Object ID가 표시되어 있습니다.
    Entra 엔터프라이즈 애플리케이션 개요에서 서비스 주체의 Object ID를 확인합니다.
  2. 2

    Vault에서 RSA 키 생성

    Azure Key Vault는 대칭 키 래핑을 지원하지 않으므로, 키는 허용된 작업에 wrapKey와 unwrapKey가 포함된 RSA(3072비트 이상)여야 합니다.

    az keyvault key create \
      --vault-name <your-vault-name> \
      --name <your-key-name> \
      --kty RSA --size 3072 \
      --ops wrapKey unwrapKey

    HSM 기반 키의 경우 --kty RSA-HSM을 사용하세요(Premium SKU Vault 필요). 소프트웨어로 보호되는 RSA 키도 이 통합에 사용할 수 있습니다.

    Portal에서 Key Vault를 열고 Keys를 선택한 다음 Generate/Import를 선택하세요. 키 유형을 RSA로, 크기를 3072 이상으로 설정하세요. 키를 래핑 및 언래핑으로만 제한하려면 키 버전을 열고 Permitted operations로 스크롤한 다음 Wrap Key와 Unwrap Key를 제외한 모든 항목의 선택을 해제하세요.

    Generate 옵션, RSA 키 유형, 3072 RSA 키 크기가 선택된 Azure Key Vault 키 생성 페이지.
    3072 이상 크기의 RSA 키를 생성합니다.
    Permitted operations가 Wrap Key와 Unwrap Key로 제한된 Azure Key Vault 키 버전.
    허용된 작업(Permitted operations)을 Wrap Key와 Unwrap Key로 제한합니다.
  3. 3

    Anthropic 서비스 주체에 키 액세스 권한 부여

    첫 번째 단계에서 생성한 서비스 주체에 Key Vault Crypto User 역할을 할당하되, 전체 Vault가 아닌 개별 키로 범위를 지정하세요.

    VAULT_ID=$(az keyvault show --name <your-vault-name> --query id -o tsv)
    
    az role assignment create \
      --role "Key Vault Crypto User" \
      --assignee-object-id <sp-object-id> \
      --assignee-principal-type ServicePrincipal \
      --scope "${VAULT_ID}/keys/<your-key-name>"

    기본 제공 Key Vault Crypto User 역할은 할당된 범위에서 키 암호화 작업(암호화, 복호화, 래핑, 언래핑, 서명, 검증)과 키 읽기 권한을 부여합니다. 이전 단계에서 키에 설정한 --ops wrapKey unwrapKey 제한은 이 키에 대해 성공할 수 있는 작업을 추가로 좁히므로, 실제로 Anthropic은 래핑과 언래핑만 수행할 수 있습니다.

    Portal에서 (Vault가 아닌) 키를 열고 Access control (IAM) 탭을 선택한 다음 Add > Add role assignment를 클릭하고 Key Vault Crypto User를 선택하여 anthropic-cmek-client-us 서비스 주체에 할당하세요.

    전용 Vault 대안: Microsoft는 애플리케이션별로 전용 Vault를 사용하고 Vault 범위에서 역할을 할당할 것을 권장합니다. 이 Anthropic CMEK 키만 보관하는 Vault를 프로비저닝하는 경우, Vault 범위에서 역할을 할당해도 효과는 동일합니다. 키가 공유 Vault에 있는 경우에는 개별 키로 범위를 지정하세요.

    anthropic-cmek-client-us 서비스 주체에 Key Vault Crypto User 역할이 할당된 것을 보여주는 Azure Key Vault Access control (IAM) 역할 할당 화면.
    키로 범위를 지정하여 Anthropic 서비스 주체에 Key Vault Crypto User를 할당합니다.
  4. 4

    Vault 구성 확인

    az keyvault show --name <your-vault-name> \
      --query "{rbac:properties.enableRbacAuthorization, purge:properties.enablePurgeProtection, pub:properties.publicNetworkAccess, net:properties.networkAcls.defaultAction, ipRules:properties.networkAcls.ipRules, uri:properties.vaultUri, tenantId:properties.tenantId}"

    다음 사항을 확인하세요.

    • rbac가 true입니다.
    • purge가 true입니다. false 또는 null인 경우 진행하기 전에 Vault에서 제거 보호를 활성화하세요. 이 설정이 없으면 일시 삭제된 키가 보존 기간 동안 영구적으로 제거될 수 있어 CMEK로 보호된 데이터를 복구할 수 없게 됩니다.
    • pub가 "Enabled"입니다. "Disabled"인 경우 Anthropic이 공용 데이터 플레인 엔드포인트를 통해 Vault에 접근할 수 없어 검증이 실패합니다.
    • net이 "Allow"이거나, "Deny"인 경우 ipRules에 Anthropic의 송신 IP 범위가 포함되어 있어야 합니다(최신 목록은 Anthropic에 문의하세요).
    • uri는 키를 등록할 때 사용하는 Vault URI입니다.
    • tenantId는 Vault를 관리하는 테넌트입니다. 키를 등록할 때 현재 활성 구독의 테넌트가 아닌 이 값을 tenant_id로 사용하세요(교차 테넌트 설정에서는 두 값이 다를 수 있습니다).
  5. 5

    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": "azure",
          "vault_uri": "https://<your-vault-name>.vault.azure.net/",
          "key_name": "<your-key-name>",
          "tenant_id": "<your-tenant-id>"
        }
      }'

    응답에는 외부 키 ID가 포함됩니다.

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

    키 검증

    키에 대해 암호화 및 복호화 왕복 테스트를 트리거하세요. 이를 통해 Anthropic이 테넌트에 인증하고 래핑 및 언래핑 작업을 수행할 수 있는지 확인합니다.

    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 }

    검증이 실패하면 error 필드에 문제가 설명됩니다. 일반적인 원인은 다음과 같습니다.

    • RBAC 전파 지연: 역할 할당이 적용되는 데 몇 분이 걸릴 수 있습니다. 잠시 기다린 후 다시 시도하세요.
    • 네트워크 ACL이 Anthropic을 차단: 확인 단계에서 설명한 대로 공용 네트워크 액세스와 ipRules를 확인하세요.
    • 워크로드 ID에 대한 조건부 액세스 정책: 테넌트에 서비스 주체를 대상으로 하는 조건부 액세스 정책이 있는 경우, Anthropic 서비스 주체를 제외하거나 Anthropic의 송신 IP 범위를 정책의 명명된 위치에 추가하세요.
  7. 7

    워크스페이스에 키 연결

    키가 검증되면 워크스페이스에 연결하여 해당 워크스페이스의 데이터에 대해 CMEK를 활성화하세요.

    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) 배포의 경우, 동일한 단계가 azurerm 및 azuread 프로바이더에 매핑됩니다.

Was this page helpful?

  • 사전 요구 사항
  • Anthropic 앱 정보
  • 암호화 키 설정
  • Terraform