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?
