Prima di poter interagire con Google Cloud le API e i servizi, devi dimostrare di essere chi dici di essere. Questa procedura di verifica dell'identità è nota come autenticazione.
Per eseguire l'autenticazione in Google Cloud, devi fornire credenziali come prova di tua identità. Ad esempio, per utilizzare un servizio, potresti autenticarti utilizzando credenziali come una password e un codice monouso.
Google Cloud si riferisce agli utenti autenticati come entità. Quando tenti di accedere a una risorsa come un Google Cloud progetto o un bucket di archiviazione, Google Cloud controlla il livello di accesso della tua entità alla risorsa richiesta. Questa procedura è chiamata autorizzazione ed è gestita da un sistema chiamato Identity and Access Management (IAM).
Questi stessi concetti si applicano al codice che esegue attività automatizzate per tuo conto, note come workload. Un workload deve fornire le credenziali per dimostrare la propria identità ed eseguire l'autenticazione come entità, dopodiché Google Cloud può determinare il livello di accesso del workload alle risorse richieste.
Tipi di entità
Esistono diversi tipi di entità per cui puoi eseguire l'autenticazione. Potresti persino utilizzare diversi tipi di entità in diverse fasi di un'attività o in diversi ambienti di sviluppo.
I tipi di entità principali e le credenziali richieste per l'autenticazione includono:
Account utente: si tratta di Account Google che consentono agli utenti di svolgere attività interattive, come attività amministrative occasionali, configurazione non programmatica dei Google Cloud servizi, test, sperimentazione e osservabilità.
Esegui l'autenticazione come account utente con le credenziali utente, ad esempio una password e un codice monouso.
Service account: si tratta di account interni che i workload possono utilizzare per accedere a servizi o risorse. Google Cloud In genere non esegui l'autenticazione direttamente come account di servizio. Invece, colleghi un service account a una risorsa come una VM di Compute Engine o utilizzi la simulazione dell'identità del service account.
Nella maggior parte degli scenari, ti consigliamo di utilizzare le credenziali account di servizio a breve scadenza per autenticare un account di servizio.
Identità federate: si tratta di identità che fanno riferimento a account utente o di servizio in un provider di identità esterno. Esistono due tipi di identità federate supportate da Google Cloud, che hanno nomi simili:
Federazione delle identità per la forza lavoro: consente agli utenti di accedere a Google Cloud con identità gestite da un provider di identità esterno. Se la tua organizzazione ha già configurato il Single Sign-On (SSO), puoi utilizzare questo tipo di identità per eseguire l'autenticazione in Google Cloud.
Il provider di identità deve supportare OpenID Connect (OIDC) o SAML 2.0 per utilizzare la federazione delle identità per la forza lavoro.
**Federazione delle identità per i workload**: consente ai workload in esecuzione esternamente di Google Cloud operare sulle Google Cloud risorse.
Puoi utilizzare la federazione delle identità per i workload con i workload che eseguono l'autenticazione utilizzando i certificati client X.509; che vengono eseguiti su Amazon Web Services (AWS) o Azure; su Active Directory on-premise; su servizi di deployment, come GitHub e GitLab; e con qualsiasi provider di identità che supporta OpenID Connect (OIDC) o Security Assertion Markup Language (SAML) V2.0.
Per scoprire di più su questi e altri tipi di entità supportati in Google Cloud, consulta Tipi di entità.
Configurare l'organizzazione per l'autenticazione Google Cloud
Quando configuri l'autenticazione per la tua Google Cloud organizzazione, potresti dover integrare i sistemi e i flussi di lavoro esistenti in Google Cloud:
Se hai un provider di identità esistente che vuoi utilizzare, devi configurare la federazione delle identità per la forza lavoro.
Se hai workload in esecuzione al di fuori di Google Cloud che devono accedere alle Google Cloud risorse, devi configurare la federazione delle identità per i workload.
Ti consigliamo inoltre di eseguire le seguenti operazioni per proteggere l'ambiente: Google Cloud
Assicurati che l'autenticazione a più fattori sia abilitata per i tuoi utenti.
Verifica se devi modificare le impostazioni di riautenticazione .
Crea criteri per la gestione delle chiavi API.
Crea criteri per la gestione account di servizio account.
Autenticare utenti e workload
La modalità di autenticazione in Google Cloud dipende dalle API e dai servizi che utilizzi e dalla modalità di interazione con queste API e questi servizi.
Autenticare gli utenti
Quando svolgi attività manuali e interattive, come attività amministrative occasionali, configurazione delle risorse, modifica delle configurazioni, sperimentazione e navigazione nei log, utilizzi le credenziali del tuo account utente per l'autenticazione.
Console
Per il lavoro interattivo nella Google Cloud console, esegui l'autenticazione accedendo all'interfaccia web con le tue credenziali utente.
Le stesse credenziali della sessione della console vengono utilizzate per Cloud Shell, dove puoi accedere a gcloud CLI. Google Cloud
gcloud
Dopo aver installato gcloud CLI sul dispositivo locale, puoi utilizzare le tue credenziali utente per eseguire l'autenticazione in Google Cloud eseguendo il seguente comando nel terminale:
gcloud auth login
Dopo l'autenticazione, i comandi gcloud successivi utilizzano l'entità con cui hai eseguito l'accesso per effettuare le richieste.
Per l'autenticazione con le credenziali della federazione delle identità per la forza lavoro, le credenziali della federazione delle identità per i workload o le chiavi dei account di servizio, consulta Autenticati per usare gcloud CLI.
Autenticare i workload
Che tu stia sviluppando ed eseguendo codice sul tuo dispositivo locale, in Google Cloud, on-premise o in un altro cloud, il modo più flessibile e portatile per autenticare il tuo workload è fornire le credenziali tramite un meccanismo chiamato Credenziali predefinite dell'applicazione (ADC).
Le librerie che implementano ADC (come le Google Cloud librerie client) controllano le località note nell'ambiente in cui vengono eseguite per le credenziali. Ciò significa che, se modifichi la posizione di esecuzione del codice, non devi modificare il codice stesso, ma solo le credenziali utilizzate per quell'ambiente.
Ad esempio, durante lo sviluppo in locale, puoi configurare l'ambiente in modo che ADC utilizzi le tue credenziali utente per l'autenticazione. Quando il codice è pronto per la produzione, puoi eseguirne il deployment senza modifiche in un'istanza VM di Compute Engine e configurare l'ambiente in modo che utilizzi le credenziali del account di servizio a breve scadenza per l'autenticazione.
Non puoi utilizzare ADC per l'autenticazione nei seguenti scenari:
Quando esegui l'autenticazione di gcloud CLI.
Quando utilizzi una chiave API. Le chiavi API possono essere utilizzate solo con API specifiche.
Per scoprire come configurare ADC per ambienti specifici, consulta Configurare le credenziali predefinite dell'applicazione.
Passaggi successivi
Scopri di più sui diversi metodi di autenticazione per Google Cloud.
Per capire come controllare a cosa può accedere un'entità in Google Cloud, consulta Autorizzazione e controllo dell'accesso.