GKE Cluster Security Hardening
Reference: security-groups/group-4-cluster-security.md
Tasks
- Pod Security Admission (PSA) — apply namespace-level PSA labels (
restricted for app namespaces, baseline for system namespaces). Note: PodSecurityPolicy (v1beta1) was removed in K8s 1.25; the cluster runs K8s 1.30+ — use PSA labels, not PSP.
- Kubernetes NetworkPolicy — default-deny with explicit allow rules for app traffic and DNS
- Binary Authorization — image verification for deployed containers
- Workload Identity — secure pod-to-GCP authentication
- Private cluster endpoint — evaluate enabling private endpoint for management access
Important Notes
- Do NOT use
podSecurityPolicyConfig or k8s.policy.v1beta1.PodSecurityPolicy — these are removed in K8s 1.25+
- Use Pod Security Admission via namespace labels instead
- GKE Autopilot enforces some security features natively
Acceptance Criteria
GKE Cluster Security Hardening
Reference:
security-groups/group-4-cluster-security.mdTasks
restrictedfor app namespaces,baselinefor system namespaces). Note: PodSecurityPolicy (v1beta1) was removed in K8s 1.25; the cluster runs K8s 1.30+ — use PSA labels, not PSP.Important Notes
podSecurityPolicyConfigork8s.policy.v1beta1.PodSecurityPolicy— these are removed in K8s 1.25+Acceptance Criteria