Check ID:
Provider: GCP
Service:
Severity: MEDIUM
Categories:
Resource type:
compute_instance_default_service_account_in_useProvider: GCP
Service:
computeSeverity: MEDIUM
Categories:
identity-accessResource type:
compute.googleapis.com/InstanceWhat this check verifies
Compute Engine VMs are evaluated for use of the default service account ([PROJECT_NUMBER][email protected]). The finding highlights instances configured with that account rather than a workload-specific service account. GKE node VMs are ignored.
Risk
Using the default service account often grants project-wide rights (e.g.,roles/editor). If a VM is compromised, metadata tokens can be abused to read/modify resources, exfiltrate data, and pivot across services, impacting confidentiality and integrity, and potentially availability.
Recommendation
Avoid the default service account. Create per-workload service accounts and grant only required roles under least privilege and separation of duties. Remove broad roles likeroles/editor. Prefer short-lived credentials and monitor service account usage to enforce defense in depth.
Remediation
- Terraform
- Dashboard steps
References
- https://cloud.google.com/iam/docs/granting-changing-revoking-access
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/gcp/ComputeEngine/default-service-accounts-in-use.html
Where this check fires
This check runs on every scheduled scan against your GCP account. Findings appear at Cloud Security → Findings filterable byCheck ID = compute_instance_default_service_account_in_use. 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