Autorizza gcloud CLI

Per accedere a Google Cloud, di solito devi autorizzare Google Cloud CLI. Questa pagina illustra le opzioni di autorizzazione disponibili e mostra come gestire gli account utilizzati per l'autorizzazione. Se utilizzi un'istanza Compute Engine o Cloud Shell, non è necessario autorizzare gcloud CLI.

Tipi di account

Per concedere a gcloud CLI l'autorizzazione ad accedere a Google Cloud, puoi utilizzare un account utente o un account di servizio.

Un account utente è un account Google Cloud che consente agli utenti finali di eseguire l'autenticazione nella tua applicazione. Per i casi d'uso più comuni, in particolare in modo interattivo con l'interfaccia allagcloud CLIl'uso di un account utente è una best practice.

Un account di servizio è un account Google Cloud associato al progetto Google Cloud e non a un utente specifico. Puoi utilizzare l'account di servizio integrato disponibile quando utilizzi Cloud Functions, App Engine, Compute Engine o Google Kubernetes Engine. Per eseguire gli script dell'interfaccia a riga della gcloud CLI su più macchine è consigliabile un account di servizio.

Scegli un tipo di autorizzazione

Devi autorizzare Google Cloud CLI per gestire le risorse Google Cloud. Sia Google Cloud CLI che Google Cloud utilizzano OAuth2 per l'autenticazione e l'autorizzazione.

Scegli uno dei seguenti tipi di autorizzazione:

Tipo Descrizione
Account utente Opzione consigliata se utilizzi gcloud CLI dalla riga di comando o stai scrivendo script con gcloud CLI per l'utilizzo su una singola macchina.
Account di servizio Opzione consigliata se stai installando e configurando gcloud CLI come parte di un processo di deployment della macchina in produzione o per l'utilizzo su istanze di macchine virtuali Compute Engine in cui tutti gli utenti hanno accesso a root.

Per ulteriori informazioni sull'autenticazione e su Google Cloud, consulta la panoramica dell'autenticazione.

Autorizza con un account utente

Utilizza i seguenti comandi dell'interfaccia a riga della gcloud CLI per autorizzare l'accesso con un account utente:

Comando Descrizione
gcloud init Autorizza l'accesso ed esegue altri passaggi di configurazione comuni.
gcloud auth login Autorizza solo l'accesso.

Durante l'autorizzazione, questi comandi ottengono le credenziali dell'account da Google Cloud e le archiviano nel sistema locale. L'account specificato diventa l'account attivo nella tua configurazione. gcloud CLI utilizza le credenziali archiviate per accedere a Google Cloud. Puoi avere un numero qualsiasi di account con credenziali archiviate per una singola installazione di gcloud CLI, ma è attivo un solo account alla volta.

Run gcloud init

gcloud init autorizza l'accesso ed esegue altri passaggi di configurazione comuni. gcloud init utilizza un flusso di autorizzazione basato sul web per autenticare l'account utente e concedere le autorizzazioni di accesso.

Per autorizzare l'accesso ed eseguire altri passaggi di configurazione comuni:

  1. Esecuzione gcloud init:

    gcloud init
    

    In alternativa, per impedire al comando di aprire automaticamente un browser web:

    gcloud init --console-only
    

    L'utilizzo del flag --console-only è utile se esegui il comando su un sistema remoto usando ssh e non hai accesso a un browser su quel sistema. Dovrai quindi aprire manualmente l'URL fornito in un browser sul tuo sistema locale per completare la procedura di autorizzazione.

  2. Segui il flusso di autorizzazione basato su browser per autenticare l'account e concedere le autorizzazioni di accesso.

Per maggiori informazioni su gcloud init, consulta Inizializzazione di gcloud CLI.

Esegui accesso di autenticazione gcloud

