Prima di poter interagire con Google Cloud API e servizi, devi dimostrare di essere chi dici di essere. Questa procedura di verifica dell'identità è nota come autenticazione.
Per autenticarti su Google Cloud, devi fornire le credenziali come prova della 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 principali. Quando tenti di accedere a una risorsa come un Google Cloud progetto o un bucket di archiviazione, Google Cloud controlla il livello di accesso dell'entità alla risorsa richiesta. Questo processo è chiamato autorizzazione ed è gestito 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à e autenticarsi come entità, dopodiché Google Cloud può determinare il livello di accesso del workload alle risorse che ha richiesto.
Tipi di entità
Esistono diversi tipi di entità per cui puoi eseguire l'autenticazione. Potresti persino utilizzare tipi di principal diversi in fasi diverse di un'attività o in ambienti di sviluppo diversi.
I principali tipi di principal e le credenziali richieste per l'autenticazione includono quanto segue:
Account utente: si tratta di Account Google che consentono agli utenti di svolgere attività interattive, come attività amministrative incidentali, configurazione non programmatica di servizi Google Cloud , test, sperimentazione e osservabilità.
L'autenticazione avviene come account utente con credenziali utente, ad esempio una password e un codice monouso.
Service account: si tratta di account interni a Google Cloud che i workload possono utilizzare per accedere a servizi o risorse. In genere non esegui l'autenticazione direttamente comeaccount di serviziot. In alternativa, puoi collegare un service account a una risorsa come una VM Compute Engine o utilizzare l'impersonificazione del service account.
Per la maggior parte degli scenari, consigliamo di utilizzare credenzialiaccount di serviziot di breve durata per autenticare uaccount di serviziont.
Identità federate: si tratta di identità che fanno riferimento a service account o account utente 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 umani di accedere a Google Cloud con identità gestite da un provider di identità esterno. Se la tua organizzazione ha già configurato l'accesso Single Sign-On (SSO), puoi utilizzare questo tipo di identità per l'autenticazione su Google Cloud.
Per utilizzare la federazione delle identità per la forza lavoro, il provider di identità deve supportare OpenID Connect (OIDC) o SAML 2.0.
Federazione delle identità per i workload: consente ai workload eseguiti all'esterno di Google Cloud di operare sulle risorse Google Cloud.
Puoi utilizzare la federazione delle identità per i carichi di lavoro con carichi di lavoro che eseguono l'autenticazione utilizzando certificati client X.509; che vengono eseguiti su Amazon Web Services (AWS) o Azure; Active Directory on-premise; servizi di deployment, come GitHub e GitLab; e con qualsiasi provider di identità che supporti 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' Google Cloud organizzazione per l'autenticazione
Quando configuri l'autenticazione per la tua Google Cloud organizzazione, potresti dover integrare sistemi e workflow 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 risorseGoogle Cloud , devi configurare la federazione delle identità per i workload.
Ti consigliamo inoltre di procedere come segue per proteggere il tuo Google Cloud ambiente:
Assicurati che l'autenticazione a più fattori sia abilitata per i tuoi utenti.
Controlla se devi modificare le impostazioni di riautenticazione.
Crea criteri per la gestione delle chiavi API.
Crea criteri per gestire le account di servizio account.
Autenticare persone e workload
La modalità di autenticazione a Google Cloud dipende dalle API e dai servizi che utilizzi e dal modo in cui interagisci con questi servizi e API.
Autenticare gli utenti
Quando esegui operazioni manuali e interattive, come attività amministrative incidentali, configurazione di risorse, modifica di configurazioni, sperimentazione e navigazione nei log, utilizzi le credenziali del tuo account utente per l'autenticazione.
Console
Per il lavoro interattivo nella console Google Cloud , l'autenticazione avviene accedendo all'interfaccia web con le tue credenziali utente.
Per Cloud Shell vengono utilizzate le stesse credenziali della sessione della console Google Cloud , dove puoi accedere a gcloud CLI.
gcloud
Dopo aver installato gcloud CLI sul tuo dispositivo locale, puoi utilizzare le tue credenziali utente per autenticarti in Google Cloud eseguendo questo comando nel terminale:
gcloud auth login
Dopo l'autenticazione, i comandi gcloud successivi utilizzano l'entità
autenticata 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 del 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 carico di lavoro è fornire le credenziali tramite un meccanismo chiamato credenziali predefinite dell'applicazione (ADC).
Le librerie che implementano ADC (come le librerie clientGoogle Cloud ) controllano le posizioni 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 locale, puoi impostare 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 impostare l'ambiente in modo che utilizzi le credenziali del account di servizio di breve durata per l'autenticazione.
Non puoi utilizzare ADC per l'autenticazione nei seguenti scenari:
Durante l'autenticazione di gcloud CLI.
Quando utilizzi una chiave API. Le chiavi API possono essere utilizzate solo con API specifiche.
Per scoprire come configurare le credenziali predefinite dell'applicazione 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 principal in Google Cloud, consulta Autorizzazione e controllo dell'accesso.