Come funzionano le credenziali predefinite dell'applicazione

Questa pagina descrive le posizioni in cui le Credenziali predefinite dell'applicazione (ADC) cercano le credenziali. Capire il funzionamento di ADC aiuta a capire quali credenziali utilizza ADC e come le trova.

Application Default Credentials (ADC) è una strategia usata dalle librerie di autenticazione per trovare automaticamente le credenziali in base all'ambiente applicativo. Le librerie di autenticazione rendono queste credenziali disponibili alle librerie client di Cloud e alle librerie client delle API di Google. Quando utilizzi ADC, il tuo codice può essere eseguito in un ambiente di sviluppo o di produzione senza cambiare il modo in cui l'applicazione viene autenticata ai servizi e alle API di Google Cloud.

Per informazioni su come fornire le credenziali ad ADC, consulta Configurazione delle credenziali predefinite dell'applicazione.

Ordine di ricerca

ADC cerca le credenziali nelle seguenti posizioni:

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

L'ordine delle località in cui l'ADC controlla le credenziali non è correlato al merito relativo di ciascuna località. Per assistenza sui modi migliori per fornire le credenziali ad ADC, consulta Configurare le 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 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 per autenticare e autorizzare gli utenti ad accedere alle risorse Google Cloud. Per maggiori informazioni, consulta Federazione delle identità per la forza lavoro nella 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 provider di identità esterno per autenticare e autorizzare i carichi di lavoro per l'accesso alle risorse Google Cloud. Per maggiori informazioni, consulta Eseguire l'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 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 compromesse possono essere utilizzate da un utente malintenzionato senza alcuna informazione aggiuntiva. Per ulteriori informazioni, consulta le best practice per l'utilizzo e la gestione delle chiavi degli account di servizio.

Credenziali utente fornite tramite gcloud CLI

Puoi fornire le credenziali utente ad ADC eseguendo il comando gcloud auth application-default login. Questo comando inserisce un file JSON contenente le credenziali che hai fornito (di solito dal tuo account utente) in una posizione nota nel tuo file system. La località 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 utilizzando gcloud CLI sono distinte dalle tue credenziali gcloud, ovvero quelle utilizzate da gcloud CLI per l'autenticazione in Google Cloud. Per ulteriori informazioni su questi due set di credenziali, consulta Configurazione dell'autenticazione e della configurazione ADC di gcloud CLI .

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

Per aggiungere ambiti per servizi esterni a Google Cloud, come Google Drive, crea un ID client OAuth e forniscilo al comando gcloud auth application-default login utilizzando il flag –client-id-file, specificando gli ambiti con il flag –scopes.

L'account di servizio collegato

Molti servizi Google Cloud ti consentono di collegare un account di servizio che può essere utilizzato per fornire le credenziali per accedere 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 ADC locali, 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 collegato è 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 a quell'account di servizio i ruoli IAM con privilegi minimi possibili.
  3. Collega l'account di servizio alla risorsa su cui è in esecuzione il codice.

Per assistenza sulla creazione di un account di servizio, consulta Creazione e gestione degli account di servizio. Per assistenza sul collegamento di 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 i ruoli predefiniti.

Passaggi successivi