• Messaggi
  • Agenti gestiti
  • Amministrazione
Search...
⌘K
Organizzazione
API AdminWorkspace
Autenticazione
PanoramicaWorkload Identity FederationRiferimento WIF
Monitoraggio
API Utilizzo e costiAPI Limiti di velocitàAPI Claude Code Analytics
Dati e conformità
Residenza dei datiAPI e conservazione dei dati
PanoramicaAWS KMSGoogle Cloud KMSAzure Key Vault
API Compliance
PanoramicaOttenere l'accessoFeed attivitàChat, file e progettiOrganizzazioni, utenti, ruoli e gruppiProgettare la tua integrazioneErroriFAQ
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
Amministrazione/Chiavi di crittografia

Configurare AWS KMS per CMEK

Utilizza AWS KMS per fornire una chiave di crittografia per la tua organizzazione.
Configure with the /claude-api skill in Claude Code
claude "/claude-api help me configure a customer-managed encryption key with AWS KMS"

Questa guida illustra come configurare una chiave AWS KMS come "customer-managed encryption key" (chiave di crittografia gestita dal cliente), o CMEK, per la tua organizzazione Anthropic.

L'abilitazione di CMEK è permanente. Se la tua chiave KMS viene eliminata o disabilitata, Anthropic non può recuperare i dati crittografati con essa. Consulta le avvertenze e limitazioni prima di iniziare.

Prerequisiti

  • Un account AWS con autorizzazioni per creare chiavi KMS e impostare policy delle chiavi (kms:CreateKey e kms:PutKeyPolicy).
  • Una chiave API Admin di Anthropic per la tua organizzazione.
  • L'AWS CLI installata e autenticata.

Amazon Resource Name (ARN) per Anthropic

Affinché Anthropic utilizzi la tua chiave di crittografia, devi concedere al ruolo IAM di Anthropic una chiave KMS che possa utilizzare per crittografare i dati. L'ARN per Anthropic CMEK è:

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

Utilizza solo questo ARN pubblicato. Non fidarti mai di un identificatore fornito tramite email, chat o qualsiasi canale di onboarding.

