lgkm.org

Field notes · 21 October 2026 · Identity and access

Governing AI agents: keep the record, expire the access

In plain words: Give every AI helper a named person who answers for it, and keys that stop working as soon as each job is done. Identity and access, explained simply

In short

An agent's identity record (sponsor, purpose, route, risk tier, end date) lasts for the agent's life; each task gets a grant that expires in minutes or hours; each action writes a log line naming the agent, the person it acts for, the task and the grant
An agent's identity record (sponsor, purpose, route, risk tier, end date) lasts for the agent's life; each task gets a grant that expires in minutes or hours; each action writes a log line naming the agent, the person it acts for, the task and the grant

The record

I would give the record five fields, and refuse to create an agent without them:

The agent must outlive its sponsor's job. In Entra ID Governance, when a sponsor leaves, "sponsorship of the agent identities is automatically transferred to their manager". Whatever the tool, a leaver process that does not touch the agents a person sponsored will create orphans.

The access

Access should exist only while the agent is doing what its record says. Three mechanisms remove standing access:

Reviews by use, not by calendar

Asked quarterly whether an agent still needs an entitlement, the honest answer is usually "I can't tell". The CSA note recommends reviews that are "usage-based rather than calendar-based". My reading of what that means in practice is a review triggered by an event (a new tool, a jump in volume, a sponsor change, an approaching end date) with four pieces of evidence in front of the reviewer:

  1. The record: sponsor, purpose, route, tier, end date.
  2. What the agent holds, and which of it went unused in the period.
  3. What it did: actions grouped by task, with the people it acted for.
  4. Anything outside the purpose: a new system, data it had not touched before, an error spike.

Unused access goes without discussion, and the reviewer judges only what was used, which is what AC-6(7) asks: review privileges "to validate the need for such privileges".

Which agents are privileged

An agent is privileged if it can change other identities, change configuration or code that runs in production, move money or approve transactions, read or export bulk sensitive data, or start other agents with its own authority. That list is my reading, not a standard's. Those agents get what administrators get: just-in-time elevation, approval for the riskiest actions, and privileged functions logged (AC-6(9)). In CSA's survey, 74% of practitioners agree agents often receive more access than necessary; the note says it is AI-assisted and not formally reviewed, so I read its numbers as a direction.

Logs that trace back

SP 800-53's AU-3 asks every audit record to establish the identity of "any individuals, subjects, or objects/entities associated with the event". For an agent that means four identifiers on every action: the agent's record, the person it acted for, the task, and the grant it used. NIST's NCCoE concept paper (a draft for comment) asks to "link specific AI agent and software systems actions to the identity of the non-human entity".

Two examples

An insurer's claims agent. It drafts replies to claims correspondence for a handler to approve. Route: delegated, carrying the handler's authority and its own identity. Tier: standard, because it reads and drafts but cannot pay. Grant: read access to the claim in hand, for the run. Review: triggered when someone asks to let it send replies itself, which would also move it to privileged.

A hospital's or retailer's operations agent. It restarts failed services overnight with no person behind each action. Route: its own workload identity. Tier: privileged, because it changes production. Grant: just-in-time, for the affected service, approved automatically within its runbook and by a person outside it. Logs: each change names the agent, the alert that started it and the grant.

What breaks on the borrowed login

Put the claims agent on a handler's own session and all of this disappears. There is no record, so no sponsor and no end date, and when the handler leaves the agent stops without anyone knowing it existed. The review certifies the handler's access without knowing an agent uses it. The handler's just-in-time elevation becomes the agent's. Every log line names the handler. CSA reports that 31% of organisations let agents run under a human user's identity. That is the first thing I would change.

What to do on Monday

Sources

Follow with the feed

Personal work and my own view, not my employer's. Sources are public.