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 di 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. Credenziali utente configurate utilizzando 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 informazioni su come comprendere i modi migliori per fornire le credenziali all'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à della forza lavoro ti consente di utilizzare un provider di identità (IdP) esterno per autenticare e autorizzare gli utenti ad accedere alle risorse Google Cloud. Per ulteriori informazioni, consulta la sezione 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à dei carichi di lavoro ti consente di utilizzare un IdP esterno per autenticare e autorizzare i carichi di lavoro ad accedere alle risorse Google Cloud. Per ulteriori informazioni, consulta Eseguire l'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 degli 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 malintenzionato senza ulteriori informazioni. Per ulteriori informazioni, 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 inserisce un file JSON contenente le credenziali fornite (di solito dal tuo account utente) in una posizione nota del 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 utilizzando gcloud CLI sono diverse dalle credenziali gcloud, ovvero quelle utilizzate da gcloud CLI per autenticarsi 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 l'ambito a livello di cloud https://www.googleapis.com/auth/cloud-platform. Per specificare gli ambiti in modo esplicito, utilizza il –-scopes flag 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 –-client-id-file flag, specificando i tuoi ambiti con il -–scopes flag.

L'account di servizio associato

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 allegato:

  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 assistenza sulla creazione di un account di servizio, consulta Creare e gestire gli account di servizio. Per assistenza sull'attacco di un account di servizio, vedi Collegare 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