Questo documento del Google Cloud Architecture Framework fornisce le best practice per la gestione dell'identità e dell'accesso.
La pratica di gestione di identità e accessi (generalmente denominata IAM) ti aiuta a garantire che le persone giuste possano accedere alle risorse giuste. IAM riguarda i seguenti aspetti di autenticazione e autorizzazione:
- Gestione dell'account, incluso il provisioning
- Governance delle identità
- Autenticazione
- Controllo dell'accesso (autorizzazione)
- Federazione delle identità
La gestione di IAM può essere complessa quando hai ambienti diversi o utilizzi più provider di identità. Tuttavia, è fondamentale configurare un sistema in grado di soddisfare i requisiti della tua attività e al contempo ridurre i rischi.
I suggerimenti in questo documento ti aiutano a esaminare le procedure e i criteri IAM attuali e a determinare quali potrebbe essere necessario modificare per i tuoi carichi di lavoro in Google Cloud. Ad esempio, devi esaminare quanto segue:
- Se puoi utilizzare i gruppi esistenti per gestire l'accesso o se devi crearne di nuovi.
- I tuoi requisiti di autenticazione (ad esempio l'autenticazione a più fattori (MFA) con un token).
- L'impatto degli account di servizio sui tuoi criteri attuali.
- Se utilizzi Google Cloud per il ripristino di emergenza, mantieni la separazione delle responsabilità.
In Google Cloud, utilizzi Cloud Identity per autenticare gli utenti e le risorse e il prodotto Identity and Access Management (IAM) di Google per stabilire l'accesso alle risorse. Gli amministratori possono limitare l'accesso a livello di organizzazione, cartella, progetto e risorsa. I criteri IAM di Google stabiliscono chi può fare cosa su quali risorse. I criteri IAM configurati correttamente contribuiscono a proteggere il tuo ambiente impedendo l'accesso non autorizzato alle risorse.
Per ulteriori informazioni, consulta la Panoramica della gestione di identità e accessi.
Utilizzare un singolo provider di identità.
Molti dei nostri clienti hanno account utente gestiti e di cui viene eseguito il provisioning da identity provider esterni a Google Cloud. Google Cloud supporta la federazione con la maggior parte degli identity provider e con directory on-premise come Active Directory.
La maggior parte dei provider di identità ti consente di attivare il Single Sign-On (SSO) per i tuoi utenti e gruppi. Per le applicazioni di cui esegui il deployment su Google Cloud e che utilizzano il tuo provider di identità esterno, puoi estendere il tuo provider di identità a Google Cloud. Per ulteriori informazioni, consulta Architetture di riferimento e Modelli per l'autenticazione degli utenti aziendali in un ambiente ibrido.
Se non hai già un provider di identità, puoi utilizzare Cloud Identity Premium o Google Workspace per gestire le identità dei tuoi dipendenti.
Proteggi l'account super amministratore
L'account super amministratore (gestito da Google Workspace o Cloud Identity) ti consente di creare la tua Google Cloud organizzazione. Questo account amministratore è quindi altamente privilegiato. Le best practice per questo account includono:
- Crea un nuovo account per questo scopo; non utilizzare un account utente esistente.
- Crea e proteggi gli account di backup.
- Attiva l'MFA.
Per ulteriori informazioni, consulta Best practice per gli account super amministratore.
Pianifica l'utilizzo degli account di servizio
Un account di servizio è un Account Google che le applicazioni possono utilizzare per chiamare l'API Google di un servizio.
A differenza degli account utente, gli account di servizio vengono creati e gestiti all'interno diGoogle Cloud. Inoltre, gli account di servizio si autenticano in modo diverso rispetto agli account utente:
- Per consentire a un'applicazione in esecuzione su Google Cloud di autenticarsi utilizzando un account di servizio, puoi collegare un account di servizio alla risorsa di calcolo su cui viene eseguita l'applicazione.
- Per consentire a un'applicazione in esecuzione su GKE di autenticarsi utilizzando un account di servizio, puoi utilizzare Workload Identity.
- Per consentire alle applicazioni in esecuzione al di fuori di Google Cloud di autenticarsi utilizzando un account di servizio, puoi utilizzare la federazione delle identità per i carichi di lavoro.
Quando utilizzi account di servizio, devi considerare una separazione appropriata dei compiti durante il processo di progettazione. Prendi nota delle chiamate API che devi effettuare e determina gli account di servizio e i ruoli associati richiesti dalle chiamate API. Ad esempio, se stai configurando un data warehouse BigQuery, probabilmente hai bisogno di identità per almeno i seguenti processi e servizi:
- Cloud Storage o Pub/Sub, a seconda che tu fornisca un file batch o crei un servizio di streaming.
- Dataflow e Protezione dei dati sensibili per anonimizzare i dati sensibili.
Per ulteriori informazioni, consulta Best practice per l'utilizzo degli account di servizio.
Aggiorna le procedure di identità per il cloud
La governance delle identità ti consente di monitorare l'accesso, i rischi e le violazioni delle norme in modo da supportare i tuoi requisiti normativi. Questa governance richiede di avere procedure e criteri in atto per poter concedere e controllare i ruoli e le autorizzazioni di controllo dell'accesso agli utenti. I processi e i criteri devono riflettere i requisiti dei tuoi ambienti, ad esempio test, sviluppo e produzione.
Prima di eseguire il deployment dei carichi di lavoro su Google Cloud, rivedi le attuali procedure di identità e, se opportuno, aggiornale. Assicurati di pianificare adeguatamente i tipi di account di cui ha bisogno la tua organizzazione e di avere una buona conoscenza dei relativi requisiti di ruolo e accesso.
Per aiutarti a controllare le attività di Google IAM, Google Cloud vengono creati log di controllo, che includono quanto segue:
- Attività dell'amministratore. Questo logging non può essere disattivato.
- Attività di accesso ai dati. Devi abilitare questo logging.
Se necessario per motivi di conformità o se vuoi configurare l'analisi dei log (ad esempio con il tuo sistema SIEM), puoi esportare i log. Poiché i log possono aumentare i requisiti di spazio di archiviazione, potrebbero influire sui costi. Assicurati di registrare solo le azioni necessarie e imposta le pianificazioni di conservazione appropriate.
Configurare SSO e MFA.
Il provider di identità gestisce l'autenticazione dell'account utente. Le identità federate possono autenticarsi in Google Cloud utilizzando SSO. Per gli account con privilegi, come i super amministratori, devi configurare l'MFA. I token di sicurezza Titan sono token fisici che puoi utilizzare per l'autenticazione a due fattori (2FA) per contribuire a difenderti dagli attacchi di phishing.
Cloud Identity supporta l'MFA utilizzando vari metodi. Per ulteriori informazioni, consulta Applicare in modo uniforme l'MFA alle risorse di proprietà della società.
Google Cloud supporta l'autenticazione per le identità dei carichi di lavoro utilizzando il protocollo OAuth 2.0 o token web JSON (JWT) firmati. Per ulteriori informazioni sull'autenticazione dei carichi di lavoro, consulta la Panoramica dell'autenticazione.
Implementare il privilegio minimo e la separazione dei compiti.
Devi assicurarti che le persone giuste accedano solo alle risorse e ai servizi di cui hanno bisogno per svolgere il loro lavoro. In altre parole, devi seguire il principio del privilegio minimo. Inoltre, devi assicurarti che esista una separazione delle responsabilità appropriata.
L'overprovisioning dell'accesso utente può aumentare il rischio di minacce interne, risorse configurate in modo errato e mancata conformità ai controlli. Le autorizzazioni di sottoprovisioning possono impedire agli utenti di accedere alle risorse di cui hanno bisogno per completare le proprie attività.
Un modo per evitare il provisioning eccessivo è implementare l'accesso con privilegi just-in-time, ovvero fornire l'accesso con privilegi solo se necessario e concederlo solo temporaneamente.
Tieni presente che quando viene creata un' Google Cloud organizzazione, a tutti gli utenti del tuo dominio vengono assegnati per impostazione predefinita i ruoli Creatore account di fatturazione e Creatore progetto. Identifica gli utenti che svolgeranno queste funzioni e revoca questi ruoli ad altri utenti. Per scoprire di più, consulta la pagina Creare e gestire le organizzazioni.
Per saperne di più sul funzionamento dei ruoli e delle autorizzazioni in Google Cloud, consulta Panoramica e Informazioni sui ruoli nella documentazione di IAM. Per ulteriori informazioni sull'applicazione del principio del privilegio minimo, consulta Applicare il principio del privilegio minimo ai suggerimenti sui ruoli.
Accesso per i controlli
Per monitorare le attività degli account privilegiati alla ricerca di deviazioni dalle condizioni approvate, utilizza Cloud Audit Logs. Gli audit log di Cloud registrano le azioni intraprese dai membri della tua Google Cloud organizzazione nelle tue Google Cloud risorse. Puoi utilizzare diversi tipi di log di controllo nei servizi Google. Per saperne di più, consulta Utilizzare gli audit log di Cloud per gestire i rischi legati agli addetti ai lavori (video).
Utilizza IAM Recommender per monitorare l'utilizzo e modificare le autorizzazioni, se opportuno. I ruoli consigliati dal motore per suggerimenti IAM possono aiutarti a determinare quali ruoli assegnare a un utente in base al suo comportamento passato e ad altri criteri. Per maggiori informazioni, consulta le best practice per i suggerimenti sui ruoli.
Per controllare e verificare l'accesso alle tue risorse da parte del personale dell'assistenza e dell'ingegneria di Google, puoi utilizzare la funzionalità Access Transparency. Access Transparency registra le azioni intraprese dal personale di Google. Utilizza Access Approval, che fa parte di Access Transparency, per concedere l'approvazione esplicita ogni volta che viene eseguito l'accesso ai contenuti del cliente. Per ulteriori informazioni, vedi Controllare l'accesso dei tuoi dati da parte degli amministratori cloud.
Automatizza i controlli dei criteri
Imposta le autorizzazioni di accesso in modo programmatico, se possibile. Per le best practice, consulta Vincoli dei criteri dell'organizzazione. Gli script Terraform per il progetto di base per le aziende si trovano nel repository di esempio della piattaforma.
Google Cloud include Policy Intelligence, che ti consente di rivedere e aggiornare automaticamente le autorizzazioni di accesso. Policy Intelligence include gli strumenti Recommender, Policy Troubleshooter e Policy Analyzer, che svolgono le seguenti attività:
- Fornisci suggerimenti per l'assegnazione dei ruoli IAM.
- Monitora e contribuisci a prevenire i criteri IAM eccessivamente permissivi.
- Aiutare a risolvere i problemi relativi al controllo dell'accesso.
Impostare limitazioni sulle risorse
IAM di Google si concentra su chi e ti consente di authorize chi può intervenire su risorse specifiche in base alle autorizzazioni. Il servizio Criteri dell'organizzazione si concentra su cosa e ti consente di impostare limitazioni sulle risorse per specificare come possono essere configurate. Ad esempio, puoi utilizzare un criterio dell'organizzazione per:
- Limita la condivisione delle risorse in base al dominio.
- Limita l'utilizzo degli account di servizio.
- Limita la posizione fisica delle risorse appena create.
Oltre a utilizzare i criteri dell'organizzazione per queste attività, puoi limitare l'accesso alle risorse utilizzando uno dei seguenti metodi:
- Utilizza i tag per gestire l'accesso alle risorse senza definire le autorizzazioni di accesso su ogni risorsa. Devi invece aggiungere il tag e impostare la definizione di accesso per il tag stesso.
- Utilizza le condizioni IAM per il controllo dell'accesso alle risorse basato su attributi e condizioni.
- Implementa una difesa in profondità utilizzando Controlli di servizio VPC per limitare ulteriormente l'accesso alle risorse.
Per ulteriori informazioni sulla gestione delle risorse, consulta Decidere una gerarchia delle risorse per la Google Cloud landing zone.
Passaggi successivi
Scopri di più su IAM con le seguenti risorse:
Implementare la sicurezza di calcolo e container (documento successivo di questa serie)
Motore per suggerimenti IAM: privilegio minimo con meno sforzo