La Claude API supporta tre modi per autenticare le richieste:
| Metodo | Credenziale | Ideale per |
|---|---|---|
| Chiave API | Segreto statico sk-ant-api... nell'header x-api-key | Sviluppo locale, prototipazione, script e server single-tenant in cui controlli l'archiviazione dei segreti |
| Workload Identity Federation | Bearer token di breve durata scambiato dal token di identità del tuo identity provider | Workload di produzione su piattaforme cloud (AWS, Google Cloud, Azure), pipeline CI/CD e Kubernetes, dove vuoi eliminare i segreti statici |
| App Attest | Access token di breve durata emesso a un'installazione autentica e attestata della tua app iOS o macOS registrata | App iOS e macOS distribuite agli utenti finali, dove l'app chiama direttamente la Claude API senza back end o proxy |
Le chiavi API e Workload Identity Federation concedono lo stesso accesso agli endpoint della Claude API. Scegli le chiavi API per iniziare rapidamente e passa a Workload Identity Federation quando il tuo workload dispone già di un'identità emessa dalla piattaforma che puoi federare. Usa App Attest per le app iOS e macOS che distribuisci agli utenti finali.
Le chiavi API sono segreti statici che generi nella Claude Console e passi in ogni richiesta.
x-api-key nelle richieste HTTP dirette, oppure imposta la variabile d'ambiente ANTHROPIC_API_KEY e gli SDK client la rileveranno automaticamente.POST /v1/messages
x-api-key: YOUR_API_KEY
anthropic-version: 2023-06-01
content-type: application/jsonArchivia le chiavi API in un secrets manager, ruotale periodicamente e revoca qualsiasi chiave che sospetti sia trapelata. Puoi anche impostare una scadenza quando crei una chiave per limitare il tempo in cui una credenziale trapelata rimane utilizzabile.
client = Anthropic(api_key="my-anthropic-api-key")
# oppure, con ANTHROPIC_API_KEY impostata nell'ambiente:
client = Anthropic()Quando crei una chiave API dalla pagina API keys nella Claude Console, scegli una scadenza: un valore predefinito (3 ore, 1 giorno, 7 giorni o 30 giorni), una durata personalizzata, oppure Never per le chiavi che archivi in un secrets manager e ruoti autonomamente. Se la tua organizzazione ha una policy di scadenza massima, la Console limita i valori predefiniti e le durate personalizzate al massimo consentito dalla policy, e l'opzione Never non è disponibile. Le chiavi esistenti mantengono il loro comportamento attuale; la scadenza viene impostata al momento della creazione e non può essere modificata successivamente. La stessa scelta di scadenza si applica quando crei una chiave Admin API nella Claude Console.
Anthropic invia un'email al creatore della chiave quando la scadenza si avvicina: 7 giorni prima della scadenza per le chiavi create con una durata di almeno 14 giorni, e 1 giorno prima per le chiavi con una durata di almeno 7 giorni. Le chiavi con durate più brevi scadono senza email di avviso.
Dopo la scadenza di una chiave, le richieste effettuate con essa restituiscono un 401 authentication_error. Crea una nuova chiave per ripristinare l'accesso; le chiavi scadute non possono essere riattivate.
La tabella delle chiavi API nella Console mostra la scadenza di ciascuna chiave, e l'Admin API riporta il timestamp expires_at di ciascuna chiave negli endpoint List API Keys e Retrieve API Key, così puoi verificare e ruotare le chiavi prima che scadano. Il campo è null per le chiavi senza scadenza.
La scadenza limita la durata di una credenziale trapelata, ma non sostituisce una corretta gestione dei segreti. Indipendentemente dalla scadenza, archivia le chiavi in un secrets manager e revoca qualsiasi chiave che sospetti sia trapelata.
"Workload Identity Federation" (federazione dell'identità del workload), o WIF, consente a un workload di autenticarsi con un token di identità di breve durata emesso da un "identity provider" (provider di identità), o IdP, di cui ti fidi già, come AWS IAM, Google Cloud o qualsiasi issuer OIDC conforme agli standard (come GitHub Actions, service account Kubernetes, SPIFFE, Microsoft Entra ID o Okta). Il workload scambia il suo JWT emesso dall'IdP presso POST /v1/oauth/token con un access token di breve durata per la Claude API, e l'SDK aggiorna automaticamente quel token prima che scada. Non c'è alcuna stringa sk-ant-api... da generare, distribuire o ruotare.
La federazione rimuove le chiavi API di Claude di lunga durata dal tuo ambiente, riducendo il raggio d'impatto di una credenziale trapelata e permettendoti di gestire l'accesso con gli stessi controlli IdP che già usi per le risorse cloud. Di per sé, non garantisce una sicurezza end-to-end: la catena di fiducia è solida solo quanto la configurazione del tuo identity provider, e un segreto di lunga durata un passo a monte (ad esempio, una credenziale cloud statica che può generare token IdP) può comunque comprometterla. Abbina la federazione ai controlli del tuo provider, come allowlist di IP, MFA e audit logging.
Per configurare la federazione, crei tre risorse nella Claude Console (un service account, un federation issuer e una federation rule) e poi punti il tuo SDK alla regola. Consulta Workload Identity Federation per la procedura di configurazione completa.
App Attest autentica le app iOS e macOS che chiamano la Claude API direttamente dal dispositivo. Ogni installazione dimostra di essere una build autentica e non modificata di un'app che hai registrato nella Claude Console, utilizzando il servizio App Attest di Apple. Anthropic emette quindi al dispositivo un access token di breve durata che addebita l'utilizzo al tuo workspace. I token sono limitati al tuo workspace, scadono dopo un'ora e autorizzano solo chiamate alla Messages API.
Per registrare la tua app e ottenere un client ID, consulta App Attest per app iOS e macOS.
Configura issuer, regole e service account, quindi scambia i token
Guide passo passo per AWS, Google Cloud, Azure, GitHub Actions, Kubernetes, SPIFFE e Okta
Variabili d'ambiente, regole di validazione, configurazione dei profili e riferimento errori
Consenti alle installazioni autentiche della tua app di chiamare la Claude API senza distribuire una chiave API
Python, TypeScript, C#, Go, Java, PHP, Ruby e la CLI
Was this page helpful?