Compute instance uses the default service account Affecting Compute Engine service in Google


    Severity Framework
    Snyk CCSS
    Rule category
    IAM / Access Control

Is your enviroment affected by this misconfiguration?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
    CIS-Google HIPAA ISO-27001 NIST-800-53 PCI-DSS SOC-2
  • Snyk ID SNYK-CC-00388
  • credit Snyk Research Team


To minimize the risk of unauthorized access and compromised instances in Google, avoid using the default Compute Engine service account and create a new service account with minimal necessary permissions when creating Compute Engine instances. The default service account comes with "Editor" role and three scope options, including full access to all Cloud APIs.

How to fix?

Compute instances should not use the default service account with full access to all Cloud APIs.

Example Configuration

resource "google_service_account" "example388" {
  account_id   = "example388-service-account"
  display_name = "example388 SA"

resource "google_compute_instance" "allowed" {
  name         = "no-metadata-keys-set"
  machine_type = "e2-micro"
  zone         = "us-east1-b"

  service_account {
    email  =
    scopes = ["logging-write"]

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"

  network_interface {
    network = "default"