- Automate CIS Benchmarking
- kube-bench
 
- GKE Enterprise Config Management with CIS benchmark policies
 
 
- Google Groups for RBAC
 
- Run nodes with least privilege SA—avoid Compute Engine default service account
roles/monitoring.viewer 
roles/monitoring.metricWriter 
roles/logging.logWriter 
roles/stackdriver.resourceMetadata.write 
 
- Use Workload Identity to access Google Cloud APIs—don’t use underlying node service account
 
- Enable private access only on control plane API
 
- Create a private cluster (no external IP addresses)—use bastion host for access
 
- Use Container-Optimized OS for nodes images—hardened OS
 
- Use shielded GKE nodes—protects against node impersonation
 
- Enable GKE sandbox—protects against privilege escalation and unstrusted code from affecting the host kernel
 
- Enforce network policies—ensure prod Pods can only communicate with allowed resources
 
- Ensure audit logging is enabled—export logs to BigQuery
 
- Enable Binary Authorization—allow trusted container images only
 
- Enable container image vulnerability scanning
 
- Use GKE autopilot if possible—includes hardened setup by default
 
References