Identity & Access

Non-Human Identities Now Outnumber Your Employees

Key takeaway: Human accounts have joiners-movers-leavers processes. Service accounts typically have none, so they accumulate permanently with permissions nobody reviews.

Why They Accumulate

Every integration, CI pipeline, monitoring agent and scheduled job needs an identity. Creating one takes minutes and requires no approval in most environments.

Nothing removes them. The project ends, the integration is replaced, the team reorganises — and the account persists with valid credentials and whatever permissions it accumulated. Ratios of ten to fifty non-human identities per employee are common, and most organisations cannot enumerate them.

The Properties That Make Them Attractive

Characteristic Human account Service account
MFA Usually enforced Rarely possible
Credential rotation Policy-driven Often never
Anomalous use is noticeable Yes Rarely monitored
Offboarding Defined process Usually none
Permission scope Role-based Frequently over-broad
Named owner Yes Often unknown

The combination is exactly what an attacker wants: a credential that does not expire, has no second factor, holds significant privilege, and whose use is not monitored because nobody knows what normal looks like.

The ownership gap is what blocks remediation. When a security team finds a service account with excessive permissions and no recent activity, the safe action is disabling it — and nobody will approve that without knowing what breaks. So it stays.

Establishing Control

Require an owner at creation. A service account without a named human owner and a stated purpose should not be creatable. This is the single change that makes everything else possible.

Eliminate long-lived credentials where the platform allows. Workload identity federation lets a CI job or a workload exchange a platform-issued token for short-lived credentials. A leaked fifteen-minute token is an incident that resolves itself.

Set expiry on what remains. Credentials that must be static should carry an expiry date that forces rotation. Rotation that depends on someone remembering does not happen.

Report on activity. An account unused for ninety days is a candidate for removal. An account whose usage pattern changes sharply is a candidate for investigation.

Reducing Permissions Safely

Service accounts are usually over-permissioned for the same reason human roles are — someone widened them during an incident and never narrowed them.

The advantage with service accounts is that their behaviour is far more predictable than a human’s. A pipeline does the same handful of operations every run, which means access logs over ninety days provide a nearly complete picture of what it needs.

Generating a policy from that record produces something tight and low-risk to apply, with the caveat that infrequent paths — quarterly jobs, disaster recovery — need explicit consideration.

The Bottom Line

Require a named owner and purpose for every service account at creation, replace static credentials with short-lived federated tokens wherever the platform supports it, expire what remains, and report on dormant accounts so removal becomes routine rather than risky.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button