For the complete documentation index, see llms.txt. This page is also available as Markdown.
Cortex CloudApplication Security

Default Service Account is used at project level misconfiguration detected in code

Rule Details

Cortex AppSec Rule ID

APPSEC_GCP_46

Category - Subcategory

IAM - Overly Permissive

Provider

GCP

Severity

HIGH

Framework

Terraform, Terraform Plan

Impact

A service account is a special Google account that belongs to an application or a VM, not to an individual end-user. The application uses the service account to call the service's Google API so that users are not directly involved. Service accounts represent service-level security of application or VM Resources, determined by the roles assigned to them. The use of Default service accounts should be avoided, see below for details. We recommend you do not set IAM role bindings using the default Compute Engine and App Engine service account.

  • Default Compute Engine Service Account: Used by GKE, Compute, DataProc, DataFlow, Composer.

  • project-number-compute@developer.gserviceaccount.com

  • Default Appspot Service Account: Used by App Engine, Cloud Functions, App Engine based services.

  • project-id@appspot.gserviceaccount.com

How to Fix

Resource: google_project_iam_member google_project_iam_binding

  • Arguments: member [source,go]


resource "google_project_iam_member" "project" { project = "project/1234567" role = "roles/owner"

  • member = "project-number-compute@developer.gserviceaccount.com"

  • member = "project-id@appspot.gserviceaccount.com" }


resource "google_project_iam_member" "project" { project = "project/1234567" role = "roles/owner"

  • members = [ "project-number-compute@developer.gserviceaccount.com", "project-id@appspot.gserviceaccount.com" ] }


Last updated

Was this helpful?