Metodi di autenticazione

La configurazione di Claude Code richiede l’accesso ai modelli Anthropic. Per i team, puoi configurare l’accesso a Claude Code in uno di tre modi:

  • API Anthropic tramite la Console Anthropic
  • Amazon Bedrock
  • Google Vertex AI

Autenticazione API Anthropic

Per configurare l’accesso a Claude Code per il tuo team tramite API Anthropic:

  1. Usa il tuo account Console Anthropic esistente o crea un nuovo account Console Anthropic
  2. Puoi aggiungere utenti attraverso uno dei metodi seguenti:
    • Invita utenti in massa dall’interno della Console (Console -> Impostazioni -> Membri -> Invita)
    • Configura SSO
  3. Quando inviti utenti, hanno bisogno di uno dei seguenti ruoli:
    • Il ruolo “Claude Code” significa che gli utenti possono creare solo chiavi API Claude Code
    • Il ruolo “Developer” significa che gli utenti possono creare qualsiasi tipo di chiave API
  4. Ogni utente invitato deve completare questi passaggi:

Autenticazione del provider cloud

Per configurare l’accesso a Claude Code per il tuo team tramite Bedrock o Vertex:

  1. Segui la documentazione Bedrock o la documentazione Vertex
  2. Distribuisci le variabili d’ambiente e le istruzioni per generare le credenziali cloud ai tuoi utenti. Leggi di più su come gestire la configurazione qui.
  3. Gli utenti possono installare Claude Code

Controllo degli accessi e permessi

Supportiamo permessi granulari in modo che tu possa specificare esattamente cosa l’agente è autorizzato a fare (ad esempio eseguire test, eseguire linter) e cosa non è autorizzato a fare (ad esempio aggiornare l’infrastruttura cloud). Queste impostazioni dei permessi possono essere inserite nel controllo versione e distribuite a tutti gli sviluppatori della tua organizzazione, oltre ad essere personalizzate dai singoli sviluppatori.

Sistema di permessi

Claude Code utilizza un sistema di permessi a livelli per bilanciare potenza e sicurezza:

Tipo di StrumentoEsempioApprovazione RichiestaComportamento “Sì, non chiedere più”
Solo letturaLettura file, LS, GrepNoN/A
Comandi BashEsecuzione shellPermanentemente per directory del progetto e comando
Modifica FileModifica/scrittura fileFino alla fine della sessione

Configurazione dei permessi

Puoi visualizzare e gestire i permessi degli strumenti di Claude Code con /permissions. Questa UI elenca tutte le regole di permesso e il file settings.json da cui provengono.

  • Le regole Allow permetteranno a Claude Code di utilizzare lo strumento specificato senza ulteriore approvazione manuale.
  • Le regole Ask chiederanno conferma all’utente ogni volta che Claude Code tenta di utilizzare lo strumento specificato. Le regole Ask hanno precedenza sulle regole allow.
  • Le regole Deny impediranno a Claude Code di utilizzare lo strumento specificato. Le regole Deny hanno precedenza sulle regole allow e ask.
  • Le Directory aggiuntive estendono l’accesso ai file di Claude alle directory oltre la directory di lavoro iniziale.
  • La Modalità predefinita controlla il comportamento dei permessi di Claude quando incontra nuove richieste.

Le regole di permesso utilizzano il formato: Tool o Tool(specifier-opzionale)

Una regola che è solo il nome dello strumento corrisponde a qualsiasi uso di quello strumento. Ad esempio, aggiungere Bash all’elenco delle regole allow permetterebbe a Claude Code di utilizzare lo strumento Bash senza richiedere l’approvazione dell’utente.

Modalità di permesso

Claude Code supporta diverse modalità di permesso che possono essere impostate come defaultMode nei file delle impostazioni:

ModalitàDescrizione
defaultComportamento standard - richiede permesso al primo uso di ogni strumento
acceptEditsAccetta automaticamente i permessi di modifica file per la sessione
planModalità Piano - Claude può analizzare ma non modificare file o eseguire comandi
bypassPermissionsSalta tutti i prompt di permesso (richiede ambiente sicuro - vedi avviso sotto)

Directory di lavoro

Per impostazione predefinita, Claude ha accesso ai file nella directory dove è stato avviato. Puoi estendere questo accesso:

  • Durante l’avvio: Usa l’argomento CLI --add-dir <path>
  • Durante la sessione: Usa il comando slash /add-dir
  • Configurazione persistente: Aggiungi a additionalDirectories nei file delle impostazioni

I file nelle directory aggiuntive seguono le stesse regole di permesso della directory di lavoro originale - diventano leggibili senza prompt, e i permessi di modifica file seguono la modalità di permesso corrente.

Regole di permesso specifiche per strumento

Alcuni strumenti supportano controlli di permesso più granulari:

