GKE Service Account Modified RBAC Objects

Last updated 9 days ago on 2026-07-10
Created 9 days ago on 2026-07-10

About

Detects write operations performed by GKE service accounts against RBAC resources (Roles, ClusterRoles, RoleBindings, ClusterRoleBindings). Service accounts typically do not manage RBAC directly; this activity may indicate token abuse or unauthorized privilege escalation.
Tags
Domain: CloudDomain: KubernetesData Source: GCPData Source: Google Cloud PlatformUse Case: Threat DetectionTactic: Privilege EscalationTactic: PersistenceLanguage: kuery
Severity
medium
Risk Score
47
MITRE ATT&CK™

Privilege Escalation (TA0004)(external, opens in a new tab or window)

Persistence (TA0003)(external, opens in a new tab or window)

False Positive Examples
In-cluster controllers, operators, and CI jobs may legitimately reconcile RBAC manifests. Baseline known automation service accounts before tuning.
License
Elastic License v2(external, opens in a new tab or window)

Definition

Rule Type
Query (Kibana Query Language)
Integration Pack
Prebuilt Security Detection Rules
Index Patterns
logs-gcp.audit-*
Related Integrations

gcp(external, opens in a new tab or window)

Query
text code block:
data_stream.dataset:gcp.audit and service.name:"k8s.io" and event.outcome:success and client.user.email:(system\:serviceaccount\:* and not ( "system:serviceaccount:kube-system:clusterrole-aggregation-controller" or "system:serviceaccount:kube-system:generic-garbage-collector" )) and event.action:( "io.k8s.authorization.rbac.v1.clusterrolebindings.create" or "io.k8s.authorization.rbac.v1.clusterrolebindings.delete" or "io.k8s.authorization.rbac.v1.clusterrolebindings.patch" or "io.k8s.authorization.rbac.v1.clusterrolebindings.update" or "io.k8s.authorization.rbac.v1.clusterroles.create" or "io.k8s.authorization.rbac.v1.clusterroles.delete" or "io.k8s.authorization.rbac.v1.clusterroles.patch" or "io.k8s.authorization.rbac.v1.clusterroles.update" or "io.k8s.authorization.rbac.v1.rolebindings.create" or "io.k8s.authorization.rbac.v1.rolebindings.delete" or "io.k8s.authorization.rbac.v1.rolebindings.patch" or "io.k8s.authorization.rbac.v1.rolebindings.update" or "io.k8s.authorization.rbac.v1.roles.create" or "io.k8s.authorization.rbac.v1.roles.delete" or "io.k8s.authorization.rbac.v1.roles.patch" or "io.k8s.authorization.rbac.v1.roles.update" )

Install detection rules in Elastic Security

Detect GKE Service Account Modified RBAC Objects in the Elastic Security detection engine by installing this rule into your Elastic Stack.

To setup this rule, check out the installation guide for Prebuilt Security Detection Rules(external, opens in a new tab or window).