The SOC 2 auditor stops on a single line in your access export: a service account that touched the production database 4,000 times last quarter. Who owns it. What was it allowed to reach. Did anyone approve that. The room goes quiet, because the team built every control for the people who log in and almost none for the machine accounts that never do. SOC 2 for non-human identities is the work of making those silent accounts answer the same questions a human operator would.
Non-human identities are service accounts, CI runners, batch jobs, and increasingly autonomous agents. They authenticate with keys and tokens, they run without a person watching, and they often hold the broadest standing access in the environment. Under SOC 2 they are in scope for the same trust services criteria as any user, and the auditor will ask about them the same way.
The questions an auditor asks about machine access
A SOC 2 access review of non-human identities tends to reduce to four questions, and they map cleanly onto the common criteria for logical access:
- Who is this identity? CC6.1 expects access tied to a defined identity. A shared key that three jobs reuse fails this before anything else, because the auditor cannot attribute an action to an owner.
- What can it reach, and is that the least it needs? The grant should name the specific database, cluster, or host, not a wildcard the account inherited and nobody trimmed.
- Who approved higher-risk access, and when did it end? CC6.2 and CC6.3 expect provisioning and de-provisioning to be authorized and bounded. "It has had that access since 2022" is the answer that produces a finding.
- What did it actually do? The monitoring criteria expect an activity record that is complete and outside the identity's own reach.
Most environments can answer the first two on a good day and stumble on the last two, because the only record of what a service account did lives in logs the account's own host can rotate.
Why the evidence has to live outside the identity
Here is the architectural point that decides whether you generate evidence for SOC 2 or only generate hope. The record that answers "who, what, approved by whom, and what happened" has to be produced and stored by something the non-human identity does not control. If a service account writes its own access log, that log is a claim, not evidence, and a skeptical auditor treats it as such. The control has to sit at the access boundary, between the identity and the infrastructure it reaches, where the identity cannot reconfigure it.
