
Quick Summary: GCP service account keys created outside of automated workflows go untracked — no rotation schedule, no named owner, no expiry. Oleria, an AI-native identity security & governance platform, finds every untracked GCP service account key across your environment and flags them for rotation or elimination before one is exploited.
GCP JSON keys are downloadable, long-lived private keys that work until someone manually deletes them. Most enterprises have hundreds they've never inventoried - and workload identity federation migration, the only real fix, has the lowest completion rate of any high-value posture improvement because nobody knows which keys are migration candidates.
GCP service accounts authenticate workloads to Google APIs. JSON keys are the legacy mechanism: a downloadable file containing a private key with the service account's full effective scope. Once leaked, the key works until manually deleted. The U.S. Treasury 2024 breach had API-key parallels in the public framing; GCP's analog risk is the JSON key.
Google's own documentation now leads with workload identity federation as the recommended path. The migration is real work: replacing static keys with OIDC trust between Kubernetes, AWS, Azure, or other federated workload sources. It's also the highest-value posture improvement available - and the lowest-completion. The reason: identifying which keys are migration candidates requires usage analysis nobody runs. The work hasn't gotten done at scale because the inventory doesn't exist.
Oleria's GCP Service Account Key Discovery and Elimination capability gives you the complete cross-project picture your security program has been missing — every JSON key, every service account, every federation gap, in a single queryable inventory.

Complete cross-project visibility - no project left unscanned. Service accounts across every GCP project with read access, including keys, federation status, and IAM bindings, in one inventory.
Per key: created date, last-authenticated timestamp, and age, all sortable. Builds the stale-key cleanup queue automatically.
What roles each service account holds across projects, folders, and organization level - not just bindings at one level, so you see the real blast radius.

Yes. Default service accounts (created by Google for products like Compute Engine) and user-created service accounts both surface, with their distinct lifecycle treatment.
Impersonation IAM (serviceAccountTokenCreator) shows up as scope. Three-hop impersonation chains traced.
gcloud and the Console show you keys per project, one project at a time, with no last-used data surfaced in the UI. Oleria aggregates org-wide, surfaces last-authenticated timestamps, and builds the stale-key queue automatically.
Discovery reads from GCP APIs, not from IaC state files, so keys created by Terraform, Pulumi, or any automation appear regardless of whether the IaC repo is accessible.
Yes. A single org-level read grant covers all projects under that organization.
Inventory refresh runs on a scheduled pull cycle. For compliance, the stale-key and over-scoped-key findings map directly to CIS Google Cloud Benchmark controls (sections 1.4, 1.7) and NIST SP 800-53 AC-2 and IA-5.