Questo documento descrive un'architettura Google Kubernetes Engine (GKE) tipica inGoogle Cloud. Elenca anche le best practice per la sicurezza applicabili ai carichi di lavoro GKE.
Architettura
Il seguente diagramma mostra i servizi Google Cloud in un tipico deployment GKE.
Questo diagramma include quanto segue:
GKE è un'implementazione gestita della piattaforma di orchestrazione dei container open source Kubernetes che ti consente di eseguire app containerizzate. I cluster GKE includono i pod dell'applicazione e Policy Controller. Policy Controller ti aiuta ad applicare i criteri sui tuoi cluster Kubernetes.
Artifact Registry semplifica il processo di sviluppo e deployment di container e app, migliora la collaborazione e contribuisce a migliorare la sicurezza e l'affidabilità delle tue app.
Cloud Audit Logs monitora le azioni intraprese dagli utenti nel tuo ambiente, migliorando le tue capacità di risoluzione dei problemi, controllo e risposta agli incidenti.
Le dashboard e gli avvisi di fatturazione Cloud ti consentono di esaminare l'utilizzo e la fatturazione dei carichi di lavoro GKE.
Cloud Build ti consente di creare, testare ed eseguire il deployment di una piattaforma CI/CD serverless su Google Cloud.
Cloud Identity unifica identità, accesso, applicazione e gestione per Google Cloud.
Cloud Key Management Service crea e gestisce le chiavi di crittografia.
Cloud Run Functions automatizza le attività, attiva i job, si integra con altri servizi e crea pipeline di sviluppo basate su eventi.
Cloud Service Mesh consente ai servizi Kubernetes di comunicare tra loro.
Cloud Storage archivia i dati necessari per l'esecuzione dei container e delle app.
Cloud DNS registra, gestisce e gestisce il tuo dominio.
Identity and Access Management (IAM) controlla chi può eseguire azioni specifiche sulle risorse dei tuoi carichi di lavoro GKE, ad esempio la creazione, la modifica o l'eliminazione.
Il servizio Policy dell'organizzazione gestisce e applica centralmente le policy nel tuo ambiente Google Cloud. Policy dell'organizzazione contribuisce a garantire una configurazione coerente e la conformità alla sicurezza in tutti i progetti e le risorse della tua organizzazione.
Pub/Sub consente una comunicazione e un'automazione efficienti all'interno dei tuoi flussi di lavoro.
Resource Manager ti aiuta a raggruppare e gestire i componenti logici dei tuoi carichi di lavoro GKE.
Secret Manager ti aiuta a proteggere i dati sensibili e le credenziali utilizzate nei progetti GKE.
Security Command Center ti aiuta a proteggere la tua organizzazione cloud, i tuoi carichi di lavoro GKE e i dati che memorizzi su Google Cloud. Security Command Center fornisce quanto segue:
- Gestione centralizzata della sicurezza
- Rilevamento delle minacce e risposta agli incidenti
- Valutazioni di sicurezza automatizzate
- Conformità e rapporti per la conformità normativa
- Consigli e best practice per la sicurezza
Virtual Private Cloud (VPC) isola le tue risorse GKE da internet in un ambiente sicuro. Questa configurazione di rete contribuisce a proteggere i dati sensibili e i carichi di lavoro da accessi non autorizzati e potenziali attacchi informatici.
Cloud VPN o Cloud Interconnect ti consentono di stabilire una connessione di rete sicura tra la tua infrastruttura on-premise e il tuo ambiente GKE. Cloud VPN o Cloud Interconnect contribuiscono a consentire il trasferimento e la comunicazione dei dati senza problemi tra la tua rete privata e le risorse. Prendi in considerazione questa integrazione per scenari come l'accesso ai dati on-premise per l'addestramento dei modelli o il deployment dei modelli nelle risorse on-premise per l'inferenza. Google Cloud
Best practice per i workload GKE
Questa sezione fornisce link alle best practice per i workload che utilizzano GKE.
- Gruppi di utenti e ruoli IAM consigliati
Best practice per una base aziendale sicura
Best practice per l'autenticazione e l'autorizzazione
- Disabilita le concessioni IAM automatiche per i service account predefiniti
- Bloccare la creazione di chiavi esterne del service account
- Bloccare i caricamenti di account di servizio account
- Configurare la separazione dei compiti per gli amministratori dei criteri dell'organizzazione
- Attivare la verifica in due passaggi per gli account super amministratore
- Applica la verifica in due passaggi all'unità organizzativa del super amministratore
- Creare un indirizzo email esclusivo per il super amministratore principale
- Creare account amministratore ridondanti
- Implementare i tag per assegnare in modo efficiente le policy IAM e le policy dell'organizzazione
- Controllare le modifiche ad alto rischio a IAM
- Bloccare l'accesso a Cloud Shell per gli account utente gestiti di Cloud Identity
- Configurare l'accesso sensibile al contesto per le console Google
- Bloccare il recupero autonomo dell'account per gli account super amministratore
- Disattivare i servizi Google non utilizzati
Best practice per l'organizzazione
Best practice di networking
Best practice per logging, monitoraggio e avvisi
- Condividere i log di controllo da Cloud Identity
- Utilizzare gli audit log
- Abilita i log di flusso VPC
- Attiva il logging delle regole firewall
- Abilita gli audit log di accesso ai dati
- Abilitare il controllo dell'attività degli amministratori
- Iscriviti ai bollettini sulla sicurezza
- Attivare i log di Access Transparency
- Esportare i dati di fatturazione per un'analisi dettagliata
Best practice per la gestione di chiavi e secret
- Cripta i dati at-rest in Google Cloud
- Utilizzare algoritmi approvati dal NIST per la crittografia e la decrittografia
- Impostare lo scopo delle chiavi Cloud Key Management Service
- Assicurati che le impostazioni CMEK siano appropriate per i data warehouse BigQuery sicuri
- Ruotare la chiave di crittografia ogni 90 giorni
- Configurare la rotazione automatica dei secret
- Limitare la posizione delle chiavi di crittografia gestite dal cliente
- Utilizzare CMEK per i servizi Google Cloud
- Replica automatica dei secret
Best practice per la postura di sicurezza e l'analisi
Best practice per l'infrastruttura
Best practice per il calcolo
Best practice per i container
- Limitare l'accesso al control plane
- Utilizza regole firewall con privilegi minimi
- Utilizzare Google Gruppi per RBAC
- Abilita nodi GKE schermati
- Utilizza Container-Optimized OS con il runtime containerd
- Utilizzare Workload Identity Federation for GKE
- Abilita GKE Sandbox
- Disattivare la porta di sola lettura di Kubelet
- Utilizzare gli spazi dei nomi e RBAC per limitare l'accesso alle risorse del cluster
- Limitare il traffico tra i pod
- Utilizzare i controller di ammissione per applicare i criteri
- Limitare la possibilità per i carichi di lavoro di modificarsi autonomamente
- Monitorare le configurazioni del cluster
- Applica l'autorizzazione binaria
Best practice per la gestione dei dati
Best practice per l'archiviazione
- Blocca l'accesso pubblico ai bucket Cloud Storage
- Utilizzare l'accesso uniforme a livello di bucket
- Proteggere le chiavi HMAC per gli account di servizio
- Rileva l'enumerazione dei bucket Cloud Storage da parte dei service account
- Assicurati che la policy di conservazione del bucket Cloud Storage utilizzi il blocco dei bucket
- Impostare le regole del ciclo di vita per l'azione SetStorageClass
- Impostare le regioni consentite per le classi di archiviazione
- Abilita la gestione del ciclo di vita per i bucket Cloud Storage
- Esaminare e valutare le sospensioni temporanee degli oggetti attivi
- Applicare criteri di conservazione ai bucket Cloud Storage
- Imporre tag di classificazione per i bucket Cloud Storage
- Imponi bucket di log per i bucket Cloud Storage
- Configura le regole di eliminazione per i bucket Cloud Storage
- Assicurati che la condizione isLive sia False per le regole di eliminazione
- Imponi il controllo delle versioni per i bucket Cloud Storage
- Imponi proprietari per i bucket Cloud Storage
- Abilita il logging delle attività chiave di Cloud Storage
Best practice per agenti e applicazioni