Come funzionano le credenziali predefinite dell'applicazione

In questa pagina vengono descritte le località in cui Credenziali predefinite dell'applicazione (ADC) cerca le credenziali. Comprendere il funzionamento di ADC può aiutarti a comprendere quali le credenziali utilizzate da ADC 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 rendere disponibili le credenziali Librerie client di Cloud e 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 ad ADC, consulta Configura 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 il percorso del 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à per la 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, 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à 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 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 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

Per fornire le credenziali utente ad ADC puoi eseguire 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 e 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 il –-scopes flag 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 associato

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.

Il metodo preferito è utilizzare le credenziali dell'account di servizio collegato per la ricerca delle credenziali in un ambiente di produzione su Google Cloud. A per usare 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 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 Creare e gestire gli account di servizio. Per assistenza sull'associazione di un account di servizio, vedi Associare un account di servizio a una risorsa. Per assistenza nella determinazione dei ruoli IAM richiesti per il tuo servizio dell'account, consulta l'articolo Scegliere i ruoli predefiniti.

Passaggi successivi