Autorizza gcloud CLI

Per accedere a Google Cloud, in genere è necessario autorizzare Google Cloud CLI. Questa pagina dimostra la disponibilità le opzioni di autorizzazione e ti mostra come gestire autorizzazione. Se utilizzi un'istanza Compute Engine o Cloud Shell, non è necessario autorizzare la CLI gcloud.

Tipi di account

Per concedere l'autorizzazione alla CLI 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 la maggior parte dei casi d'uso comuni, in particolare per l'utilizzo interattivo dell'interfaccia a riga di comando gcloud, è consigliabile utilizzare un account utente.

Un account di servizio è un account Google Cloud associato al tuo un progetto Google Cloud e non un utente specifico. Puoi utilizzare l'account di servizio integrato disponibile quando utilizzi funzioni Cloud Run, App Engine, Compute Engine o Google Kubernetes Engine. È consigliabile un account di servizio per eseguire gcloud CLI su più computer.

Scegli un tipo di autorizzazione

Devi autorizzare Google Cloud CLI a gestire le risorse di Google Cloud. Sia Google Cloud CLI sia Google Cloud utilizzano OAuth 2.0 per l'autenticazione e l'autorizzazione.

Scegli uno dei seguenti tipi di autorizzazione:

Tipo Descrizione
Account utente Consigliato 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.
Service account Opzione consigliata se installi e configuri gcloud CLI nell'ambito del processo di deployment di una macchina in produzione o per l'uso Istanze di macchine virtuali Compute Engine a cui hanno accesso tutti gli utenti a root.

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

Autorizza con un account utente

Utilizza i seguenti comandi 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 Consente solo l'accesso.

Durante l'autorizzazione, questi comandi ottengono le credenziali dell'account in Google Cloud e archiviarle nel sistema locale. L'account specificato diventa l'account attivo nella tua configurazione. gcloud CLI utilizza le credenziali archiviate per accedere in Google Cloud. Puoi avere qualsiasi numero di account con per una singola installazione di gcloud CLI, ma solo una attivo 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. Esegui 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 utilizzando ssh e non hai accesso a un browser su quel sistema. Dovrai poi aprire manualmente l'URL fornito in un browser sul tuo sistema locale per completare il processo di autorizzazione.

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

Per ulteriori informazioni su gcloud init, consulta Inizializza l'interfaccia a riga di comando gcloud.

Esegui gcloud auth login

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 segui questa procedura.

    1. Autorizza gcloud CLI:

      gcloud auth login
      
    2. Segui la procedura 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 una macchina che non ha 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 altro in cui sono installate installazioni locali sia di un browser web che strumento gcloud CLI versione 372.0 o successive.

    4. Copia l'URL lungo in uscita dalla macchina con il browser web.

    5. Incolla l'URL lungo nella prima macchina sotto il prompt "Invio l'output del comando precedente" e premi Invio per completare autorizzazione.

  • Se vuoi autorizzare gcloud CLI su una macchina non dispone di un browser e non puoi installare gcloud CLI su un'altra macchina con un browser, usa il flag --no-launch-browser. Il --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'altra macchina attendibile con un browser web.

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

    5. Incolla il codice di autorizzazione nella 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 trasmetterlo all'interfaccia a riga di comando gcloud:

    • Archiviare il token di accesso in un file e impostarne il percorso tramite la --access-token-file flag.
    • Archiviare il token di accesso in un file e impostarne il percorso nel auth/access_token_file proprietà.
    • Imposta la variabile di ambiente CLOUDSDK_AUTH_ACCESS_TOKEN su il valore del token di accesso.

Autorizzazione con un account di servizio

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

Autorizza un account di servizio utilizzando la simulazione dell'identità degli account di servizio

Per autorizzare la gcloud CLI utilizzare credenziali dell'account di servizio impersonato, segui questi passaggi:

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

    Vai a Service account

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

  3. Per garantire che l'entità abbia gli elementi necessari l'autorizzazione a impersonare un account di servizio, chiedi all'amministratore di concedere all'entità Ruolo IAM Creatore token account di servizio (roles/iam.serviceAccountTokenCreator) nell'account di servizio. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

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

    L'amministratore potrebbe anche essere in grado di fornire all'entità questa autorizzazione con ruoli personalizzati 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à fornito da un account di servizio per impostazione predefinita, utilizza 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 impersonato con gcloud CLI per impostazione predefinita, annulla l'impostazione del flag con 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 utilizzando delle credenziali della federazione delle identità per i carichi di lavoro:

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

    Vai a Service account

  2. Scegli un account esistente o creane uno nuovo facendo clic su Crea dell'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 provider di identità supportato.

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

    gcloud auth login --cred-file=CONFIGURATION_FILE
    

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

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

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

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

    Vai a Service account

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

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

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

    gcloud auth login --cred-file=KEY_FILE
    

    Sostituisci KEY_FILE con il percorso di un file della chiave 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

Cambiare l'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 in una per ogni chiamata, sostituisci l'account attivo utilizzando --account.

Impostare la durata della sessione autorizzata

In qualità di amministratore, puoi specificare per quanto tempo diversi utenti possono accedere al riga di comando gcloud senza dover ripetere l'autenticazione. Ad esempio, puoi costringere gli utenti con privilegi elevati a ripetere l'autenticazione più spesso rispetto per gli utenti abituali.

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 non consentire l'accesso da parte del gcloud CLI da un determinato account. Non è necessario revocare per passare da un account all'altro.

Per revocare le credenziali, esegui gcloud auth revoke:

gcloud auth revoke ACCOUNT

Per revocare completamente l'accesso a gcloud CLI per tutte le macchine, rimuovi gcloud CLI dall'elenco di app che hanno accesso al tuo account.

Utilizzare i file delle credenziali

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]

Configurare le credenziali predefinite dell'applicazione

L'interfaccia a riga di comando gcloud fornisce il supporto per la gestione delle credenziali predefinite per le applicazioni (ADC) con il gruppo di comandi gcloud auth application-default. Per rendere disponibili le credenziali utente per l'ADC, esegui gcloud auth application-default login:

gcloud auth application-default login

Queste credenziali sono non utilizzati da gcloud CLI. Per altri modi di configurare l'ADC, vedi Configura Credenziali predefinite dell'applicazione.

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

Passaggi successivi