Questa pagina spiega cos'è Policy Controller e come utilizzarlo per garantire che i cluster e i carichi di lavoro Kubernetes vengano eseguiti in modo sicuro e conforme.
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 Gatekeeper di Open Policy Agent, 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.
Policy Controller è disponibile con una licenza per la versione Google Kubernetes Engine (GKE) Enterprise.
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 collegato al tuo parco risorse. Policy Controller funziona con altri servizi Google Cloud come Config Sync, metrics e Cloud Monitoring.
- Supporta più punti di applicazione: oltre al controllo sia dell'audit che dell'ammissione per il cluster, Policy Controller può facoltativamente abilitare un approccio Maiusc a sinistra per analizzare e rilevare le modifiche non conformi prima dell'applicazione.
- Pacchetti di criteri predefiniti: Policy Controller include una libreria completa di criteri predefiniti per i controlli di sicurezza e conformità più comuni. Sono inclusi sia i pacchetti di criteri, creati e gestiti da Google, sia la libreria di modelli di vincoli.
- Supporta criteri personalizzati: se è necessaria la personalizzazione dei criteri oltre quanto è disponibile utilizzando la libreria di modelli di vincolo, Policy Controller supporta anche lo sviluppo di modelli di vincoli personalizzati.
- Osservabilità integrata: Policy Controller include una dashboard della console Google Cloud, che offre una panoramica dello stato di tutti i criteri applicati 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.
Pacchetti di criteri
Puoi utilizzare i pacchetti di criteri per applicare una serie di vincoli raggruppati in base a uno specifico tema di standard, sicurezza o conformità Kubernetes. Questi pacchetti di criteri sono creati e gestiti da Google e sono quindi pronti per essere utilizzati senza dover scrivere codice. Ad esempio, puoi utilizzare i seguenti pacchetti di criteri:
- Applica molti degli stessi requisiti di PodSecurityPolicies, ma con la possibilità aggiuntiva di controllare la configurazione prima di applicarla, per garantire che le modifiche ai criteri non influiscano sull'esecuzione dei carichi di lavoro.
- Utilizza vincoli compatibili con Cloud Service Mesh per verificare la conformità delle vulnerabilità e le best practice della sicurezza mesh.
- Applica le best practice generali alle risorse del cluster per rafforzare la postura di sicurezza.
La panoramica dei pacchetti di Policy Controller fornisce ulteriori dettagli e un elenco dei pacchetti di criteri attualmente disponibili.
Vincoli
Policy Controller applica la conformità dei cluster utilizzando oggetti chiamati vincoli. Puoi considerare i vincoli come i "componenti di base" delle norme. Ogni vincolo definisce una modifica specifica all'API Kubernetes consentita o non consentita nel cluster a cui è applicata. Puoi impostare criteri per bloccare attivamente le richieste API non conformi o controllare la configurazione dei tuoi cluster e segnalare le violazioni. In entrambi i casi, puoi visualizzare i messaggi di avviso con i dettagli della violazione che si è verificata in un cluster. Con queste informazioni, puoi risolvere i problemi. Ad esempio, puoi utilizzare i seguenti vincoli individuali:
- Richiedi a ogni spazio dei nomi di avere almeno un'etichetta. Questo vincolo può essere utilizzato per garantire il monitoraggio accurato del consumo di risorse quando, ad esempio, si utilizza la misurazione dell'utilizzo di GKE.
- Limita i repository da cui è possibile estrarre una determinata immagine container. Questo vincolo garantisce che qualsiasi tentativo di pull dei container da origini sconosciute venga negato, proteggendo i tuoi cluster dall'esecuzione di software potenzialmente dannoso.
- Specifica se un container può essere eseguito in modalità con privilegi. Questo vincolo controlla la capacità di qualsiasi container di abilitare la modalità con privilegi, in modo da controllare quali container (se presenti) possono essere eseguiti con un criterio senza restrizioni.
Questi sono solo alcuni dei vincoli forniti nella libreria dei modelli di vincoli inclusa in Policy Controller. Questa libreria contiene numerosi criteri che puoi usare per applicare le best practice e limitare i rischi. Se hai bisogno di una maggiore personalizzazione oltre 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.