Community previewValidate controls against current Google documentation.Report a gap
Google Kubernetes Engine (GKE) Security
Overview
Section titled “Overview”Google Kubernetes Engine (GKE) is Google Cloud’s managed Kubernetes service that provides a secure, scalable platform for containerized applications. This section covers security best practices, compliance requirements, and implementation guidance for GKE environments.
Key Security Features
Section titled “Key Security Features”Cluster Security
Section titled “Cluster Security”- Shielded GKE Nodes: Secure boot, virtual trusted platform module (vTPM), and integrity monitoring
- Private Clusters: Nodes without public IP addresses, accessible only via private Google Cloud networks
- Authorized Networks: IP allowlisting for API server access
- Workload Identity: Secure pod-to-GCP service authentication
Network Security
Section titled “Network Security”- Network Policies: Kubernetes-native traffic control between pods
- Service Mesh: Istio/Anthos Service Mesh for advanced traffic management
- Private Service Connect: Private connectivity to Google APIs
- Binary Authorization: Deploy-time security controls for container images
Compliance and Governance
Section titled “Compliance and Governance”- FIPS 140-2 Compliance: Validated cryptographic modules for data protection
- FedRAMP Authorization: High-impact level compliance for government workloads
- PCI DSS: Payment card industry compliance capabilities
- HIPAA: Healthcare data protection compliance
Security Guides
Section titled “Security Guides”| Guide | What it covers | Status |
|---|---|---|
| FIPS 140-2 Compliance | FIPS-compliant storage options and cryptographic validation in GKE | Available |
| Cluster Hardening | CIS-aligned GKE cluster configuration | Planned |
| Workload Identity | Pod-to-Google Cloud authentication without service account keys | Planned |
| Network Policies | Zero Trust networking with Kubernetes network policy | Planned |
Quick Security Checks
Section titled “Quick Security Checks”Verify Cluster Security Settings
Section titled “Verify Cluster Security Settings”# Check if Shielded GKE nodes are enabledgcloud container clusters describe CLUSTER_NAME \ --zone=ZONE \ --format="value(shieldedNodes.enabled)"
# List authorized networksgcloud container clusters describe CLUSTER_NAME \ --zone=ZONE \ --format="table(masterAuthorizedNetworksConfig.cidrBlocks[].cidrBlock)"
# Check if private cluster is enabledgcloud container clusters describe CLUSTER_NAME \ --zone=ZONE \ --format="value(privateClusterConfig.enablePrivateNodes)"Audit Workload Identity Configuration
Section titled “Audit Workload Identity Configuration”# Check if Workload Identity is enabledgcloud container clusters describe CLUSTER_NAME \ --zone=ZONE \ --format="value(workloadIdentityConfig.workloadPool)"
# List service accounts with Workload Identity bindingsgcloud iam service-accounts list --filter="displayName:gke-"Review Binary Authorization Policy
Section titled “Review Binary Authorization Policy”# Export current Binary Authorization policygcloud container binauthz policy export
# List attestorsgcloud container binauthz attestors listCommon Security Tasks
Section titled “Common Security Tasks”Enable FIPS Mode on Nodes
Section titled “Enable FIPS Mode on Nodes”# Create node pool with FIPS-compliant boot diskgcloud container node-pools create fips-pool \ --cluster=CLUSTER_NAME \ --zone=ZONE \ --image-type=COS_CONTAINERD \ --enable-gvnic \ --metadata=google-compute-enable-fips=TRUEConfigure Network Policies
Section titled “Configure Network Policies”# Example: Deny all ingress traffic by defaultapiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: default-deny-ingress namespace: productionspec: podSelector: {} policyTypes: - IngressImplement Pod Security Standards
Section titled “Implement Pod Security Standards”# Example: Enforce restricted security policyapiVersion: v1kind: Namespacemetadata: name: secure-namespace labels: pod-security.kubernetes.io/enforce: restricted pod-security.kubernetes.io/audit: restricted pod-security.kubernetes.io/warn: restrictedCompliance Quick Reference
Section titled “Compliance Quick Reference”| Compliance Framework | GKE Support | Key Requirements |
|---|---|---|
| FIPS 140-2 | ✅ Supported | Use validated crypto modules, FIPS-mode nodes |
| FedRAMP High | ✅ Supported | Use compliant regions, enable audit logging |
| PCI DSS | ✅ Supported | Network segmentation, encryption, access controls |
| HIPAA | ✅ Supported | Encryption at rest/transit, audit logs, BAAs |
| SOC 2 | ✅ Supported | Security controls, monitoring, incident response |
Security Best Practices
Section titled “Security Best Practices”- Use Autopilot Mode when possible for Google-managed security hardening
- Enable Shielded GKE Nodes for enhanced node security
- Implement Workload Identity instead of service account keys
- Use Binary Authorization to ensure only verified images are deployed
- Enable audit logging and ship logs to Cloud Logging
- Regularly update clusters and nodes to latest versions
- Implement network policies for pod-to-pod traffic control
- Use private clusters to reduce attack surface
Additional Resources
Section titled “Additional Resources”Page provenance
Community-maintained guidance. Use the edit link below to propose a sourced correction.
Was this page useful?
Help us prioritize the next improvement.