Come funzionano le credenziali predefinite dell'applicazione

Questa pagina descrive le posizioni in cui le credenziali predefinite dell'applicazione (ADC) cercano le credenziali. Comprendere il funzionamento dell'ADC può aiutarti a capire quali credenziali sta utilizzando e come le trova.

Application Default Credentials (ADC) è una strategia utilizzata dalle librerie di autenticazione per trovare automaticamente le credenziali in base all'ambiente dell'applicazione. Le librerie di autenticazione rendono queste credenziali disponibili per le librerie client 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 dover cambiare il modo in cui l'applicazione si autentica nei servizi e nelle API Google Cloud.

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

Ordina per ricerca

ADC cerca le credenziali nelle seguenti posizioni:

  1. Variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS
  2. Configurazione delle credenziali utente mediante Google Cloud CLI
  3. L'account di servizio collegato, restituito dal server dei metadati

L'ordine delle sedi per cui l'ADC esegue la verifica delle credenziali non è correlato al valore relativo di ciascuna sede. Per assistenza con i modi migliori per fornire le credenziali ad ADC, vedi Configura Credenziali predefinite dell'applicazione.

Variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS

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

  • Un file di configurazione delle credenziali per la federazione delle identità della forza lavoro

    La federazione delle identità per la forza lavoro consente di utilizzare un provider di identità esterno (IdP) per autenticare e autorizzare gli utenti ad accedere a Google Cloud Google Cloud. Per ulteriori informazioni, vedi Federazione delle identità per la forza lavoro nel documentazione di Identity and Access Management (IAM).

  • Un file di configurazione delle credenziali per la federazione delle identità per i carichi di lavoro

    La federazione delle identità per i carichi di lavoro consente di utilizzare un server IdP per autenticare e autorizzare i carichi di lavoro ad accedere dell'accesso a specifiche risorse Google Cloud. Per ulteriori informazioni, vedi Autenticazione mediante 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 creano un rischio per la sicurezza e sono sconsigliate. Non mi piace altri tipi di file delle credenziali, le chiavi degli account di servizio compromesse possono utilizzati da un utente malintenzionato senza ulteriori informazioni. Per maggiori informazioni le informazioni, vedi Best practice per l'utilizzo e la gestione delle chiavi degli account di servizio.

Credenziali utente fornite mediante gcloud CLI

Puoi fornire le credenziali utente ad ADC eseguendo il comando gcloud auth application-default login. Questo inserisce un file JSON contenente le credenziali da te fornite (di solito i il tuo account utente) in una posizione nota sul tuo file system. La posizione dipende dal sistema operativo:

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

Le credenziali fornite ad ADC mediante gcloud CLI sono diverse dalle tue credenziali gcloud: le credenziali gcloud CLI utilizza per l'autenticazione in Google Cloud. Per ulteriori informazioni su questi due set di credenziali, consulta la configurazione dell'autenticazione dell'interfaccia a riga di comando gcloud e la configurazione dell'ADC.

Per impostazione predefinita, i token di accesso generati da un file ADC locale creato con le credenziali utente includono a livello di cloud https://www.googleapis.com/auth/cloud-platform. Per specificare gli ambiti in modo esplicito, utilizza –-scopes con il comando gcloud auth application-default login.

Per aggiungere ambiti per servizi esterni a Google Cloud, ad esempio Google Drive, crea un ID client OAuth e la fornisci al comando gcloud auth application-default login utilizzando –-client-id-file, che specifica i tuoi ambiti con -–scopes.

L'account di servizio collegato

Molti servizi Google Cloud ti consentono di collegare un account di servizio che utilizzate per fornire le credenziali per accedere alle API Google Cloud. Se l'ADC non trovano le credenziali che può utilizzare in GOOGLE_APPLICATION_CREDENTIALS o la posizione nota per le credenziali ADC locali, utilizza il server di metadati per ottenere le credenziali per in cui è in esecuzione il codice.

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

  1. Crea un account di servizio gestito dall'utente.
  2. Concedi all'account di servizio i ruoli IAM con privilegi minimi possibili.
  3. Collega l'account di servizio alla risorsa in cui viene eseguito il codice.

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

Passaggi successivi