Join our Newsletter — 33% off our NHI Course

What breaks when Google Cloud VM instances use the default service account instead of a least-privileged identity?

When a VM uses the default Compute Engine service account, it often inherits editor-level permissions across Google Cloud. That breaks least privilege and gives the workload far more access than it needs. The practical result is expanded blast radius, easier misuse of the identity, and a higher chance that a compromised VM can read, change, or delete resources it should never touch.

Why the default Compute Engine service account breaks the security model

Google Cloud VM instances are supposed to run with an identity that matches the workload’s actual purpose. When you leave the default Compute Engine service account in place, the instance often inherits broad project-level permissions instead of a narrowly scoped role set. That turns the VM identity into a generic access path, which defeats least privilege and makes the VM a much more valuable target.

The issue is not only overreach, it is ambiguity. A default identity tends to be reused, under-reviewed, and accepted as “normal,” which makes it harder to tell which actions the workload truly needs versus which actions were simply inherited. For identity design and workload access patterns, see Cloud Workload Identity Guide and Service Account Security Guide.

In practice, the default service account becomes a standing privilege container for the VM. If the workload only needs to read one bucket, call one API, or write to one queue, a broader identity means the instance can also reach unrelated resources, administrative surfaces, or data sets. That is what breaks the security boundary: the identity no longer reflects the task.

What risk expands when the VM identity is too broad?

The main consequence is blast radius. If the VM is compromised through malware, remote code execution, exposed software, or a vulnerable application, the attacker does not just inherit the application’s function, they inherit the instance’s cloud permissions. That can convert a single host compromise into project-wide data exposure, configuration tampering, or destructive changes.

A second consequence is misuse of trust. Broad service-account permissions make it easier for a benign mistake, a vulnerable dependency, or a malicious insider action to touch resources outside the intended scope. That is why Privileged Access Management Guide and Cloud PAM and CIEM Guide matter here: over-privilege is an access-control problem, not just a configuration preference.

For cloud identity hygiene, the same pattern is called out in OWASP Non-Human Identity Top 10, which treats excessive privilege and secret or identity misuse as a recurring failure mode across machine identities.

What should practitioners do instead of relying on the default service account?

Use a dedicated service account for each VM role, then grant only the permissions the workload actually needs. Prefer narrowly scoped predefined roles or custom roles over broad project-level roles, and treat the identity as part of the application design rather than a provisioning afterthought.

  • Assign one workload, one identity, one purpose.
  • Remove inherited permissions that are not required for runtime function.
  • Review whether the VM can still complete its task after role reduction.
  • Separate administrative access from workload access so a compromised workload cannot act like an operator.

In Google Cloud, that usually means validating the attached service account, checking effective IAM bindings, and confirming whether the workload actually needs any write or delete capability at all. For workload-identity patterns and least-privilege design, Kubernetes NHI Security Guide is useful as a parallel model, because the same principle applies: default identities should not carry broad standing access.

Risk and Threat Considerations

Broad default-service-account permissions increase the value of every VM compromise. An attacker who gets code execution on the instance can often move straight from host access to cloud resource access, which turns a single workload weakness into a broader cloud incident.

Failure mechanism: The default account inherits permissions that exceed the workload’s task, so compromise of the VM grants access to resources the application never needed.

Impact: Attackers or mistaken automation can read sensitive data, modify infrastructure, or delete assets across the project, dramatically increasing blast radius and recovery effort.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP Non-Human Identity Top 10 addresses the attack surface, CIS Controls v8, NIST SP 800-53 Rev 5 and NIST CSF 2.0 set the technical controls, and ISO/IEC 27001:2022 defines the regulatory obligations.

Framework Control / Reference Relevance
OWASP Non-Human Identity Top 10 NHI-05 — Overprivileged NHI Default Compute Engine service accounts can inherit excessive permissions.
NHI-01 — Improper Offboarding Broad default service accounts are harder to retire or tighten safely.
NHI-04 — Insecure Authentication Workload identity quality affects how strongly the VM proves itself to Google Cloud.
Recommendation — Replace broad inherited permissions with least-privilege roles for each workload. Inventory and revoke unused workload identities before they linger with access. Use explicit workload identities and strong auth paths instead of implicit default access.
CIS Controls v8 CIS-5 — Account Management The issue is excessive account privilege on a workload identity.
Recommendation — Review and restrict service-account permissions to the minimum required.
NIST SP 800-53 Rev 5 AC-6 — Least Privilege Default service accounts often violate least-privilege access design.
IA-5 — Authenticator Management Workload credentials and their lifecycle are part of secure service-account use.
Recommendation — Apply least privilege by scoping each VM to only required permissions. Manage service-account credentials and rotation with explicit lifecycle controls.
ISO/IEC 27001:2022 A.5.15 — Access control The question is about controlling what a workload identity can access.
A.5.18 — Access rights Excessive inherited rights are the core problem being described.
Recommendation — Define and enforce access rules that match the workload’s role. Review and remove access rights that exceed the VM’s operational need.
NIST CSF 2.0 PR.AA-05 — Identity Management, Authentication, and Access Control The answer concerns how workload identities are assigned and constrained.
PR.AA-03 — Remote Access Overbroad service accounts can become a remote path to cloud resources.
Recommendation — Assign and govern workload identities so access matches business need. Restrict access paths so remote workload access remains narrowly authorized.

Practitioner Guidance

What to verify: Confirm the VM is attached to a purpose-built service account, then inspect the effective IAM permissions rather than only the named role. The important question is whether the workload can complete its job after you remove obvious surplus access.

Decision rule: If the instance can still function after you remove project-wide write or admin permissions, keep reducing scope until only the required permissions remain. If it cannot function, treat that as a design signal that the workload was built around inherited privilege instead of explicit authorization.

Practitioner takeaway: The default service account is acceptable only when its permissions are truly constrained; if it behaves like a project admin surrogate, the identity model has already failed.