L'esecuzione di gcloud auth login autorizza solo l'account utente. Per autorizzare l'accesso senza eseguire altri passaggi di configurazione, utilizza una delle seguenti opzioni.

  • Se vuoi autorizzare gcloud CLI su una macchina con un browser, segui questi passaggi.

    1. Autorizza gcloud CLI:

      gcloud auth login
      
    2. Segui il flusso di autorizzazione basato su browser per autenticare l'account e concedere le autorizzazioni di accesso.

  • Se vuoi autorizzare gcloud CLI su una macchina che non dispone di un browser e puoi installarla su un'altra macchina con un browser, utilizza il flag --no-browser.

    1. Autorizza gcloud CLI:

      gcloud auth login --no-browser
      
    2. Copia il comando lungo che inizia con gcloud auth login --remote-bootstrap=".

    3. Incolla ed esegui questo comando sulla riga di comando di un'altra macchina attendibile che abbia installazioni locali sia di un browser web sia dello strumento gcloud CLI versione 372.0 o successive.

    4. Copia l'output dell'URL lungo dal computer con il browser web.

    5. Incolla l'URL lungo sulla prima macchina visualizzata nel prompt "Inserisci l'output del comando riportato sopra", quindi premi Invio per completare l'autorizzazione.

  • Se vuoi autorizzare gcloud CLI su una macchina che non dispone di un browser e non puoi installarlo su un'altra macchina con un browser, utilizza il flag --no-launch-browser. Il flag --no-launch-browser impedisce al comando di aprire automaticamente un browser web.

    1. Autorizza gcloud CLI:

      gcloud auth login --no-launch-browser
      
    2. Copia l'URL lungo che inizia con https://accounts.google.com/o/oauth2/auth...

    3. Incolla questo URL nel browser di un altro computer attendibile che dispone di un browser web.

    4. Copia il codice di autorizzazione dalla macchina con il browser web.

    5. Incolla il codice di autorizzazione sulla prima macchina quando richiesto, "Inserisci il codice di verifica", e premi Invio per completare l'autorizzazione.

  • Se hai già un token di accesso, utilizza uno dei seguenti metodi per passare il token di accesso a gcloud CLI:

    • Archivia il token di accesso in un file e impostane il percorso tramite il flag --access-token-file.
    • Archivia il token di accesso in un file e impostane il percorso nella proprietà auth/access_token_file.
    • Imposta la variabile di ambiente CLOUDSDK_AUTH_ACCESS_TOKEN sul valore del token di accesso.

Autorizza con un account di servizio

Il comando gcloud auth login può autorizzare l'accesso con un account di servizio utilizzando un file di credenziali archiviato nel file system locale. Questa credenziale può essere una credenziale utente con l'autorizzazione a impersonare l'account di servizio, un file di configurazione delle credenziali per la federazione delle identità dei carichi di lavoro o una chiave dell'account di servizio.

Autorizza un account di servizio utilizzando la rappresentazione degli account di servizio

Per autorizzare gcloud CLI a utilizzare le credenziali dell'account di servizio impersonate:

  1. Nella console Google Cloud, vai alla pagina Account di servizio.

    Vai ad Account di servizio

  2. Scegli un account esistente o creane uno nuovo facendo clic su Crea account di servizio.

  3. Per assicurarti che l'entità disponga dell'autorizzazione necessaria per impersonare un account di servizio, chiedi all'amministratore di concedere all'entità il ruolo IAM Creatore token account di servizio (roles/iam.serviceAccountTokenCreator) per l'account di servizio. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

    Questo ruolo predefinito contiene l'autorizzazione iam.serviceAccounts.getAccessToken, necessaria per impersonare un account di servizio.

    L'amministratore potrebbe anche essere in grado di concedere all'entità questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

  4. Autorizza gcloud CLI con la tua identità utente eseguendo gcloud auth login.

  5. Per configurare gcloud CLI in modo da utilizzare l'identità e l'accesso forniti per impostazione predefinita da un account di servizio, utilizza il comando gcloud CLI config:

    gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
    
  6. Per interrompere l'utilizzo delle credenziali dell'account di servizio impersonate con gcloud CLI per impostazione predefinita, annulla l'impostazione del flag con il comando gcloud CLI config:

    gcloud config unset auth/impersonate_service_account
    

Autorizza un account di servizio utilizzando la federazione delle identità per i carichi di lavoro