Bash

  • Bash(npm run build) Corrisponde al comando Bash esatto npm run build
  • Bash(npm run test:*) Corrisponde ai comandi Bash che iniziano con npm run test
  • Bash(curl http://site.com/:*) Corrisponde ai comandi curl che iniziano esattamente con curl http://site.com/

Claude Code è consapevole degli operatori shell (come &&) quindi una regola di corrispondenza prefisso come Bash(safe-cmd:*) non gli darà il permesso di eseguire il comando safe-cmd && other-cmd

Limitazioni importanti dei pattern di permesso Bash:

  1. Questo strumento utilizza corrispondenze di prefisso, non pattern regex o glob
  2. Il carattere jolly :* funziona solo alla fine di un pattern per corrispondere a qualsiasi continuazione
  3. Pattern come Bash(curl http://github.com/:*) possono essere aggirati in molti modi:
    • Opzioni prima dell’URL: curl -X GET http://github.com/... non corrisponderà
    • Protocollo diverso: curl https://github.com/... non corrisponderà
    • Reindirizzamenti: curl -L http://bit.ly/xyz (reindirizza a github)
    • Variabili: URL=http://github.com && curl $URL non corrisponderà
    • Spazi extra: curl http://github.com non corrisponderà

Per un filtraggio URL più affidabile, considera:

  • Utilizzare lo strumento WebFetch con permesso WebFetch(domain:github.com)
  • Istruire Claude Code sui tuoi pattern curl consentiti tramite CLAUDE.md
  • Utilizzare hook per la validazione personalizzata dei permessi

Read & Edit

Le regole Edit si applicano a tutti gli strumenti integrati che modificano file. Claude farà un tentativo di buona fede per applicare le regole Read a tutti gli strumenti integrati che leggono file come Grep, Glob e LS.

Le regole Read & Edit seguono entrambe la specifica gitignore con quattro tipi di pattern distinti:

PatternSignificatoEsempioCorrisponde
//pathPercorso assoluto dalla radice del filesystemRead(//Users/alice/secrets/**)/Users/alice/secrets/**
~/pathPercorso dalla directory homeRead(~/Documents/*.pdf)/Users/alice/Documents/*.pdf
/pathPercorso relativo al file delle impostazioniEdit(/src/**/*.ts)<percorso file impostazioni>/src/**/*.ts
path o ./pathPercorso relativo alla directory correnteRead(*.env)<cwd>/*.env

Un pattern come /Users/alice/file NON è un percorso assoluto - è relativo al tuo file delle impostazioni! Usa //Users/alice/file per percorsi assoluti.

  • Edit(/docs/**) - Modifiche in <project>/docs/ (NON /docs/!)
  • Read(~/.zshrc) - Legge il .zshrc della tua directory home
  • Edit(//tmp/scratch.txt) - Modifica il percorso assoluto /tmp/scratch.txt
  • Read(src/**) - Legge da <directory-corrente>/src/

WebFetch

  • WebFetch(domain:example.com) Corrisponde alle richieste di fetch a example.com

MCP

  • mcp__puppeteer Corrisponde a qualsiasi strumento fornito dal server puppeteer (nome configurato in Claude Code)
  • mcp__puppeteer__puppeteer_navigate Corrisponde allo strumento puppeteer_navigate fornito dal server puppeteer

A differenza di altri tipi di permesso, i permessi MCP NON supportano caratteri jolly (*).

Per approvare tutti gli strumenti da un server MCP:

  • ✅ Usa: mcp__github (approva TUTTI gli strumenti GitHub)
  • ❌ Non usare: mcp__github__* (i caratteri jolly non sono supportati)

Per approvare solo strumenti specifici, elenca ognuno:

  • ✅ Usa: mcp__github__get_issue
  • ✅ Usa: mcp__github__list_issues

Controllo aggiuntivo dei permessi con hook

Gli hook di Claude Code forniscono un modo per registrare comandi shell personalizzati per eseguire la valutazione dei permessi a runtime. Quando Claude Code effettua una chiamata di strumento, gli hook PreToolUse vengono eseguiti prima che il sistema di permessi venga eseguito, e l’output dell’hook può determinare se approvare o negare la chiamata dello strumento al posto del sistema di permessi.

Impostazioni di policy gestite dall’enterprise

Per le distribuzioni enterprise di Claude Code, supportiamo impostazioni di policy gestite dall’enterprise che hanno precedenza sulle impostazioni utente e progetto. Questo permette agli amministratori di sistema di applicare policy di sicurezza che gli utenti non possono sovrascrivere.

Gli amministratori di sistema possono distribuire policy a:

  • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
  • Linux e WSL: /etc/claude-code/managed-settings.json
  • Windows: C:\ProgramData\ClaudeCode\managed-settings.json

Questi file di policy seguono lo stesso formato dei file delle impostazioni regolari ma non possono essere sovrascritti dalle impostazioni utente o progetto. Questo garantisce policy di sicurezza coerenti in tutta la tua organizzazione.

Precedenza delle impostazioni

Quando esistono più fonti di impostazioni, vengono applicate nel seguente ordine (dalla precedenza più alta alla più bassa):

  1. Policy enterprise
  2. Argomenti della riga di comando
  3. Impostazioni progetto locali (.claude/settings.local.json)
  4. Impostazioni progetto condivise (.claude/settings.json)
  5. Impostazioni utente (~/.claude/settings.json)

Questa gerarchia garantisce che le policy organizzative siano sempre applicate pur consentendo flessibilità a livello di progetto e utente dove appropriato.

Gestione delle credenziali

Claude Code gestisce in modo sicuro le tue credenziali di autenticazione:

  • Posizione di archiviazione: Su macOS, le chiavi API, i token OAuth e altre credenziali sono memorizzate nel Keychain macOS crittografato.
  • Tipi di autenticazione supportati: Credenziali Claude.ai, credenziali API Anthropic, Bedrock Auth e Vertex Auth.
  • Script di credenziali personalizzati: L’impostazione apiKeyHelper può essere configurata per eseguire uno script shell che restituisce una chiave API.
  • Intervalli di aggiornamento: Per impostazione predefinita, apiKeyHelper viene chiamato dopo 5 minuti o su risposta HTTP 401. Imposta la variabile d’ambiente CLAUDE_CODE_API_KEY_HELPER_TTL_MS per intervalli di aggiornamento personalizzati.