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:
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 usandossh
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.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.
Autorizza gcloud CLI:
gcloud auth login
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
.Autorizza gcloud CLI:
gcloud auth login --no-browser
Copia il comando lungo che inizia con
gcloud auth login --remote-bootstrap="
.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.
Copia l'output dell'URL lungo dal computer con il browser web.
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.Autorizza gcloud CLI:
gcloud auth login --no-launch-browser
Copia l'URL lungo che inizia con
https://accounts.google.com/o/oauth2/auth...
Incolla questo URL nel browser di un altro computer attendibile che dispone di un browser web.
Copia il codice di autorizzazione dalla macchina con il browser web.
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:
Nella console Google Cloud, vai alla pagina Account di servizio.
Scegli un account esistente o creane uno nuovo facendo clic su Crea account di servizio.
-
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.
Autorizza gcloud CLI con la tua identità utente eseguendo
gcloud auth login
.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
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:
Nella console Google Cloud, vai alla pagina Account di servizio.
Scegli un account esistente o creane uno nuovo facendo clic su Crea account di servizio.
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.
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:
Nella console Google Cloud, vai alla pagina Account di servizio.
Scegli un account esistente o creane uno nuovo facendo clic su Crea account di servizio.
Per creare chiavi degli account di servizio, consulta le istruzioni IAM per creare una chiave dell'account di servizio.
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
- Per saperne di più sull'autenticazione e su Google Cloud, consulta la Panoramica dell'autenticazione.
- Per saperne di più sulla personalizzazione di gcloud CLI, consulta Proprietà dell'interfaccia a riga di comando gcloud.
- Per saperne di più sulla gestione degli insiemi denominati delle proprietà di gcloud CLI, consulta Configurazioni dell'interfaccia a riga di comando di gcloud.