Configurare Google Cloud KMS per CMEK
Usa Google Cloud KMS per fornire una chiave di crittografia per la tua organizzazione.
claude "/claude-api help me configure a customer-managed encryption key with Google Cloud KMS"Questa guida illustra come configurare una chiave Google Cloud KMS come customer-managed encryption key (chiave di crittografia gestita dal cliente), o CMEK per la tua organizzazione Anthropic.
Prerequisiti
- Un progetto Google Cloud con fatturazione abilitata.
- La Cloud KMS API abilitata (
cloudkms.googleapis.com). - Permessi per creare key ring e chiavi KMS e per impostare policy IAM su di essi (
roles/cloudkms.admino equivalente). - Una chiave API Admin di Anthropic per la tua organizzazione.
- La CLI
gcloudinstallata e autenticata. - I Data Access audit logs (log di controllo dell'accesso ai dati) di Cloud KMS abilitati per il progetto (IAM & Admin > Audit Logs > Cloud Key Management Service, con
DATA_READeDATA_WRITE). Sono disattivati per impostazione predefinita; senza di essi, le operazioni di crittografia e decrittografia di Anthropic non producono voci in Cloud Logging.
Email dell'account di servizio Anthropic
Per fare in modo che Anthropic usi la tua chiave di crittografia, devi fornire all'account di servizio di Anthropic una chiave che possa usare per crittografare i dati. L'email dell'account di servizio per Anthropic CMEK è:
anthropic-cmek-client-us@gcp-anthropic-cmek-clients.iam.gserviceaccount.comConfigurazione della chiave di crittografia
Crea o scegli un key ring
Salta questo passaggio se hai già un key ring da riutilizzare. I key ring sono regionali. Scegli una località US a singola regione come
us-east5che corrisponda all'area geografica Anthropic che stai configurando. Le località multi-regione comeuseglobalnon sono supportate.gcloud kms keyrings create <your-keyring-name> \ --project=<your-project-id> \ --location=<region>Crea la chiave crittografica
Crea una chiave simmetrica con lo scopo
ENCRYPT_DECRYPT. Anthropic raccomanda fortemente la protezione HSM: le chiavi HSM di Cloud KMS sono validate FIPS 140-2 Level 3 e la differenza di costo rispetto alle chiavi software è minima.gcloud kms keys create <your-key-name> \ --project=<your-project-id> \ --location=<region> \ --keyring=<your-keyring-name> \ --purpose=encryption \ --protection-level=hsmPer la protezione software, invece, ometti
--protection-level=hsm. Nient'altro in questa guida cambia.Puoi anche creare la chiave dalla Google Cloud Console. Apri il key ring, fai clic su Create key, seleziona Generated key, imposta lo scopo e l'algoritmo su crittografia e decrittografia simmetrica e scegli HSM sotto il livello di protezione.

Crea una chiave simmetrica encrypt/decrypt (crittografia/decrittografia) protetta da HSM. Concedi all'account di servizio di Anthropic l'accesso alla chiave
Sono necessari due binding IAM a livello di chiave. Entrambi sono limitati alla singola chiave crittografica, non all'intero progetto o all'intero key ring.
Crittografia e decrittografia, che Anthropic usa per crittografare e decrittografare le chiavi dati che proteggono i dati del tuo workspace (envelope encryption, ovvero crittografia a busta):
gcloud kms keys add-iam-policy-binding <your-key-name> \ --project=<your-project-id> \ --location=<region> \ --keyring=<your-keyring-name> \ --member="serviceAccount:anthropic-cmek-client-us@gcp-anthropic-cmek-clients.iam.gserviceaccount.com" \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypterViewer, per la lettura dei metadati (
cryptoKeys.get) che Anthropic esegue all'avvio per validare lo scopo e l'algoritmo della chiave:gcloud kms keys add-iam-policy-binding <your-key-name> \ --project=<your-project-id> \ --location=<region> \ --keyring=<your-keyring-name> \ --member="serviceAccount:anthropic-cmek-client-us@gcp-anthropic-cmek-clients.iam.gserviceaccount.com" \ --role=roles/cloudkms.viewerDalla Console, seleziona la chiave, apri il pannello Permissions, fai clic su Grant access e aggiungi l'account di servizio con entrambi i ruoli Cloud KMS CryptoKey Encrypter/Decrypter e Cloud KMS Viewer. Assicurati di trovarti nella pagina dei permessi della chiave, non del key ring o del progetto, in modo che la concessione sia limitata solo a questa chiave.

