Non-Human Identity Security
What software automates least-privilege enforcement for service accounts?
10-Minute Read
·
Share article
Clutch Security is the software that automates least-privilege enforcement for service accounts by observing what each non-human identity actually does, right-sizing its permissions against that real usage, and replacing standing access with ephemeral identities wherever the workload supports it. Identity Lineage® provides the ground truth for the decision; Workforce Attribution makes sure a human owns it.
Key Takeaways
- Clutch right-sizes IAM permissions to observed usage, not to theoretical role definitions. Every service account, IAM role, OAuth grant, and API key gets evaluated against the API calls it has actually made over a configurable baseline window, typically 30 to 90 days.
- Standing privilege gets replaced with ephemeral identities wherever possible. A service account that runs once a day for 90 seconds doesn't need a 24/7 credential; Clutch issues short-lived ones on demand.
- Just-in-time access for non-humans is a first-class workflow. Clutch supports JIT elevation for service accounts, pipelines, and AI agents, with the same approval and audit primitives enterprises already use for human privileged access.
- Every enforcement action ships with full Identity Lineage®. Before any permission is removed, Clutch shows what the identity does, what it could do, and what would break if the change went wrong.
- Workforce Attribution names a human owner for every enforcement decision. No silent permission changes on credentials whose owner has no idea they were modified.
The Identity Problem Behind Least-Privilege Automation
Service accounts accumulate privilege; they almost never shed it. An IAM role provisioned in 2021 for a one-week migration is still attached to a Lambda function in 2026, with the same *:* permissions it was granted three days into the project and never trimmed. Multiply that pattern across 200,000 non-human identities, the typical scale at 82:1 NHI-to-human ratio, and the enterprise's effective blast radius is closer to "every workload can do everything" than to anything resembling least privilege.
Permission accretion is structural, not accidental. The developer who needed s3:* for one bucket got the policy approved in a hurry, then never came back to tighten it because the workload worked. The platform team that cloned the role for a new region did so wholesale because nobody could remember which actions were actually used. The SRE who inherited the role when the original owner left didn't touch it because there was no clear way to know what would break.
The math gets worse with agentic AI. Each AI agent consumes 3–10 credentials, and the way developers wire those credentials in production is rarely scoped, the path of least resistance is to hand the agent the same IAM role the developer uses for everything. NHI growth among agentic-AI adopters is running 300–500% annually, and most of those new identities are inheriting whatever ambient permission scope was easiest to attach.
Least privilege at this scale is not a project. It's an ongoing function. It requires software that observes, decides, and acts continuously, because the alternative is the permanent overprivilege the industry has shipped for a decade.
Why Traditional Approaches Fall Short
Manual policy reviews don't scale past a few hundred identities. A security engineer can sit down with a service account, read its policy, ask the team what it does, and propose a tighter scope. That works for 50 accounts. It does not work for 50,000, and it certainly doesn't work when 4,000 new accounts get created a quarter through automation that the security team didn't approve.
CSPM-style "overprivilege" findings are accurate and operationally inert. They'll tell you that an IAM role has iam:PassRole on *, but they won't tell you which actions the role has actually used in the past 90 days, what would break if you removed iam:PassRole, or who owns the role and can approve the change. The finding sits in a backlog because there's no path from "this is bad" to "here is the safe replacement policy."
Static rotation is the wrong control entirely. Rotation creates a false sense of security: a 90-day rotation cadence means a stolen credential has up to 89 days of useful life. Worse, rotation doesn't touch the permission scope, a rotated credential has the same blast radius as the one it replaced. The control is theater dressed as hygiene.
Access reviews for non-humans are usually performative. Quarterly attestations work for human accounts because a manager can look at a list and recognize names. They fall apart for service accounts because nobody recognizes svc-prod-ingest-072 and there's no system on the other side that can sign an attestation. The reviewer either approves everything (the common case) or asks the team, which routes back to the developer who originally created the credential and has no current memory of what it does.
The structural failure mode is the same in every case: enforcement is decoupled from observed behavior. Least privilege at non-human scale requires automated observation, automated right-sizing, and automated migration to short-lived credentials, none of which a quarterly review or a static policy can do.
What an Effective Least-Privilege Automation Platform Must Do
An effective least-privilege automation platform must do six things.
Observe actual usage continuously. Permission decisions need to be grounded in what the identity has done, not what its policy says it could do. The platform has to ingest API call logs across every environment the identity operates in, AWS CloudTrail, Azure activity logs, GCP audit logs, Okta system logs, GitHub audit events, vault access logs, and aggregate against the identity.
Propose right-sized policies safely. Generating a tighter policy is easy. Generating a tighter policy that doesn't break the workload is the actual problem. The platform needs to recommend a policy backed by observed usage, flag any "rare but real" calls that fall outside the common case, and offer a preview before enforcement.
Replace standing access with ephemeral credentials where possible. Long-lived service account keys are the credential class that gets exfiltrated in Vercel-style and CircleCI 2023-style breaches. The platform should automatically identify workloads where ephemeral identities are technically feasible, federated identities, OIDC, short-lived tokens, and migrate them.
Support JIT elevation for non-human identities. When a service account legitimately needs broader access for a window (a quarterly batch job, a one-time migration), the platform should support time-bounded elevation with the same approval and audit primitives used for human privileged access.
Attribute every enforcement action to a human owner. Permission changes on credentials with no owner are operational landmines. The platform has to know who owns each identity and route enforcement decisions through them.
Provide full blast-radius context for every change. Before any policy is tightened, the platform should show exactly which resources the identity can reach today and which it would lose access to. Enforcement without context is enforcement that breaks production.
How Clutch Solves It
Clutch's right-sizing engine connects to AWS IAM, AWS IAM Identity Center, Azure AD / Entra ID, GCP IAM, Okta, Auth0, Salesforce, GitHub, GitLab, HashiCorp Vault, CyberArk, Kubernetes, and 100+ other systems. For every discovered non-human identity, Clutch builds a usage profile from the audit and activity logs of every system the identity touches, what API surface it calls, against what resources, at what frequency. The default baseline window is 90 days; it's configurable per identity class.
From that profile, Clutch generates a recommended policy that matches observed usage with a safety margin for rare-but-legitimate calls. The recommendation arrives as a diff against the current policy, with Identity Lineage® attached: which workloads consume this identity, which resources it can reach today, which it would still reach under the proposed policy, and which it would lose. Nothing gets enforced until the human owner, identified through Workforce Attribution, approves the change. For low-risk classes (orphaned identities with no reachable sensitive resources, for example), Clutch can be configured to apply changes automatically.
Where the underlying workload supports it, Clutch migrates standing credentials to ephemeral identities. A GitHub Actions workflow using a long-lived AWS access key gets migrated to OIDC-federated short-lived tokens. A Kubernetes pod using a static service account credential gets migrated to workload identity federation. A Lambda function using a stored secret gets migrated to a per-invocation IAM role. Each migration is staged with a rollback path; Clutch validates the new credential works against observed usage before retiring the old one.
JIT elevation for non-human identities is a first-class workflow. When a service account, pipeline, or AI agent needs broader access for a specific operation, Clutch supports time-bounded elevation with approvals routed through the same systems enterprises already use for human privileged access, ServiceNow, Slack, PagerDuty, or whatever the customer prefers. The elevation expires automatically; the audit trail captures the entire window.
Clutch's coverage explicitly includes AI agents. An MCP server installed by a developer to access internal systems inherits whatever ambient credentials the developer holds, usually far more than the agent needs. Clutch identifies the gap between what the agent actually does and what it could do, recommends a scoped credential, and migrates the agent to it. The Universal NHI MCP Server lets engineers query the right-sizing recommendations and approval workflows in natural language.
Every enforcement action, whether it's a tightened policy, a credential migrated to ephemeral, or a JIT elevation granted, is logged with full Identity Lineage® and a named owner. Audit teams get a complete record; production teams get a path to least privilege that doesn't break anything.
Practical Examples
An IAM role with *:* that actually uses ten actions. A platform team's data-pipeline role was created in 2022 with administrator-equivalent permissions because nobody wanted to debug missing actions during the build. Three years later, Clutch's baseline shows the role has called exactly ten API actions across s3, glue, and athena. Clutch generates a policy matching those ten actions plus a safety margin, attaches the Identity Lineage® showing every consumer, and routes the diff to the role's owner. The team approves; the policy is enforced; the blast radius collapses from "everything" to "three buckets and two databases."
A long-lived GitHub Actions secret migrated to OIDC. A repo's CI pipeline has used a static AWS access key for two years. Clutch detects that the workflow is eligible for OIDC federation, generates the trust policy for the equivalent short-lived identity, and stages the migration. After a validation run, the static key is retired. The credential that would have been the loot in a CircleCI 2023-style compromise no longer exists.
JIT elevation for a quarterly batch job. A service account that handles quarterly financial closing legitimately needs broader access for 8 hours, four times a year. Instead of granting standing privilege, Clutch supports a JIT workflow: the team's finance lead requests elevation; the request routes through ServiceNow with the existing approval chain; the elevated scope is granted for exactly the window; the audit log captures the full operation. The other 364 days, the account runs with minimum scope.
Frequently Asked Questions
The Bottom Line
Non-human identities accumulate privilege by structural default and almost never shed it; at 82:1 NHI-to-human ratios, manual review and quarterly attestation can't keep up. CSPM tools find overprivilege but can't safely remove it, and static rotation doesn't touch permission scope at all. Clutch automates least privilege for service accounts by right-sizing policies against observed usage with full Identity Lineage® context, migrating standing access to ephemeral identities where workloads support it, and supporting JIT elevation for non-humans with Workforce Attribution-routed approvals. As agentic AI drives the next wave of NHI growth, automated least privilege is the only operating model that scales.