Questa pagina spiega cos'è Policy Controller e come puoi utilizzarlo per garantire che i tuoi cluster e carichi di lavoro Kubernetes vengano eseguiti in modo sicuro e conforme.
Questa pagina è rivolta ad amministratori IT, operatori e specialisti della sicurezza che definiscono soluzioni IT e architetture di sistema in base alla strategia aziendale e garantiscono che tutte le risorse in esecuzione all'interno della piattaforma cloud soddisfino i requisiti di conformità dell'organizzazione fornendo e gestendo l'automazione per l'audit o l'applicazione. Per saperne di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei Google Cloud contenuti, consulta Ruoli e attività utente GKE comuni.
Policy Controller consente l'applicazione, anche forzata, dei criteri programmabili per i tuoi cluster Kubernetes. Questi criteri fungono da barriere e possono aiutarti con la gestione di best practice, sicurezza e conformità dei tuoi cluster e del tuo parco risorse. Basato sul progetto open source Open Policy Agent Gatekeeper , Policy Controller è completamente integrato con Google Cloud, include una dashboard integrata per l'osservabilità e include una libreria completa di criteri predefiniti per i controlli di sicurezza e conformità più comuni.
Vantaggi di Policy Controller
- Integrato con Google Cloud: gli amministratori della piattaforma possono installare Policy Controller utilizzando la Google Cloud console, Terraform o Google Cloud CLI su qualsiasi cluster connesso al parco risorse. Policy Controller funziona con altri Google Cloud servizi come Config Sync, metriche e Cloud Monitoring.
- Supporta più punti di applicazione: oltre al controllo di audit e di ammissione per il cluster, Policy Controller può facoltativamente abilitare un approccio shift-left per analizzare e rilevare le modifiche non conformi prima dell' applicazione.
- Bundle di criteri predefiniti: Policy Controller include una libreria completa di criteri predefiniti per i controlli di sicurezza e conformità più comuni. Questi includono sia i bundle di criteri sia la libreria di modelli di vincolo.
- Supporta i criteri personalizzati: se è necessaria una personalizzazione dei criteri oltre a quella disponibile utilizzando la libreria di modelli di vincolo, Policy Controller supporta anche lo sviluppo di modelli di vincolo personalizzati.
- Osservabilità integrata: Policy Controller include una Google Cloud console dashboard che fornisce una panoramica dello stato di tutti i criteri applicati al parco risorse (inclusi i cluster non registrati). Nella dashboard puoi visualizzare lo stato di conformità e di applicazione delle norme al fine di correggere i problemi e ricevere suggerimenti utili per risolvere le violazioni dei criteri.
Bundle di criteri
Puoi utilizzare i bundle di criteri per applicare una serie di vincoli raggruppati in base a un tema specifico di standard, sicurezza o conformità di Kubernetes. Ad esempio, puoi utilizzare i seguenti bundle di criteri:
- Applica molti degli stessi requisiti di PodSecurityPolicy, ma con la possibilità aggiuntiva di controllare la configurazione prima di applicarla, assicurandoti che le modifiche ai criteri non interrompano i carichi di lavoro in esecuzione.
- Utilizza i vincoli compatibili con Cloud Service Mesh per verificare la conformità delle vulnerabilità e delle best practice per la sicurezza del mesh.
- Applica le best practice generali alle risorse del cluster per rafforzare la strategia di sicurezza.
La pagina Panoramica dei bundle di Policy Controller fornisce maggiori dettagli e un elenco dei bundle di criteri attualmente disponibili.
Vincoli
Policy Controller applica la conformità dei cluster utilizzando oggetti chiamati vincoli. Puoi considerare i vincoli come i "blocchi predefiniti" dei criteri. Ogni vincolo definisce una modifica specifica all'API Kubernetes consentita o non consentita nel cluster a cui viene applicata. Puoi impostare i criteri in modo da bloccare attivamente le richieste API non conformi o controllare la configurazione dei cluster e segnalare le violazioni. In entrambi i casi, puoi visualizzare i messaggi di avviso con i dettagli sulla violazione verificatasi in un cluster. Con queste informazioni, puoi risolvere i problemi. Ad esempio, puoi utilizzare i seguenti vincoli individuali:
- Richiedi che ogni spazio dei nomi abbia almeno un' etichetta. Questo vincolo può essere utilizzato per garantire un monitoraggio accurato del consumo di risorse quando si utilizza la misurazione dell'utilizzo di GKE, ad esempio.
- Limita i repository da cui è possibile eseguire il pull di una determinata immagine container. Questo vincolo garantisce che qualsiasi tentativo di eseguire il pull dei container da origini sconosciute venga negato, proteggendo i cluster dall'esecuzione di software potenzialmente dannoso.
- Controlla se un container può essere eseguito in modalità con privilegi. Questo vincolo controlla la capacità di qualsiasi container di abilitare la modalità con privilegi, il che ti consente di controllare quali container (se presenti) possono essere eseguiti con criteri senza restrizioni.
Questi sono solo alcuni dei vincoli forniti nella libreria di modelli di vincolo inclusa in Policy Controller. Questa libreria contiene numerosi criteri che puoi utilizzare per applicare le best practice e limitare i rischi. Se hai bisogno di una maggiore personalizzazione oltre a quella disponibile nella libreria di modelli di vincolo, puoi anche creare modelli di vincolo personalizzati.
I vincoli possono essere applicati direttamente ai cluster utilizzando l'API Kubernetes, o distribuiti a un insieme di cluster da un'origine centralizzata, ad esempio un repository Git, utilizzando Config Sync.