Check ID:
Provider: GCP
Service:
Severity: MEDIUM
Categories:
Resource type:
gke_cluster_no_default_service_accountProvider: GCP
Service:
gkeSeverity: MEDIUM
Categories:
identity-accessResource type:
container.googleapis.com/ClusterWhat this check verifies
GKE clusters are evaluated for use of the Compute Engine default service account (default) as the node identity. The expectation is that clusters and node pools run with dedicated, minimally privileged IAM service accounts instead of the project-wide default.
Risk
Default node service accounts often have broad project access. If a node is compromised, its credentials can read secrets, modify resources, or delete infrastructure, enabling lateral movement and data exfiltration. This harms confidentiality, integrity, and availability across the environment.Recommendation
Assign a custom, least-privileged IAM service account to each node pool instead ofdefault.
- Grant only permissions required for node logging/monitoring and operations
- Enforce separation of duties and restrict impersonation
- Periodically review roles and audit usage for defense in depth
Remediation
- CLI
- Terraform
- Dashboard steps
References
Where this check fires
This check runs on every scheduled scan against your GCP account. Findings appear at Cloud Security → Findings filterable byCheck ID = gke_cluster_no_default_service_account. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to GCP checks