Why AI agents expose excessive permissions
IT and security teams ran access through the ticket queue long before the first agent, and they kept it working with care. Still, most people held more than their work needed, for two reasons. A person was responsible for a wide range of tasks, so restricting their access to exactly those tasks was hard, and a role granted whole was the practical answer. And the access policies were designed far from where the work happened, by a central team without insight into what a day’s work in sales or legal touched. So they erred on the side of not getting in the way.
Privilege creep was always a risk, but with a ticket per target system and a quarterly review at best, teams had no better option than to carry it as residual risk. The export role in HubSpot sat unused, and the shared drive of the old team was never opened again. Then a support team added an agent to accelerate reply drafting in Zendesk. The agent worked in seconds, but its request for read access to customer records waited days behind other tickets. So the next team ran its agent on a person’s login, and a prompt injection in one customer email acted with everything that login reached, the clutter included. Nobody had measured that blast radius. Agents also multiply the identities and the changes to them, and every one of those changes still waits in the same queue.
Accession1 is self-service provisioning of resources and access for people and AI agents. Each agent gets an identity and an owner, and Accession1 grants it the roles its place calls for, below its owner’s, and revokes them when the reason ends.
AI agents versus service accounts and people
An agent works by trial and error and can exercise a permission a person would never have used in the same situation, so the practices that kept excessive permissions within risk tolerance can’t continue once agents hold access. The service accounts and pipelines teams already manage were usually restricted to one specific, small task, and the task was static. So least privilege was easier to design for them. The access could be pinned to the job and left alone. An agent is a non-human identity (NHI) that is asked to handle a wide range of tasks. Like a person’s, its permission requirements are hard to predict, so it can’t be pinned down the way a service account can. But it can’t be given the broad access that kept people productive either, because it doesn’t get the same trust. So the entitlements a reviewer found hardest to judge, the broad access of people, now belong to identities that can act on them. An access review in April finds that out a quarter after the agent went live.
Most agents today run under a person’s identity: their login, a personal access token, or an OAuth grant. So the agent holds exactly that person’s permissions, everything the after-the-fact audit never trimmed, but unlike the person it can end up exercising them. An agent that does get an identity of its own usually takes the next shortest path. It is added to the groups of the people it works for, or shared into the drive the way the team was, and it inherits the same. A person asked to delete the production database asks why. An agent asks the language model.
The only access that fits an agent is the specific access its owner’s work calls for, and getting there takes a new approach rather than more care with the old one. In Accession1 access is designed where the real requirements are best known, in the workspace, through self-service provisioning. The AI assistant brings the context and the practice of least privilege to the people doing it, because they can’t be expected to be IAM experts. And because reconciling and applying the grants is automated and deterministic, fine-grained access built for one purpose is no longer too much work to maintain, for a team of five or a company of thousands.
AI agent identity and its owner
In Accession1 an agent is a non-human identity with a lifecycle of its own, handled the same way as a person’s. A workspace member or an administrator adds it in self-service at one of three levels, with an owner there: the tenant, owned by its administrators, a workspace, owned by its members, or one person. Accession1 creates its agent identity in your identity provider’s native feature, such as Microsoft Entra Agent ID, and records the owner, so no agent works under a person’s login or a shared token. Its baseline follows from where it sits, who added it, and what it is for, inside boundaries administrators drew through context-aware design, and it stays below what its owner holds.
A coding agent working for an engineer gets that engineer’s GitHub repositories one level down, read-only where the engineer writes. When a change needs write access, the agent requests just-in-time (JIT) elevation from the engineer, and the grant expires with the change. When the owner moves on, because the engineer leaves or the workspace is dissolved, the agent’s access ends with them.
An invoice agent in the finance workspace enters bills and holds no role that approves a payment, because the two roles come from separate rules. In a regulated sector that separation of duties (SoD) can be the line between an incident and a reportable breach, so an agent’s roles are designed on the same context as the rules for people.
When a task needs a new resource, the agent provisions it and the access to it in one flow, through IT self-service. Nothing the agent creates reaches past the rules your administrators set.
Agentic AI security starts before runtime
An AI agent answering the access queue applies the same static grant a person would, only sooner, and the grant stays in place after the pilot ends. A usage report fails the other way. It is how identity security posture management (ISPM) tools arrive at least privilege, but a new agent has used nothing to derive access from, and the borrowed token it did use looks justified. The tools built to secure agents at runtime, which monitor, enforce, and alert, discover an agent’s effective access from the calls they see, after the token was handed over. They don’t provision the agent’s access, so they can only infer what its permissions should be from what it already did. In Accession1 your team designs the graph before the agent is added, and the graph is the desired state for its access. So configuration drift is corrected on the next change instead of accumulating until those tools detect it.
The change is the trigger. An agent added, moved, or retired, its owner moving on, or a resource relabeled sets off continuous reconciliation, which grants and revokes in every target system.
The three ways to decide access compare the request, the usage report, and the change. The same graph also answers the offer of one more tool per agent risk, each configured in its own console. Agents get access from it the way people do, and an MCP gateway that checks each call within those permissions is a layer below it.
Approve AI agents without a review per system
Whoever helps teams add agents to accelerate their tasks meets the queue first. An AI enablement lead gets a contract review agent working in a sandbox in a week, and moving it onto the legal team’s Google Drive takes a quarter of careful security reviews, one system at a time. With Accession1, IT and security approve one graph once instead of one request per agent per system, and continuous reconciliation keeps the record of what each agent holds current. The same graph covers the rest of the agentic organization, from joiners, movers, and leavers to access reviews. The next team that asks for an agent to speed up a task gets it the same week. Security gets the rule that decides what it reaches and the owner who answers for it, and the next audit reads that rule instead of a token nobody can attribute.