Concedi all'account di servizio Anthropic entrambi i ruoli tramite Grant access (concedi accesso), limitati alla chiave. Annota il nome completo della risorsa della chiave
Lo passerai ad Anthropic quando registri la chiave. Il formato è:
projects/<your-project-id>/locations/<region>/keyRings/<your-keyring-name>/cryptoKeys/<your-key-name>Recuperalo con:
gcloud kms keys describe <your-key-name> \ --project=<your-project-id> \ --location=<region> \ --keyring=<your-keyring-name> \ --format="value(name)"Dalla Console, apri la pagina dei dettagli della chiave e fai clic su Copy resource name.

Copia il nome completo della risorsa della chiave con Copy resource name (copia nome risorsa) dal menu delle azioni.
Registra la chiave con Anthropic
Il modo in cui registri la chiave dipende dal prodotto che usi.
Registra la chiave con Anthropic
Crea una configurazione di chiave esterna tramite l'Admin API, usando il nome della risorsa ottenuto nel passaggio Annota il nome completo della risorsa della chiave sotto Configurazione della chiave di crittografia.
client = anthropic.Anthropic() external_key = client.beta.organization.external_keys.create( display_name="<friendly-name>", geo="us", provider_config={ "type": "gcp", "key_name": "projects/<your-project-id>/locations/<region>/keyRings/<your-keyring-name>/cryptoKeys/<your-key-name>", }, ) print(f"id: {external_key.id}") print(f"display_name: {external_key.display_name}")La risposta contiene l'ID della chiave esterna:
{ "type": "external_key", "id": "ekey_<id>", "display_name": "<friendly-name>" }Valida la chiave
Attiva un ciclo completo di crittografia e decrittografia sulla tua chiave.
client = anthropic.Anthropic() validation = client.beta.organization.external_keys.validate("ekey_<id>") print(f"status: {validation.status}") print(f"error: {validation.error}")Una risposta riuscita ha questo aspetto:
{ "type": "external_key_validation", "status": "success", "error": null }Se la validazione fallisce, le cause comuni sono:
- VPC Service Controls: se un perimetro di servizio protegge Cloud KMS nel tuo progetto, aggiungi Anthropic a un livello di accesso sul perimetro (o escludi il progetto della chiave) in modo che Anthropic possa raggiungere la chiave.
- Condivisione limitata al dominio: la policy dell'organizzazione
constraints/iam.allowedPolicyMemberDomainspuò rimuovere il binding dell'account di servizio Anthropic (vedi la nota precedente). Conferma che il binding sia presente congcloud kms keys get-iam-policy <your-key-name> --project=<your-project-id> --location=<region> --keyring=<your-keyring-name>. - Versione della chiave disabilitata o distrutta: conferma che la versione primaria della chiave sia abilitata e non disabilitata, pianificata per la distruzione o distrutta.
Associa la chiave a un workspace
Una volta validata la chiave, associala a un nuovo workspace prima di inviare qualsiasi richiesta a quel workspace. Per un workspace che riceve già richieste, la chiave può richiedere fino a un giorno per entrare in vigore.
client = anthropic.Anthropic() workspace = client.beta.organization.workspaces.update( "<workspace-id>", external_key_id="ekey_<id>" ) print(f"id: {workspace.id}") print(f"external_key_id: {workspace.external_key_id}")
Terraform
Per i deployment infrastructure-as-code (infrastruttura come codice), gli stessi passaggi corrispondono al provider google con le risorse google_kms_key_ring, google_kms_crypto_key e google_kms_crypto_key_iam_member.
Was this page helpful?