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 modificare il modo in cui l'applicazione esegue l'autenticazione ai servizi e alle API Google Cloud.

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

Ordine di 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 località che ADC controlla per le credenziali non è correlato a il merito relativo di ogni località. 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 i 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, 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 ulteriori 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 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 informazioni su questi due set di credenziali, vedi Configurazione dell'autenticazione gcloud CLI e 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 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 privilegi minimi. Ruoli IAM possibili.
  3. Collega l'account di servizio alla risorsa su cui è in esecuzione 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 servizio dell'account, consulta l'articolo Scegliere i ruoli predefiniti.

Passaggi successivi