Questa pagina spiega cos'è Policy Controller e come puoi utilizzarlo per garantire che i tuoi cluster e workload Kubernetes vengano eseguiti in modo sicuro e conforme.
Questa pagina è rivolta agli amministratori IT, agli operatori e agli specialisti della sicurezza che definiscono le soluzioni IT e l'architettura di sistema in conformità con la strategia aziendale e garantiscono che tutte le risorse in esecuzione all'interno della piattaforma cloud soddisfino i requisiti di conformità dell'organizzazione fornendo e mantenendo l'automazione per l'audit o l'applicazione. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti di Google Cloud , consulta Ruoli e attività comuni degli utenti GKE.
Policy Controller consente l'applicazione, anche forzata, dei criteri programmabili per i tuoi cluster Kubernetes. Queste policy fungono da barriere e possono aiutare con la gestione di best practice, sicurezza e conformità dei cluster e del 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 viene fornito con una libreria completa di policy predefinite 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 console Google Cloud , Terraform o Google Cloud CLI su qualsiasi cluster connesso al tuo parco risorse. Policy Controller funziona con altri serviziGoogle Cloud come Config Sync, metriche e Cloud Monitoring.
- Supporta più punti di applicazione: oltre al controllo di ammissione e di audit per il cluster, Policy Controller può facoltativamente abilitare un approccio shift-left per analizzare e rilevare le modifiche non conformi prima dell'applicazione.
- Pacchetti di policy predefiniti: Policy Controller include una libreria completa di policy predefinite per i controlli di sicurezza e conformità più comuni. Questi includono sia i bundle di policy sia la libreria dei modelli di vincolo.
- Supporta le policy personalizzate: se è necessaria la personalizzazione delle policy oltre a quanto disponibile utilizzando la libreria dei modelli di vincolo, Policy Controller supporta anche lo sviluppo di modelli di vincolo personalizzati.
- Osservabilità integrata: Policy Controller include una dashboard della console Google Cloud , che fornisce una panoramica dello stato di tutte le policy applicate al tuo 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 delle norme.
Bundle di policy
Puoi utilizzare i bundle di policy per applicare una serie di vincoli raggruppati in un tema specifico di sicurezza, conformità o standard Kubernetes. Ad esempio, puoi utilizzare i seguenti bundle di policy:
- Applicano molti degli stessi requisiti di PodSecurityPolicies, ma con la possibilità aggiuntiva di controllare la configurazione prima di applicarla, per garantire che eventuali modifiche alle policy non interrompano i workload 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 security posture.
La panoramica dei bundle di Policy Controller fornisce ulteriori dettagli e un elenco dei bundle di policy attualmente disponibili.
Vincoli
Policy Controller applica la conformità dei cluster utilizzando oggetti chiamati vincoli. Puoi pensare ai vincoli come ai "componenti di base" della policy. Ogni vincolo definisce una modifica specifica all'API Kubernetes consentita o non consentita nel cluster a cui viene applicata. Puoi impostare policy per bloccare attivamente le richieste API non conformi o per controllare la configurazione dei cluster e segnalare le violazioni. In entrambi i casi, puoi visualizzare i messaggi di avviso con i dettagli della violazione che si è verificata su 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, ad esempio, per garantire un monitoraggio accurato del consumo di risorse quando si utilizza la misurazione dell'utilizzo di GKE.
- Limita i repository da cui è possibile eseguire il pull di una determinata immagine container. Questo vincolo garantisce che qualsiasi tentativo di estrarre container da origini sconosciute venga rifiutato, proteggendo i cluster dall'esecuzione di software potenzialmente dannoso.
- Controlla se un container può essere eseguito in modalità con privilegi. Questo vincolo controlla la possibilità per qualsiasi container di attivare la modalità con privilegi, che ti consente di controllare quali container (se presenti) possono essere eseguiti con una policy senza limitazioni.
Questi sono solo alcuni dei vincoli forniti nella libreria di modelli di vincoli 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 rispetto a quella disponibile nella libreria dei 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.