Configurazione della chiave di crittografia

  1. 1

    Crea la chiave KMS con una key policy cross-account

    La key policy concede al ruolo IAM di Anthropic l'accesso cross-account. Sono richieste tre istruzioni:

    1. Account root admin: il pattern KMS standard. Il tuo account mantiene il pieno controllo amministrativo.
    2. Anthropic encrypt and decrypt: le azioni kms:Encrypt e kms:Decrypt, che Anthropic utilizza per crittografare e decrittografare le data key che proteggono i dati del tuo workspace (envelope encryption).
    3. Anthropic describe: la lettura dei metadati che Anthropic esegue all'avvio. È concessa separatamente perché DescribeKey non ha un parametro EncryptionContext, quindi una condizione EncryptionContext su questa azione risulterebbe sempre in un deny.
    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\": \"*\"
          }
        ]
      }"

    Acquisisci KeyMetadata.Arn dall'output. Ti servirà quando registrerai la chiave nel passaggio successivo.

    La condizione EncryptionContext è consigliata ma opzionale. Anthropic include sempre il compartment ID del tuo workspace nell'encryption context, quindi il testo cifrato è comunque vincolato crittograficamente a quel compartment. L'aggiunta della condizione fornisce una difesa in profondità a livello IAM. Per iniziare senza di essa, ometti il blocco Condition dall'istruzione AllowAnthropicCMEKCrypto e aggiungilo in seguito con kms:PutKeyPolicy.

    Trovare il tuo compartment ID: ogni workspace ha un compartment ID che delimita l'ambito dei suoi dati CMEK. Puoi trovarlo nella Claude Console in Workspace > Security > Encryption keys (il campo Compartment ID), oppure leggere il campo compartment_id restituito dall'endpoint Get Workspace. Sostituisci quel valore a <compartment-uuid> nella key policy sopra. Anthropic lo invia anche come encryption context durante la validazione della chiave, quindi il valore della condizione deve corrispondere affinché la validazione abbia successo.

    Puoi anche creare la chiave dalla Console AWS. Scegli una chiave simmetrica con utilizzo encrypt and decrypt, una chiave single-region e origine del materiale della chiave KMS. La procedura guidata di creazione della chiave applica una key policy al passaggio Review: se aggiungi l'ID account di Anthropic 915198916910 nelle autorizzazioni di utilizzo della chiave in quel punto, la policy generata concede all'intero account Anthropic azioni più ampie (come kms:ReEncrypt* e kms:GenerateDataKey*) senza alcuna condizione EncryptionContext, e la validazione avrebbe comunque successo. Per evitare di lasciare una chiave con autorizzazioni eccessive, completa la procedura guidata solo con le autorizzazioni amministrative, quindi apri la scheda Key policy della chiave e sostituisci il JSON con la policy limitata al ruolo mostrata sopra (le tre istruzioni limitate al ruolo anthropic-cmek-client-us, con la condizione EncryptionContext).

    Procedura guidata AWS KMS Create key al passaggio Configure key, con tipo di chiave Symmetric, utilizzo Encrypt and decrypt e Single-Region key selezionati.
    Configure key (Configura chiave): simmetrica, encrypt and decrypt, chiave single-region.
    Passaggio AWS KMS Add labels con un alias anthropic-cmek e una descrizione Anthropic CMEK.
    Aggiungi un alias e una descrizione per la chiave.
    Passaggio AWS KMS Define key administrative permissions che elenca i ruoli IAM che possono amministrare la chiave.
    Define key administrative permissions (Definisci le autorizzazioni amministrative della chiave) — opzionale. Il tuo account mantiene il pieno controllo amministrativo.
    Passaggio AWS KMS Define key usage permissions mostrato come anti-pattern: aggiungere l'ID account di Anthropic 915198916910 in Other AWS accounts qui produce una policy con autorizzazioni eccessive. Salta questo passaggio e lascialo vuoto.
    Non aggiungere qui l'ID account di Anthropic. Questo passaggio della procedura guidata produce una policy con autorizzazioni eccessive. Lascia vuote le autorizzazioni di utilizzo e modifica il JSON della Key policy dopo la creazione (vedi sopra).
  2. 2

    Registra la chiave con Anthropic

    Crea una configurazione di chiave esterna tramite l'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"
        }
      }'

    La risposta contiene l'ID della chiave esterna:

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

    Valida la chiave

    Attiva un round-trip di encrypt e decrypt sulla tua chiave.

    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 '{}'

    Una risposta di successo ha questo aspetto:

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

    Se la validazione fallisce, le cause comuni sono:

    • Mancata corrispondenza dell'encryption context: se hai mantenuto la condizione EncryptionContext nella key policy, verifica di aver sostituito <compartment-uuid> con il compartment ID effettivo del tuo workspace (vedi passaggio 1). Un valore errato o non sostituito fa sì che KMS restituisca un'eccezione AccessDeniedException opaca. Per escludere questa causa, rimuovi temporaneamente il blocco Condition dall'istruzione AllowAnthropicCMEKCrypto e ripeti la validazione.
    • Resource control policies (RCP): se la tua organizzazione AWS ha una RCP che nega le operazioni KMS quando aws:PrincipalOrgID non corrisponde alla tua organizzazione, questa blocca il ruolo cross-account di Anthropic. La RCP necessita di un'eccezione per questa chiave o per l'ARN del ruolo di Anthropic. Le service control policy non si applicano in questo caso, perché non vengono valutate per principal esterni che effettuano chiamate tramite policy basate sulle risorse.
    • Accesso concesso tramite IAM invece che tramite la key policy: l'accesso KMS cross-account deve essere concesso nella key policy stessa, non tramite una policy IAM nel tuo account. Verifica con aws kms get-key-policy --key-id <id> --policy-name default.
    • Mancata corrispondenza della region: verifica che la region della chiave sia una di quelle in cui Anthropic opera per il geo tier che hai configurato.
  4. 4

    Associa la chiave a un workspace

    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

Per i deployment infrastructure-as-code, gli stessi passaggi corrispondono al provider aws con le risorse aws_kms_key e aws_kms_alias.

Was this page helpful?

  • Prerequisiti
  • Amazon Resource Name (ARN) per Anthropic
  • Configurazione della chiave di crittografia
  • Terraform