GKE Suspicious Self-Subject Review via Service Account
Description
Detects GKE service account or node identities invoking self-subject access or rules review APIs. Non-human identities rarely enumerate their own permissions outside known controllers; this can indicate stolen tokens probing effective RBAC.
Query · kuery
data_stream.dataset:gcp.audit and service.name:k8s.io and event.action:(io.k8s.authorization.v1.selfsubjectaccessreviews.create or io.k8s.authorization.v1.selfsubjectrulesreviews.create) and user.email:((system\:node\:* or system\:serviceaccount\:*) and not ("system:serviceaccount:default:argo-argo-workflows-server" or "system:serviceaccount:default:argo-argo-workflows-workflow-controller" or system\:serviceaccount\:*\:datadog-kube-state-metrics))
Known false positives
- Some controllers and admin impersonation workflows legitimately submit self-subject reviews. Excluded identities include common Argo and Datadog service accounts.
Analyst notes
Investigating GKE Suspicious Self-Subject Review via Service Account
Review the calling service account or node identity and subsequent API activity.
Investigation steps
- Confirm
user.emailandevent.action(selfsubjectaccessreviews or selfsubjectrulesreviews). - Correlate with denied requests, secret access, or RBAC changes from the same identity.
False positives
- Known observability or workflow controllers; extend exclusions if needed.
Setup
The GCP Fleet integration with GKE audit logs enabled is required to be compatible with this rule.