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 di ADC può aiutarti a capire quali credenziali utilizza 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 disponibili queste credenziali per le librerie client Cloud e le librerie client delle API di Google. Quando utilizzi le 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 nei servizi e nelle API. Google Cloud

Per informazioni su come fornire le credenziali ad ADC, incluso come generare un file ADC locale, vedi Configura le credenziali predefinite dell'applicazione.

Cerca ordine

ADC cerca le credenziali nelle seguenti posizioni:

  1. Variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS
  2. Un file delle credenziali creato utilizzando il comando gcloud auth application-default login
  3. Il account di servizio collegato, restituito dal server dei metadati

L'ordine in cui ADC verifica le credenziali delle posizioni non è correlato al merito relativo di ciascuna posizione. Per assistenza per comprendere i 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à per la forza lavoro

    La federazione delle identità per la forza lavoro ti consente di utilizzare un provider di identità (IdP) esterno per autenticare e autorizzare gli utenti ad accedere alle risorse. Google CloudPer 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 workload

    La federazione delle identità per i workload ti consente di utilizzare un IdP esterno per autenticare e autorizzare i workload ad accedere alle risorseGoogle Cloud . Per saperne di più, consulta Autenticarsi utilizzando le librerie client, gcloud CLI o Terraform nella documentazione di Identity and Access Management (IAM).

  • Una chiave account di servizio

    Le chiavi dei service account creano 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 malintenzionato senza ulteriori informazioni. Per ulteriori informazioni, consulta Best practice per l'utilizzo e la gestione delle chiavi degli account di servizio.

Un file delle credenziali creato utilizzando il comando gcloud auth application-default login

Puoi fornire le credenziali ad ADC eseguendo il comando gcloud auth application-default login. Questo comando crea un file JSON contenente le credenziali che fornisci (dal tuo account utente o dalla rappresentazione di un account di servizio) e lo inserisce 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 che fornisci ad ADC utilizzando gcloud CLI sono diverse dalle tue credenziali gcloud, ovvero le credenziali che gcloud CLI utilizza per l'autenticazione a Google Cloud. Per ulteriori informazioni su questi due insiemi di credenziali, consulta Configurazione dell'autenticazione con gcloud CLI e configurazione 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 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.

Il account di servizio collegato

Molti Google Cloud servizi ti consentono di collegare un account di servizio che può essere utilizzato per fornire le credenziali per l'accesso alle Google Cloud API. Se ADC non trova credenziali da 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 del account di servizio collegato è il metodo preferito per trovare le credenziali in un ambiente di produzione su Google Cloud. Per utilizzare ilaccount di serviziot collegato, segui questi passaggi:

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

Per assistenza nella creazione di un account di servizio, vedi Creazione e gestione dei service account. Per assistenza per il collegamento di unaccount di serviziot, vedi Collegamento di unaccount di serviziot a una risorsa. Per assistenza nella determinazione dei ruoli IAM richiesti per il tuo service account, consulta Scegliere ruoli predefiniti.

Passaggi successivi