Come funzionano le credenziali predefinite dell'applicazione

In questa pagina vengono indicate le località in cui le Credenziali predefinite dell'applicazione (ADC) cercano le credenziali. Comprendere come funziona l'ADC può aiutarti a comprendere quali credenziali sta utilizzando ADC e come le trova.

Application Default Credentials (ADC) è una strategia utilizzata dalle librerie di autenticazione di Google per trovare automaticamente le credenziali in base all'ambiente applicativo. Le librerie di autenticazione rendono queste credenziali disponibili per le librerie client di Cloud e le librerie client delle API di Google. Quando utilizzi ADC, il codice può essere eseguito in un ambiente di sviluppo o di produzione senza modificare la modalità di autenticazione dell'applicazione ai servizi e alle API di Google Cloud.

Per informazioni su come fornire le credenziali per ADC, consulta Configurare le credenziali predefinite dell'applicazione.

Cerca ordine

L'ADC cerca le credenziali nelle seguenti località:

  1. Variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS
  2. Credenziali utente configurate utilizzando Google Cloud CLI
  3. L'account di servizio collegato restituito dal server di metadati

L'ordine delle località in cui ADC controlla le credenziali non è correlato al merito relativo di ogni località. Per saperne di più sui modi migliori per fornire le credenziali per ADC, consulta la pagina Configurare le credenziali predefinite dell'applicazione.

Variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS

Puoi utilizzare la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS per specificare la posizione di un file JSON delle credenziali. Questo file JSON può essere uno dei seguenti tipi di file:

  • Un file di configurazione delle credenziali per la federazione di Workload Identity

    La federazione delle identità dei carichi di lavoro consente di utilizzare un provider di identità esterno per accedere alle risorse Google Cloud. Per ulteriori informazioni, consulta la pagina relativa all'autenticazione utilizzando le librerie client, gcloud CLI o Terraform nella documentazione di Identity and Access Management (IAM).

  • Una chiave dell'account di servizio

    Le chiavi dell'account di servizio rappresentano un rischio per la sicurezza e non sono consigliate. A differenza degli altri tipi di file delle credenziali, le chiavi degli account di servizio compromessi possono essere utilizzate da un utente malintenzionato senza alcuna informazione aggiuntiva. Per scoprire di più, consulta le best practice per l'utilizzo e la gestione delle chiavi degli account di servizio.

Credenziali utente fornite utilizzando gcloud CLI

Puoi fornire le credenziali utente ad ADC eseguendo il comando gcloud auth application-default login. Questo comando posiziona un file JSON contenente le credenziali che fornisci (di solito dal tuo Account Google) in una posizione nota nel tuo file system. La località dipende dal tuo sistema operativo:

  • Linux, macOS: $HOME/.config/gcloud/application_default_credentials.json
  • Windows: %APPDATA%\gcloud\application_default_credentials.json

Le credenziali fornite ad ADC utilizzando l'interfaccia alla gcloud CLI sono distinte dalle credenziali gcloud, le credenziali che l'interfaccia alla gcloud CLI utilizza per l'autenticazione in Google Cloud. Per ulteriori informazioni su questi due insiemi di credenziali, consulta Credenziali dell'interfaccia a riga di comando gcloud e credenziali ADC.

L'account di servizio collegato

Molti servizi Google Cloud consentono di collegare un account di servizio che può essere utilizzato per fornire credenziali per l'accesso alle API Google Cloud. Se ADC non trova le credenziali che può utilizzare nella variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS o nella posizione nota per le credenziali dell'Account Google, utilizza il server di metadati per ottenere le credenziali per il servizio in cui viene eseguito il codice.

L'utilizzo delle credenziali dell'account di servizio associato è il metodo preferito per trovare le credenziali in un ambiente di produzione su Google Cloud. Per utilizzare l'account di servizio collegato, segui questi passaggi:

  1. Creare un account di servizio gestito dall'utente.
  2. Concedi all'account di servizio i ruoli IAM con meno privilegi possibili.
  3. Collega l'account di servizio alla risorsa in cui è in esecuzione il codice.

Per assistenza sulla creazione di un account di servizio, consulta Creazione e gestione degli account di servizio. Per informazioni su come collegare un account di servizio, consulta Collegamento di un account di servizio a una risorsa. Per informazioni su come determinare i ruoli IAM richiesti per il tuo account di servizio, consulta Scegliere ruoli predefiniti.

Passaggi successivi