Per autorizzare gcloud CLI con un account di servizio che utilizza le credenziali esterne della federazione delle identità per i carichi di lavoro:

  1. Nella console Google Cloud, vai alla pagina Account di servizio.

    Vai ad Account di servizio

  2. Scegli un account esistente o creane uno nuovo facendo clic su Crea account di servizio.

  3. Crea un file di configurazione delle credenziali per la federazione delle identità per i carichi di lavoro seguendo le indicazioni per il tuo provider di identità supportato.

  4. Per attivare l'account di servizio, esegui gcloud auth login con il flag --cred-file:

    gcloud auth login --cred-file=CONFIGURATION_FILE
    

    Sostituisci CONFIGURATION_FILE con il percorso di un file di configurazione delle credenziali per la federazione delle identità per i carichi di lavoro.

Autorizza un account di servizio utilizzando una chiave dell'account di servizio

Per autorizzare gcloud CLI con un account di servizio utilizzando una chiave dell'account di servizio:

  1. Nella console Google Cloud, vai alla pagina Account di servizio.

    Vai ad Account di servizio

  2. Scegli un account esistente o creane uno nuovo facendo clic su Crea account di servizio.

  3. Per creare chiavi degli account di servizio, consulta le istruzioni IAM per creare una chiave dell'account di servizio.

  4. Per attivare l'account di servizio, esegui gcloud auth login con il flag --cred-file:

    gcloud auth login --cred-file=KEY_FILE
    

    Sostituisci KEY_FILE con il percorso del file delle chiavi dell'account di servizio.

Elenco account

Per elencare gli account le cui credenziali sono archiviate nel sistema locale, esegui gcloud auth list:

gcloud auth list

L'interfaccia a riga di comando gcloud elenca gli account e mostra quale account è attivo:

Credentialed accounts:
 - user-1@gmail.com (active)
 - user-2@gmail.com

Cambia account attivo

Per cambiare l'account attivo, esegui gcloud config set:

gcloud config set account ACCOUNT

dove [ACCOUNT] è l'indirizzo email completo dell'account.

Puoi anche cambiare account creando una configurazione separata che specifichi l'account diverso e passando da una configurazione all'altra:

gcloud config configurations activate CONFIGURATION

Se vuoi cambiare l'account utilizzato da gcloud CLI ogni chiamata, esegui l'override dell'account attivo usando il flag --account.

Impostare la durata della sessione autorizzata

In qualità di amministratore, puoi controllare per quanto tempo utenti diversi possono accedere a gcloud CLI senza dover ripetere l'autenticazione. Ad esempio, puoi forzare gli utenti con privilegi elevati a ripetere l'autenticazione con maggiore frequenza rispetto agli utenti normali.

Per ulteriori informazioni, consulta Impostare la durata della sessione per i servizi Google Cloud.

Revocare le credenziali per un account

Puoi revocare le credenziali quando vuoi impedire l'accesso tramite gcloud CLI da parte di un determinato account. Non devi revocare le credenziali per passare da un account all'altro.

Per revocare le credenziali, esegui gcloud auth revoke:

gcloud auth revoke ACCOUNT

Per revocare tutti gli accessi a gcloud CLI per tutte le macchine, rimuovi gcloud CLI dall'elenco delle app che hanno accesso al tuo account.

Utilizzare i file delle credenziali

Trovare i file delle credenziali

Per trovare la posizione dei file di credenziali, esegui gcloud info:

gcloud info

Gcloud CLI stampa informazioni sull'installazione. I file di credenziali vengono archiviati nella directory di configurazione dell'utente:

User Config Directory: [/home/USERNAME/.config/gcloud]

Configura Credenziali predefinite dell'applicazione

Gcloud CLI fornisce il supporto per la gestione delle credenziali predefinite dell'applicazione (ADC) con il gruppo di comandi gcloud auth application-default. Per rendere disponibili le credenziali utente ad ADC, esegui gcloud auth application-default login:

gcloud auth application-default login

Queste credenziali non sono utilizzate da gcloud CLI. Per altri modi di configurare ADC, consulta Configurare le credenziali predefinite dell'applicazione.

unset GOOGLE_APPLICATION_CREDENTIALS
gcloud config unset auth/impersonate_service_account
gcloud auth application-default login

Passaggi successivi