Autorizza l'interfaccia a riga di comando gcloud

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

Tipi di account

Per concedere l'autorizzazione all'interfaccia a riga di comando gcloud per 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 l'utilizzo interattivo dell'interfaccia a riga di comando gcloud, l'utilizzo di un account utente è una best practice.

Un account di servizio è un account Google Cloud associato al tuo progetto Google Cloud e non a un utente specifico. Per fare in modo che l'applicazione utilizzi un account di servizio, devi fornire una chiave dell'account di servizio. In alternativa, puoi utilizzare l'account di servizio integrato disponibile quando utilizzi Cloud Functions, App Engine, Compute Engine o Google Kubernetes Engine. Si consiglia di utilizzare un account di servizio per eseguire gli script dell'interfaccia a riga di comando gcloud su più macchine.

Scegli un tipo di autorizzazione

Devi autorizzare l'interfaccia a riga di comando di Google Cloud per gestire le risorse Google Cloud. L'interfaccia a riga di comando gcloud e 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 l'interfaccia a riga di comando gcloud dalla riga di comando o se scrivi script con l'interfaccia a riga di comando gcloud da utilizzare su una singola macchina.
Account di servizio Opzione consigliata se stai installando e configurando l'interfaccia a riga di comando gcloud come parte di un processo di deployment delle macchine 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 sull'autenticazione.

Autorizzazione con un account utente

Puoi utilizzare i seguenti comandi dell'interfaccia a riga di comando gcloud 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 ricevono le credenziali dell'account da Google Cloud e le archiviano sul sistema locale. L'account specificato diventa l'account attivo nella tua configurazione. L'interfaccia a riga di comando gcloud utilizza le credenziali archiviate per accedere a Google Cloud. Puoi avere un numero qualsiasi di account con credenziali archiviate per una singola installazione dell'interfaccia a riga di comando gcloud, 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 che il comando apra automaticamente un browser web:

    gcloud init --console-only
    

    L'utilizzo del flag --console-only è utile se stai eseguendo il comando su un sistema remoto utilizzando ssh e non hai accesso a un browser su quel sistema. Devi poi aprire manualmente l'URL fornito in un browser sul tuo sistema locale per completare il processo di autorizzazione.

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

Per ulteriori informazioni su gcloud init, consulta Inizializzazione dell'interfaccia a riga di comando gcloud.

Esegui l'accesso all'autenticazione gcloud

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

  • Se vuoi autorizzare l'interfaccia a riga di comando gcloud su un computer con un browser, segui questi passaggi.

    1. Autorizza l'interfaccia a riga di comando gcloud:

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

  • Se vuoi autorizzare l'interfaccia a riga di comando gcloud su un computer che non dispone di un browser e puoi installarlo su un altro computer con un browser, utilizza il flag --no-browser.

    1. Autorizza l'interfaccia a riga di comando gcloud:

      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 dispone di installazioni locali sia nel browser web sia nello strumento dell'interfaccia a riga di comando gcloud 372.0 o successive.

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

    5. Incolla di nuovo l'URL lungo nella prima macchina sotto il prompt, quindi digita l'output del comando riportato sopra e premi Invio per completare l'autorizzazione.

  • Se vuoi autorizzare l'interfaccia a riga di comando gcloud su una macchina che non ha un browser e non puoi installare l'interfaccia a riga di comando gcloud su un altro computer 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 l'interfaccia a riga di comando gcloud:

      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 con un browser web.

    4. Copia il codice di autorizzazione dal computer con il browser web.

    5. Incolla il codice di autorizzazione nella prima macchina visualizzata nel messaggio "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 all'interfaccia a riga di comando gcloud:

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

Autorizzazione con un account di servizio

gcloud auth activate-service-account autorizza l'accesso utilizzando un account di servizio. Come per gcloud init e gcloud auth login, questo comando salva le credenziali dell'account di servizio nel sistema locale dopo il completamento corretto e imposta l'account specificato come account attivo nella configurazione dell'interfaccia a riga di comando gcloud.

Per autorizzare il software utilizzando un account di servizio:

  1. Vai alla pagina Account di servizio in Google Cloud Console.

    Vai ad Account di servizio

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

  3. Per creare e scaricare un file di chiavi in formato JSON:

    1. Fai clic su nella colonna Azioni per l'account di servizio e seleziona Gestisci chiavi.
    2. Fai clic sul menu a discesa Aggiungi chiave.
    3. Fai clic su Crea nuova chiave.
    4. Seleziona un formato di chiave e fai clic su Crea.
  4. Se necessario, sposta il file della chiave in una posizione nello stesso sistema in cui autorizza l'interfaccia a riga di comando gcloud.

    In alternativa, invece dei passaggi 1-4, potresti ottenere una chiave per un account di servizio esistente utilizzando gcloud iam service-accounts keys create.

  5. Per attivare il tuo account di servizio, esegui gcloud auth activate-service-account:

    gcloud auth activate-service-account --key-file=[KEY_FILE]
    
  6. Elimina il file della chiave dal sistema. Tieni presente che l'interfaccia a riga di comando gcloud archivia le chiavi e la copia dell'interfaccia a riga di comando gcloud rimane.

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

Cambiare l'account attivo

Per cambiare 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 il diverso account e passando da una configurazione all'altra:

gcloud config configurations activate [CONFIGURATION]

Se vuoi cambiare l'account utilizzato dall'interfaccia a riga di comando gcloud in base alle chiamate, esegui l'override dell'account attivo utilizzando il flag --account.

Impostare la durata della sessione autorizzata (solo Google Workspace)

In qualità di amministratore, puoi specificare per quanto tempo i diversi utenti possono accedere all'interfaccia a riga di comando gcloud senza dover ripetere l'autenticazione. Ad esempio, puoi imporre agli utenti con privilegi più elevati di eseguire nuovamente l'autenticazione con maggiore frequenza rispetto agli utenti normali.

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

Revocare le credenziali per un account

Puoi revocare le credenziali se non vuoi consentire l'accesso tramite l'interfaccia a riga di comando gcloud di un determinato account. Non è necessario revocare le credenziali per passare da un account all'altro.

Per revocare le credenziali, esegui gcloud auth revoke:

gcloud auth revoke [ACCOUNT]

Per revocare l'accesso per l'interfaccia a riga di comando gcloud per tutte le macchine, rimuovi l'interfaccia a riga di comando gcloud dall'elenco delle app che hanno accesso al tuo account.

Trovare i file delle credenziali

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

gcloud info

L'interfaccia a riga di comando gcloud stampa le informazioni sull'installazione. I file delle credenziali vengono archiviati nella directory di configurazione dell'utente:

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

Passaggi successivi