Concepts / Identity and Access in Agent Systems

Identity and Access in Agent Systems

A shared service account can compromise the compliance posture for material non-public information because reads run under an identity that is not a person.

  • Programming

The Default That Looks Clean

When a team builds software that uses an AI agent, one design decision comes up early: which identity should the agent's calls run under? A single shared service account looks clean. It is one credential, one set of permissions, and one place to manage access. For many engineers it feels like the obvious default.

This article examines why that default can fail in a regulated setting. The core point is that identity is not just a setup detail. In a compliance context it is a requirement, because the record of who did what must be able to name a person.

What do you think happens?

An analyst asks an agent to summarize a restricted research note about a security. The agent reads the note from the data store. Which identity should the audit record name as responsible for that read?

  • The shared service account the agent runs under

  • The analyst who asked for the summary

  • The agent itself, as a software system

Reveal answer
Answer:

The analyst who asked for the summary, the human responsible for the read.

The source states that audit trails must tie read events to the human responsible. A service account is not a person, so an entry that names only the service account cannot answer who read the sensitive information.

The Rationale Behind the Shared Account

The belief that a shared service account is sufficient for compliance rests on a reasonable-sounding rationale: the agent is the system, not the user, so the agent's calls should carry the system's identity. This treats the agent as a neutral tool that acts on its own behalf.

Keep that rationale in mind, because the question is not whether the architecture is tidy or whether the agent is technically a system component. The question is what the audit record says afterward when someone asks who read a piece of sensitive information.

A useful way to see the problem is to compare two identities on the same read. In the first, the read runs under a shared service account that many people and many agent calls use. In the second, the read carries the credentials of the individual person who asked for the work. The data store is reached in both cases, and the note is returned in both cases. The difference lies only in what the record can say afterward.

Service accountOne identity for all agentcallsAnalyst credentialsThe individual who askedfor the workNot a personMany people share itA named personIdentity points at onehumanCannot name thereaderAudit record stops at theaccountTraceable readAudit record names theresponsible personbelongs toleads toidentifiesleads to
When an agent reads restricted data, the identity on the read determines whether an auditor can name the person behind it. Under a shared service account the record names a non-person; under a per-person identity it names the individual analyst.

Following a Read Through the Agent

Trace a single request step by step. An analyst asks the agent for a summary. The agent then reads the research note from the data store. The question to ask at each handoff is which identity travels with the request.

AnalystRequests the summaryAgentPerforms the readData storeHolds the research note1. Request summary of note2. Read note as service account (analyst identity dropped)3. Returns note4. Returns summary
Which parties touch the read, in what order, and at which step the human's identity is dropped so the data store only sees the service account.

Step 2 is where the identity is lost. The analyst's request reaches the agent with the analyst's intent attached, but the source describes the original design in which all of the agent's calls ran under one service-account identity. By the time the data store receives the read, it sees only the service account. Nothing in that read tells the store, or a later auditor, which analyst asked for it.

A Case That Failed Review

The source describes a global asset manager that deployed an investment-research summarization agent. The original architecture used a single service-account identity for all of the agent's calls. The customer's CISO rejected this design after a short review.

Her concern was specific. An analyst might use the agent to summarize a research note about a security for which that analyst held material non-public information. The read of that note would then be recorded, but the audit trail would not, in practice, tie the read to the analyst.

What Each Read Event Must Record

An audit trail is useful for compliance only when it answers a question about accountability. For a sensitive read, the question is which human was responsible for that read. Recording that a call occurred, or that an agent performed some work, does not answer that question.

Identity is what makes the tie possible, because the identity attached to an event is what the record later reveals. For the log to answer who accessed material non-public information and on whose behalf, each read event needs to carry enough information to name the resource, the actor that performed the read, the human responsible, and the time.

Evaluating an Architecture by Tracing Reads

When you evaluate an agent architecture, do not stop at asking whether access is authorized, or whether an event was logged. Check whether each sensitive read can be attributed to a human. Walk through every read path the agent uses, and for each one ask whether the record can name the person responsible.

  1. 1
    Identify every read of sensitive information the agent can perform.
  2. 2
    For each read, find the identity that the data store actually receives.
  3. 3
    Check whether that identity is a person or a shared non-person account.
  4. 4
    Check whether the record also names the human responsible for the read and the time.
  5. 5
    Mark any read that cannot be traced to a person as a failure of the architecture, even if it was authorized and logged.
MEDIUM

A log for a read of a restricted research note shows only the agent's shared service account, the resource, and a timestamp. Can this read be traced to a person? Explain your answer using the audit requirement, and say what the architecture would need to change.

Hints
  • Ask whether the record can name the human responsible, not only the actor.
  • The source says the identity attached to each read event must be able to name that person.
  • Think about whether the fix is a logging change, an identity change, or both.

Mistakes Teams Make With Agent Identity

  • Common mistake

    Treating the agent as the system, so its calls should carry only the system's identity

    Why it fails

    The source identifies this as the rationale behind the misconception. It answers a question about the architecture rather than the question the audit record must answer, which is who read the sensitive information.

    Do this instead

    Ask which person the read is on behalf of, and make that person's identity part of the read.

  • Common mistake

    Assuming that a log entry is enough for compliance

    Why it fails

    The CISO's concern was that a log entry existed but pointed at a service account, which is not a person.

    Do this instead

    Verify that the entry names the human responsible, not only that something was recorded.

  • Common mistake

    Assuming that authorized access means the read is compliant

    Why it fails

    The source's evaluation check is whether each sensitive read can be attributed to a human, not only whether access is authorized.

    Do this instead

    Test attribution separately from authorization for every sensitive read path.

  • Common mistake

    Choosing a shared account because it is one credential and one place to manage access

Key Takeaways

  • A shared service account can compromise the compliance posture for material non-public information because reads run under an identity that is not a person.
  • Audit trails must tie read events to the human responsible, so the identity attached to each event must be able to name that person.
  • A log entry that exists is not sufficient; the entry must allow an auditor to name the person behind the read.
  • When evaluating an architecture, check whether each sensitive read can be attributed to a human, not only whether access is authorized or an event was logged.