SecurityIdentity

Who owns your AI agents? How to find them, give each one a sponsor and stop their access creeping

Ask who answers for each AI agent you run and what it can reach today. If nobody knows, start here. We work through sponsors, unregistered agents, agent-to-agent tokens and drift, then map the risks, the tools for each step and the KPIs worth tracking.

Aditya, Cohash Security Practice October 2026 updated October 2026 35 min read 14 chapters 3-question check
part 5 of 6 · Identity security, from the ground up
01 Agentfound by discovery 02 Sponsornamed business owner 03 Scopedtoken per hop, with… 04 Driftcheck daily diff 05 Identitygraph owner to…

the ideaNobody signs for it, so nobody checks what it can reach.

after reading, you can
  • Explain why every agent needs a business sponsor, and what goes wrong the week that sponsor quits
  • Set up discovery that runs on a schedule, delegated tokens per agent and a daily diff that catches access creeping up
  • Catch tokens being forwarded from one agent to the next, and fix it so each hop gets its own token and your logs make sense again

AI agents now open tickets, read mailboxes, call each other and change records in production, and in most companies nobody can say who answers for each one. Before you add more agents, give every one a named business owner, find the ones nobody registered and put their permissions under continuous watch. This guide covers the six gaps we look for first, from ownership to the identity graphdefinitionA single map of who owns which agent, what each one runs as and what it can reach. Without it you're stitching exports together by hand..

in plain wordsPractice: governance for AI agents

Somewhere in your company an AI agent is running that nobody owns, and nobody would notice it misbehave

An AI agent is software that takes a goal and works toward it on its own. It reads data, picks tools and acts on systems, sometimes for a person and sometimes for itself. Each one signs in with something: a token, a key, a service account, or an agent identity from your identity provider. Governance means you can answer four plain questions about every agent. Who's accountable for it? Where is it running? What can it reach today? Who or what is it acting for right now? Most identity programs can answer those for employees. Very few can answer them for agents yet.

think of it like this

Think of a building that hands out door badges. Staff badges get checked every quarter and switched off when someone leaves. Now the building starts printing badges for robots that come and go all day, some lasting an hour. If nobody signs for each robot, nobody notices when one starts opening doors it never needed.

who should care
  • CIOs and CISOs approving agent rollouts
  • Identity and IGA teams
  • Platform teams running MCP or A2A
  • Business owners who build agents
  • Auditors and risk teams

If you haven't set up per-agent identities yet, start with giving each agent its own login and capping what it can do. The governance below assumes each agent already has an identity you can point to.

chapter 01

Why does agent governance matter to you?

Agent trouble rarely starts with a dramatic breach. Usually it's slow drift. Someone in finance builds an agent in a low-code tool and gives it a connector to the ERP. Then the builder moves teams. A year later it's still running and nobody's watching. When an auditor asks who approved its access, people shrug.

The standards bodies have noticed. OWASP now keeps a separate top 10 for agentic applications, and identity and privilege abuse sits third on it. NIST's National Cybersecurity Center of Excellence put out a concept paper asking how agents should be identified, authorized and audited. Neither tells you to stop building agents. Both expect you to know which ones you have and what they can do.

10risks in OWASP's agentic top 10, with identity and privilege abuse at ASI03
10risks in OWASP's Non-Human Identities Top 10, led by improper offboarding
1+sponsor Microsoft Entra requires on every agent identity and blueprint
Apr 2, 2026when comments closed on NIST's NCCoE concept paper on agent identity
how it worksHow an agent ends up with nobody watching itEach step looks harmless when it happens. Put together, they leave an agent with real access and nobody to answer for it.
  1. 01 Someone builds an agent

    Someone in a business team or in IT builds it in a low-code tool, a cloud console or a plain script. They hand it a token or a service account so it can do its job.

  2. 02 It never gets registered

    Nobody adds it to the identity provider's inventory or names a business owner. It exists only in the tool where it was built.

  3. 03 Its reach grows

    New tools, new connectors and wider scopes get added when someone asks for them. Each change is small, and none goes through an access review.

  4. 04 It talks to other agents

    Before long it's calling other agents and handing them tokens or context. Ask whose authority a given call carries and nobody can tell you.

  5. 05 The builder leaves

    The person who made it changes teams or leaves the company. The agent keeps running, and nothing in the leaver process touches it.

For engineers, the hard part is that every step uses a legitimate feature. Dynamic tool lists, step-up scopes and agent-to-agent calls are all in the specs. Governance has to watch how those features get used over time, because nothing in the protocol will stop an agent from collecting access.

What's out there to help

newOWASP Top 10 for Agentic Applications

OWASP's GenAI Security Project wrote a top 10 just for agents. Third on it, ASI03, is identity and privilege abuse. ASI07 covers insecure communication between agents, and ASI10 is rogue agents. It's a good list to hand an architect who thinks agents are just apps.

changedMCP authorization, 2026-07-28 revision

The 2025-11-25 revision already pointed clients at Client ID Metadata Documents, and this one formally deprecates Dynamic Client Registration. Audience checks and the ban on forwarding a client's token upstream go back to 2025-06-18. If your MCP server still forwards tokens, it's well behind the spec.

enhancedOAuth Transaction Tokens, draft 11

A draft from the OAuth working group. It keeps the user and the workload attached to every call as a request moves between services in one trust domain. The group has reached consensus and is waiting on the write-up.

newIdentity Assertion Authorization Grant

An OAuth working group draft, informally called Cross-App Access (XAA). An app uses an identity assertion from the company's SSO provider to get a token for another app's API, built on Token Exchange.

newMicrosoft Entra Agent ID

Microsoft's release notes list it as generally available. An agent identity needs a sponsor before it can be created, and owners and a manager are optional. The extended Conditional Access controls for agents' user accounts are still in public preview, so don't build on those yet.

newOkta for AI Agents

Okta's help center lays it out as find, register, connect, govern. Okta gave April 30, 2026 as the GA date, and Agent SSO for Cross App Access is GA already. Check your own org before you plan around it.

newSailPoint Agent Identity Security

SailPoint's docs pull agents in from connected sources and let you give each one several owners with a succession plan. There's a report called Identities Overpermissioned by Agents, and certifications can cover agents.

chapter 02

Who owns your AI agents?

Start here, because everything else depends on it. An access review needs a reviewer, a leaver process needs someone to hand over to, and an incident needs someone who can say whether the agent's behavior was expected. If an agent has no accountable human, every one of those processes quietly skips it.

We like Microsoft's split even for teams that don't run Entra. Owners are the technical admins, and they look after credentials and configuration. Sponsors are business people who answer for the agent's purpose. Entra requires one when an agent identity or blueprint is created. If a user creates it and names nobody, Entra makes that user the sponsordefinitionWhoever in the business answers for an agent. If it misbehaves, they're the one you call, and they decide whether it keeps running. Technical settings stay with the owner.. Managers sit in the org chart and can ask for access on an agent's behalf.

tableWho does what for an agent. We borrowed Microsoft Entra's names because they split the jobs cleanly
RoleWho it usually isWhat they can doRequired?
OwnerDeveloper or IT admin who runs the agentChange settings, manage credentials, add owners and sponsors, re-enable or restoreOptional in Entra. We'd still name one
SponsorBusiness owner, product manager or team leadDecide renewal or removal, request access, disable or soft-delete. No technical admin rightsRequired on create for agent identities and blueprints
ManagerThe person the agent reports to in the org chartRequest access packages for the agent's user accountOptional

The detail that matters most is succession. A sponsor who leaves is the classic orphaning moment. Entra's Lifecycle Workflows can move sponsorship to the leaving sponsor's manager automatically once you set up the sponsor tasks, and SailPoint's agent docs describe an automated succession plan for agent owners. Whatever platform you use, test the leaver path with a real agent before you trust it.

Watch the defaults too. In Copilot Studio, Microsoft records whoever created the agent as its sponsor. That's a reasonable start for a prototype. For an agent that a whole department relies on, the sponsor should be someone who can actually decide whether it's still needed, so change it when the agent goes into real use.

chapter 03

Are AI agents your new shadow IT?

Usually, yes. Shadow IT used to mean a team buying a SaaS app with a credit card. Agents are easier to start than that. Anyone with a low-code license, a cloud console or an API key can make one, and it runs under whatever credential they gave it. The identity team only sees it if it signs in through a path they already monitor.

Even one vendor's own tools can disagree about what exists. Microsoft says the Entra admin center shows agents that have an Entra agent identity, while the full inventory, including agents without one, lives in the Agent 365 registry in the Microsoft 365 admin center. Its docs also warn that some agent identity blueprints created earlier may not appear in that registry until someone registers them. If you count agents from one console, check it against the other.

Discovery has to look in more than one place. Okta's agent product starts with discovering agents in managed and unmanaged apps, including agents employees connect to company apps. SailPoint aggregates agents from connected sources and correlates the machine accounts they use. Pick the sources that match where your agents actually get built, then run discovery on a schedule. A one-off sweep goes stale the week after.

  • Identity provider logs: sign-ins and token grants from app registrations, service principals and OAuth clients nobody can name
  • Agent platforms. Low-code studios, cloud agent services and model gateways each keep their own list, and they rarely match
  • Secrets and vaults. Look for API keys and tokens issued to automation that nobody ever tied to an owner
  • MCP servers and gateways. Their logs show who connects and what they call, which is often the first sign of an agent nobody listed
  • Cloud bills and egress: model API spend on cost centers that never asked for an agent

When you find one nobody claims, treat it the way you'd treat an orphaned service account. Look at what it calls, ask the teams whose systems it touches, and if nobody steps up, disable it in a change window and see who complains. Don't delete it on day one. You'll want its logs if it turns out to matter.

chapter 04

Why don't the IAM and IGA tools you already run cover agents?

IGA was built around people who join, move and leave on HR dates, and around applications that stay put for years. Quarterly certifications work when access changes slowly. Agents break both assumptions. Microsoft's own docs say an agent might exist for minutes, or be created and destroyed thousands of times a day in an automated workflow.

There's a second gap. An agent either works on its own grants or, when it acts for a person, on the rights that person delegated to it. A quarterly review of the agent's entitlements alone misses half of it. You need to know who it was acting for, at the moment it acted.

tableEach row is a control you already run for people and servers. The last column is where it breaks for agents
ControlEmployeesClassic workloadsAI agents
Lifecycle triggerHR joiner, mover and leaver datesChange tickets and deploymentsA prompt, a workflow run or a user in a low-code tool. Sometimes minutes long
Accountable humanThe person and their managerApplication owner in the CMDBOften unclear. Needs a named sponsor
PermissionsRoles from an access requestFixed scopes set at deploy timeIts own grants, or rights a user delegated to it, plus step-up scopes at runtime
Tools it can callApps it's licensed forCode paths fixed in a releaseA tool list that can change while it runs
Review cadenceQuarterly or annual certificationAnnual, if at allContinuous checks on new grants, plus periodic sponsor review
AuthenticationPassword, MFA, passkeysSecrets, certificates, workload identityWorkload credentials or agent identities. Never human MFA
side by sideOne agent, two ways to watch it. On the left nobody looks for months; on the right a change gets noticed the day it happens
Static reviews
  • The agent shows up once a quarter as one line in a campaign, and it's easy to approve without a second look
  • Someone gets a list of the agent's entitlements and no idea whose work it was doing, so they guess and approve
  • Scopes it picked up in week two sit there unnoticed until the next campaign, months later
  • Revocation waits for the reviewer to click reject
Continuous governance
  • Nobody gets a credential for an agent until a sponsor has signed for it
  • When the agent picks up access, the log says who it was working for. Six months later you can still answer the auditor
  • The day a new scope or tool appears, the sponsor hears about it and decides whether it stays
  • One kill switch pulls its sessions and tokens everywhere. Nobody has to log in to five consoles

None of this throws IGA away. Certification campaigns still matter for the standing grants on agent templates and blueprints, and for the humans who can call agents. SailPoint, for instance, describes campaigns where certifiers review human access to agents and the tools agents can reach. The change is adding a continuous layer underneath for everything that moves faster than a quarter.

chapter 05

How should one agent prove who it is to another?

Once agents call agents, zero trust gets harder. NIST's zero trust architecture says no implicit trust comes from network location alone, and authentication and authorization happen before each session. That's easy to state for a user hitting an app. It's much harder for a planner agent that hands a task to a research agent, which calls a tool through an MCP server, which calls a SaaS API.

The protocols help, but only partly. A2A is at version 1.0.0 and treats an agent like any other enterprise app. You publish an Agent Card at /.well-known/agent-card.json saying how callers sign in, and they get credentials out of band. Your server checks each request against its own policies. A2A also warns that hitting the auth-required state doesn't grant anything by itself, which is easy to get wrong in a quick build.

MCP covers the agent-to-tool hop. Its authorization spec makes the MCP server an OAuth resource server, requires the client to name the target server in a resource parameter, and requires the server to check that each token was issued for it. The server must not pass a client's token on to an upstream API. It gets its own token for that hop, and the confused deputy problem is the reason why.

What's usually missing is identity that survives the whole chain. OAuth Token ExchangedefinitionOAuth's way (RFC 8693) to swap one token for another. Under delegation the new token names both the user and the agent acting for them. (RFC 8693) lets an agent swap the token it got for a new one under delegation. The agent keeps its own identity, and the act claim names it. Nested act claims keep a record of earlier callers, so the service at the end can see the research agent working for the planner, which works for a buyer in procurement. Those earlier callers are there for the audit trail. RFC 8693 says not to use them in access decisions, so authorize on the current actor. Inside one trust domain, the Transaction Tokens draft goes a step further and carries the user, the workload and the authorization context down the call chain.

delegated-token-claims (example output)example output
sub:   user:buyer-114@procurement
aud:   https://mcp.example.com/erp
scope: po:read
act:   { sub: agent:research-7 }
         act: { sub: agent:planner-2 }

For the agent's own credential, workload identity is the safer base. SPIFFE gives each workload an ID in the form spiffe://trust-domain/path and issues short-lived X.509 or JWT documents through its Workload API, rotated automatically. SPIFFE prefers the X.509 form, since JWTs can be replayed. Agents running as workloads can use the same plumbing your services do, so nobody pastes long-lived API keys into a config file.

The OpenID Foundation's paper on agent identity is honest about the gap. Today's frameworks give a solid foundation for agents that stay inside one organization, and they weren't designed for recursive chains of agents spawning sub-agents. A commenter on Hacker News put the practical side bluntly: most of it can be solved by composing existing standards, but in practice almost nobody does. On Okta's developer forum, a team running only an MCP gateway with no user interface asked how Cross App Access works when there's nowhere for a user to sign in. Plan for those headless cases early.

chapter 06

Your agent has more access today than the day it went live. Who noticed, and when?

Agents rarely edit their own role assignments. They don't need to. The specs let access grow at runtime in quieter ways, and each one is legitimate on its own. Governance means watching for the pattern.

Three ways an agent's reach changes after go-live

changedStep-up scopes

Ask for something the token doesn't cover and the MCP server should reply 403 insufficient_scope. The client re-asks with old and new scopes combined. That's fine once. Over a few months it's how a read-only agent ends up with write access, so log each step-up.

changedA tool list that moves

An MCP server's tool list can change while you're using it, and the server can tell clients when it does. So a new tool can turn up on a server you already trust, and nobody files an access request for it.

changedPolicy and credential drift

Someone widens a Conditional Access exclusion, adds a scope to a blueprint or swaps a short-lived credential for a static key during a late-night fix. Nothing about the agent looks different afterwards.

MCP's own security guidance lists the mistakes to look for: publishing every possible scope, wildcard scopes like full-access, bundling unrelated privileges to avoid future prompts, and silent changes to what a scope means without versioning. Those are exactly the things a drift check should flag. The same guidance says servers should log elevation events with the scope requested, the subset granted and a correlation ID.

OWASP's excessive agency entry blames too much functionality, permission or autonomy. One of its key mitigations is complete mediation. The downstream system checks every action, and the model never gets to decide whether something is allowed. NIST's concept paper is still asking whether authorization policies can update when an agent's context changes, for instance when it picks up new tools. Nobody has a settled answer, so plan for it yourself.

In practice, drift detection is a diff. Take a baseline of each agent's scopes, tools, credentials and policy assignments. Compare it daily against what the identity provider, the MCP gateway and the vault report. Anything new either has an approval behind it or goes to the sponsor. MCP also says clients must treat tool annotations as untrusted unless they come from trusted servers, so read what a new tool does before you believe its label.

chapter 07

Where's the identity graph for agents, bots and NHIs?

Ask most companies to show every path from one agent to their customer database and you'll get four exports and a spreadsheet. The agent lives in an agent platform, its credential in a vault, its workload in a cloud account, its delegated user in the identity provider, and its tools behind an MCP gateway. Each console is right about its own piece.

A graph joins those pieces. Nodes are humans, agents, NHIs, credentials, workloads, tools and resources. Edges say owns, sponsors, runs as, acts for, holds, can call and can reach. NIST's concept paper names NGAC (Next Generation Access Control), an attribute-based standard that models policy as a graph of users, objects, attributes and policy classes, as one option it's considering. You don't need NGAC to start. You need the edges in one place so you can ask a question across them.

before

Before: every console sees one slice of the agent

The agent platform, vault, cloud and identity provider each hold part of the picture. Nobody can trace an agent to the data it reaches without stitching exports by hand, and orphaned keys go unseen.

Before: every console sees one slice of the agent The agent platform, vault, cloud and identity provider each hold part of the picture. Nobody can trace an agent to the data it reaches without stitching exports by hand, and orphaned keys go unseen. 01 · BUILT IN 02 · SIGNS IN WITH 03 · REACHES connector hardcoded broad role full scope token passed on Low-code agent studio agents listed here only Script on a VM unregistered Static API key in a config file Shared service account no owner CRM ERP finance data Another team's agent © Cohash · cohash.com
01 · BUILT IN02 · SIGNS IN WITH03 · REACHES Low-code agent studio: agents listed here only Low-code agentstudio agents listed hereonly Script on a VM: unregistered Script on a VM unregistered Static API key: in a config file Static API key in a config file Shared service account: no owner Shared serviceaccount no owner CRM CRM ERP: finance data ERP finance data Another team's agent Anotherteam's agent connector hardcoded broad role full scope token passed on © Cohash · cohash.com
after

After: one map from sponsor to data

Discovery fills one inventory. Each agent there has a sponsor, a short-lived credential and tokens that say who it's working for. The gateway logs its tool calls, so you can answer an auditor with one query instead of four exports.

After: one map from sponsor to data Discovery fills one inventory. Each agent there has a sponsor, a short-lived credential and tokens that say who it's working for. The gateway logs its tool calls, so you can answer an auditor with one query instead of four exports. 01 · ACCOUNTABILITY 02 · IDENTITY 03 · ACCESS PATH 04 · WATCH sponsors lists runs as token per hop can reach events inventory Business sponsor approves and reviews Agent registry fed by discovery Agent identity from a reviewed template Short-lived credential workload identity MCP or A2A gateway audience checks, logs ERP scoped, delegated Identity graph owner to resource © Cohash · cohash.com
01 · ACCOUNTABILITY02 · IDENTITY03 · ACCESS PATH04 · WATCH Business sponsor: approves and reviews Businesssponsor approves andreviews Agent registry: fed by discovery Agent registry fed by discovery Agent identity: from a reviewed template Agent identity from a reviewedtemplate Short-lived credential: workload identity Short-livedcredential workload identity MCP or A2A gateway: audience checks, logs MCP or A2Agateway audience checks,logs ERP: scoped, delegated ERP scoped, delegated Identity graph: owner to resource Identity graph owner to resource sponsors lists token per hop events inventory © Cohash · cohash.com

Some vendors are starting to put pieces of this graph inside their own products. SailPoint's agent report lists identities that are overpermissioned by agents, and Okta's agent product covers access reviews and ownership for agents as resources. Those help inside each tool. If your agents span several platforms, you'll still need a layer that reads from all of them.

  • Which agents can reach payment or customer data? Who signs for each one, and do those people know they're on the hook?
  • Which agents run on a credential that nobody owns, or on a key older than your rotation policy?
  • Which people can start an agent that has more access than they do? If someone can, they can borrow privilege they were never given
  • Which agents call other agents? On each hop, check the token was issued for the one receiving it. If it was just passed along, you've found a forwarding problem.
  • If a sponsor resigned today, which agents would be left with nobody to answer for them, and who'd find out?

Standards and platform dates to plan around

  1. Aug 2020
    NIST SP 800-207 zero trust architecture
  2. Oct 7, 2025
    OpenID Foundation agent identity paper

    Says today's frameworks weren't built for agents spawning agents. That's where most of the open problems sit.

  3. Dec 9, 2025
    OWASP Top 10 for Agentic Applications
  4. Feb 5, 2026
    NIST NCCoE agent identity concept paper

    Comments closed April 2, 2026.

  5. Apr 2026
    Microsoft Entra Agent ID platform GA
  6. Apr 30, 2026
    Okta for AI Agents GA date Okta announced
  7. May 21, 2026
    Identity Assertion Authorization Grant draft 04
  8. Jul 28, 2026
    MCP specification revision

    Dynamic Client Registration formally deprecated.

  9. Jul 30, 2026
    OAuth Transaction Tokens draft 11
chapter 08

Which risks hit first, and where do the controls you already run fall short?

Most of these risks already have a name. OWASP has written them up across three separate top 10 lists, and NIST's AI RMF asks for an inventory, named accountability and a working way to switch a system off. The table lines each risk up with the control most teams lean on today, then shows where that control stops working for agents.

tableMost of these risks have a name already. The last column is where the control you run today stops helping
RiskWhere it's namedWhat teams usually rely onWhere it falls short for agents
Orphaned agentsOWASP NHI1 Improper Offboarding; NIST AI RMF GOVERN 1.7The HR leaver processAgents have no HR date. Unless someone set up sponsor succession, the agent keeps running after its builder leaves
Agents nobody registeredNIST AI RMF GOVERN 1.6 (AI system inventory)The identity provider's app list or the CMDBEach console lists what was registered there. Entra's admin center shows agents with an Agent ID; the full inventory is in Agent 365
Too much accessOWASP LLM06 Excessive Agency; NHI5 Overprivileged NHIRole design at deploy timeStep-up scopes and tool lists can change after go-live, so the deploy-time review goes stale
Long-lived keysOWASP NHI7 Long-Lived Secrets; NHI2 Secret LeakageVault rotation for some secretsMicrosoft says Conditional Access doesn't apply when an agent uses an API key, so a static key skips the policy layer
Privilege abuse through delegationOWASP ASI03 Identity and Privilege AbuseAuthorization inside each appWithout its own identity an agent works in what OWASP calls an attribution gap. In Entra on-behalf-of flows, risky activity is attributed to the user
Spoofed agent-to-agent callsOWASP ASI07 Insecure Inter-Agent CommunicationNetwork trust inside a zoneA2A leaves getting credentials to an out-of-band process, and signing the Agent Card is optional
Shared or borrowed identitiesOWASP NHI9 NHI Reuse; NHI10 Human Use of NHIOne service account per applicationWhen several agents, or a person, use one identity, the logs can't tell you who did what
Rogue agents and cascadesOWASP ASI10 Rogue Agents; ASI08 Cascading Failures; NIST AI RMF MANAGE 2.4A manual incident runbookNIST asks for a way to deactivate a system and named people to use it. For agents that means one switch that works in every app
chapter 09

What should each team do now?

What to do now, by who you are

Business leadersthis month
  • Ask for a list of the AI agents your team relies on, with a person's name next to each one. Blanks are your first problem.
  • Agree that no agent goes live without a named business sponsor, and that sponsors review their agents on a set schedule.
  • Pick the actions an agent must never take without a person signing off. Payments and vendor bank detail changes belong on that list.
Identity and IGA teamthis quarter
  • Turn on agent identities in your identity provider. When a user creates an agent and names nobody, Entra makes that user the sponsor, so make choosing a real business sponsor part of your approval step.
  • Test the leaver path: move a sponsor out and check that sponsorship actually transfers.
Platform and app teamsthis quarter
  • Put MCP servers behind audience checks and stop any token passthrough to upstream APIs.
  • Use token exchange with actor claims for agent-to-agent hops, so your logs show the full chain. Authorize on the current actor only.
  • Move agent credentials to workload identity or short-lived tokens, and retire static keys in config files.
Security operationsongoing
  • Alert when any agent picks up a new scope, tool or policy exclusion. Send it to the sponsor, who knows if it's expected.
  • Keep a tested kill switch that revokes an agent's sessions and tokens across apps.
  • Hunt for tokens and keys that automation still uses but no registered agent claims. Those are usually the forgotten ones.
chapter 10

How do you build an agent governance program?

We'd build it in this order. Each step gives you something an auditor can check, and each one makes the next step cheaper. Don't try to buy the whole thing at once. Most of the early work is lists, owners and logs you mostly already have.

A practical agent governance program, in order

  1. 01
    Name an owner and a sponsor for every agent

    Write the rule first: no sponsor, no credential. Record the technical owner, the business sponsor and a review date for each agent. Fix the low-code default where the builder becomes sponsor once an agent goes into real use.

  2. 02
    Run discovery on a schedule

    Pull agents from your agent platforms, identity provider logs, vaults and MCP gateways. Compare the lists. Anything with no sponsor goes to an owner hunt, then a disable in a change window if nobody claims it.

  3. 03
    Issue scoped, delegated credentials

    Give each agent its own identity, built from a template someone has reviewed, and hand out tokens that expire quickly. When it works for a person, use token exchange so the token names both of them. Then set your authorization server so the agent can't get more than that person could do by hand.

  4. 04
    Authenticate every agent-to-agent hop

    Publish what each agent accepts in its A2A Agent Card and sign the card. Check token audience at every MCP server. Mint a new token for each hop instead of forwarding the one you received.

  5. 05
    Watch for drift every day

    Baseline each agent's scopes, tools, credentials and policy assignments. Diff it daily against the identity provider, the gateway and the vault. Every change either has an approval or goes to the sponsor.

  6. 06
    Join it all in an identity graph

    Load owners, agents, NHIs, credentials, workloads, tools and resources into one model. Start with the five questions above. Once you can answer them in one query, add them to your quarterly risk report.

chapter 11

Which tools help at each step?

Analysts group these products into categories, and the names come in handy when you're writing a budget line. Gartner's term for the AI side is AI TRiSM, short for AI trust, risk and security management. It covers keeping AI systems trustworthy and compliant through ongoing monitoring and enforcement, and the identity tools you'd use for agents sit underneath it.

We don't rank vendors. Each category below maps to a step of the six-step program, and the examples are listed alphabetically. A capability only made it into the tables if the vendor's own documentation describes it, and we kept the vendor's status label where it has one.

tableWe sorted tools by the step they help with. Inside each row the examples run A to Z, so read nothing into the order
Program stepTool categoryWhat it adds for agentsExamples (A to Z)
1. Owners and sponsorsAccess management (agent identity in the identity provider)A sponsor or owner field (required in Entra, optional in Okta). An Entra Lifecycle Workflows leaver task can move sponsorship to the manager, once configured and licensedMicrosoft Entra Agent ID; Okta for AI Agents
2. DiscoveryIdentity security posture management (ISPM) and NHI discoveryScans that turn up agents and OAuth grants nobody registeredCyberArk Secure AI Agents; Okta ISPM; SailPoint Agentic Fabric
3. Scoped, delegated credentialsPrivileged access and secrets management (PAM)Dynamic secrets with leases, short-lived tokens and on-behalf-of flowsCyberArk Secure Workload Access; HashiCorp Vault
4. Agent-to-agent hopsAuthorization servers and agent gateways in access managementToken exchange per hop, MCP resource connections and policy checked before a token is issuedCyberArk Identity Broker; Microsoft Entra Conditional Access; Okta Cross App Access
5. Daily drift checksIdentity threat detection and response (ITDR), ISPM and cloud entitlement management (CIEM)Risky-agent detections, privileged-grant findings and unused-access findingsAWS IAM Access Analyzer; Microsoft Entra ID Protection; Okta ISPM
6. Identity graph and reviewsIdentity governance and administration (IGA)Certification campaigns, owner reports and agent-to-access viewsOkta Identity Governance; SailPoint Agent Identity Security
tableWe read each vendor's docs for this. Where they say nothing, the cell says not documented, and the order is A to Z
Product (category)Agent discoveryOwner or sponsorAccess reviewsDrift or posture alerts
Microsoft Entra Agent ID (access management)Yes, for agents with an Agent ID. The full inventory is in Agent 365Yes. At least one sponsor required; owners optionalNot documented as an agent feature. Microsoft's best-practice guide says to include agents in reviewsYes. Risky agents in ID Protection; all detections are offline for now
Okta for AI Agents (access management)Yes, through ISPM. CrowdStrike endpoint agents and MCP servers are early accessYes. Optional, up to five ownersYes. Okta Identity Governance certifies agent resource connectionsYes. ISPM flags agents holding privileged OAuth scopes
SailPoint Agent Identity Security (IGA)Yes. Aggregates agents from sources; Agentic Fabric adds endpoint and browser agentsYes. Several owners, with successors if the primary owner goes inactiveYes. Certification campaignsReports, such as Identities Overpermissioned by Agents. Alerting not documented
CyberArk Secure AI Agents (PAM and secrets)Yes. Raises an unmanaged AI agent risk for agents it finds that aren't registeredYes. The owner field is informational and grants nothingNot documented for agentsUnmanaged-agent risk documented. Activity insights are early access
HashiCorp Vault Enterprise 2.1+ (PAM and secrets)Not documented. Agents are enrolled in a registryYes. Optional owner field in the agent registryNot documentedNot documented
tableCredentials, token checks and log export. Same rule as above: if the vendor's docs don't say it, neither do we
ProductShort-lived or delegated credentialsOAuth, MCP and A2A token controlsLog export
Microsoft Entra Agent IDYes. On-behalf-of and client credentials through federated identity credentials; managed identities preferredYes. Conditional Access is evaluated before a token is issued, MCP servers included. API-key access skips itYes. Sign-in and audit logs through diagnostic settings to Log Analytics, an event hub or storage
Okta for AI AgentsYes. Cross App Access is GA. Okta labels the actor claim for on-behalf-of token exchange GA in PreviewYes. Resource connections for MCP servers, agent gateways and A2A. Agent Gateway and MCP discovery APIs are betaYes. System Log API, plus streaming to Amazon EventBridge or Splunk Cloud
SailPoint Agent Identity SecurityNot documentedNot documented. Agentic Fabric inventories MCP servers as governed assetsSearch API over audit events. Native SIEM streaming not documented
CyberArk Secure AI AgentsYes. Short-lived tokens and SPIFFE SVIDs through Secure Workload Access (GA)Yes. OAuth 2.1 through the Identity Broker; MCP tool access is denied by default. A2A not documentedYes. Every tool request is audited; SIEM integration documented
HashiCorp VaultYes. Dynamic secrets with lease TTLs; on-behalf-of flow in EnterpriseYes. Built-in OAuth resource server (Enterprise 2.1+). The MCP server is betaYes. Audit devices log nearly every request and response (a few documented exceptions), with most values HMAC'd

Read "not documented" literally. We couldn't find it in the vendor's public docs, and it might exist under another name or behind a login. Saviynt's technical documentation sits behind a customer sign-in, so we left it out of the tables rather than quote its marketing pages. Check licensing too. Microsoft says ID Protection for agents will need an Agent 365 license, and Conditional Access for agents needs Microsoft 365 E7, or Agent 365 with at least Entra P1 or Microsoft 365 E3.

If Microsoft Entra Permissions Management ran your drift checks, they need a new home. Microsoft retired the product on November 1, 2025 and partnered with Delinea on an alternative. AWS shops can switch on IAM Access Analyzer's unused access findings, which catch roles, keys and permissions nobody touched in the window you set. Those are billed separately.

Our platform pages go deeper on each tool: Microsoft Entra ID, Okta, SailPoint, Saviynt, CyberArk, HashiCorp Vault and Delinea. Start with the tool you already pay for, and only add a category when a step of the program has no owner.

chapter 12

Which KPIs show it's working?

These are measures we'd track, not industry benchmarks, and we won't give you a target number. Take a baseline in the first month and watch the trend after that. Each one comes from logs you can already collect, as long as someone turns the export on.

tableNone of these are benchmarks. They're the numbers we'd watch, with the log each one comes from
KPIWhy it mattersTelemetry to collectWhere it comes from
Agents with a named owner and sponsor (%)No sponsor means no reviewer and nobody to callAgent records with the sponsor and owner fields filled inEntra agent identities (sponsor required); Okta AI agent owners; SailPoint agent owners
Unregistered agents found per monthShows whether discovery works and whether builders skip the front doorDiscovery findings for agents with no registrationOkta ISPM discovery; CyberArk's unmanaged AI agent risk; Agent 365 inventory compared with the agent identities in Entra
Mean time to revokeHow long an orphaned or misbehaving agent keeps working after someone decides to stop itTime from the disable event to the last successful token or secret useOkta System Log workload_principal.deactivate and app.oauth2.as.token.grant; Vault lease revocations in the audit log; CloudTrail GetSecretValue for AWS Secrets Manager
Agents on short-lived or delegated credentials (%)Static keys live too long and skip Conditional AccessToken and session issuance per agent, set against static key useCloudTrail AssumeRole events (userIdentity, sessionContext); Okta app.oauth2.token.grant.id_jag; Vault leases and TTLs
Permission drift events per agent, and the share approvedCatches access creeping up between reviewsNew scopes, grants, tools or policy changes compared with the baselineEntra audit logs (service principal updates, agentType); Okta ISPM privileged OAuth grant findings; MCP scope elevation logs; IAM Access Analyzer unused access
Agent calls with a verified identity (%)Forwarded or unverifiable tokens hide who actedPer call: agent, client ID, user, audience and actor chainCyberArk Identity Broker audits; Okta System Log for Agent Gateway token exchanges; MCP elevation logs with correlation IDs; RFC 8693 act claims
Sponsor reviews completed on time (%)A sponsor field nobody reviews is just a nameCampaign decisions and completion dates per agentOkta Identity Governance certifications; SailPoint certification campaigns
Agents with no recent activityIdle agents are the next offboarding candidatesLast sign-in or last use per agent identityEntra sign-in logs (Is Agent filter); IAM Access Analyzer unused roles and access keys

Send it all to one place. Entra's diagnostic settings push sign-in and audit logs to a Log Analytics workspace or an event hub, and Okta streams its System Log to Amazon EventBridge or Splunk Cloud. Entra doesn't keep a separate sign-in log for agents. Their sign-ins land in the existing sign-in logs, so you'll filter on agent type.

Two things catch people out with Vault. Its audit log stores most string values as HMACs, so you can match one secret's use across entries but you can't read the secret. And if every audit device goes down, Vault stops serving requests, so run more than one.

chapter 13

What if an ungoverned agent causes a problem?

When an agent misbehaves, or an audit turns up one nobody owns

Maybe an agent changed records nobody asked it to, or an auditor found one running on a builder's old key. Stop it first, then work out what it touched, then decide whether it comes back. Don't delete anything until you've saved its logs.

  1. 01Containfirst hour
    • Disable the agent's identity and revoke its active sessions and tokens across apps. Use the kill switch if you have one.
    • Block its credentials at the vault and the gateway, so a copied token stops working too.
    • Tell the sponsor. If there isn't one, tell the nearest manager, and let the owners of every system it could reach know too.
  2. 02Investigatefirst day
    • Pull identity provider, gateway and app logs for the agent. Read the actor claims to see who it was acting for on each call.
    • Write down what the agent could reach and when each piece was added. That's usually where the gap shows.
    • Look for calls to other agents and tokens it passed along. Each one you find widens the incident, so trace them before you close anything.
  3. 03Recoverdays 1 to 3
    • Undo the bad changes using backups or the audit trail in each system it touched. Check them with the system owner.
    • Rotate any shared secrets the agent could read.
    • Rebuild the agent from a reviewed template with a sponsor before it runs again, or retire it.
  4. 04Report and learnfirst two weeks
    • Record what it did, for whom and why your controls missed it. Auditors and insurers will ask.
    • Add the gap to your discovery sources or drift checks, so the next agent like this shows up in days instead of at the next audit.
    • Walk the business sponsors through what happened, so they know what signing for an agent really commits them to.

Part 2 of this series goes deeper on that first hour: how to stop a rogue agent, and what OAuth and runtime enforcement can and can't do. It covers revocation platform by platform, the containment steps in order and how to join your logs so you can prove what the agent did.

chapter 14

What could this look like in practice?

Three typical situations

01 Builder moves 02 No sponsor 03 New connector journal posting 04 Sponsorreview would catch it
scenario 01High risk
A finance agent whose builder moved teams
the setup
A mid-size manufacturer's finance analyst built an invoice-matching agent in a low-code tool. It connects to the ERP through a shared service account. The analyst has since moved to another team.
what happens
Nobody sponsors the agent, so the quarterly review skips it. Over time someone adds a connector that can post journal entries. When it posts a batch twice, nobody knows who can approve turning it off.
what to do
Name a finance sponsor today. Move the agent to its own identity with read and match access only, put journal posting behind a person's approval, and add the leaver check to the move process.
01 Rep's request 02 Support agent 03 Tokenexchange act claim added 04 Billing agent checks audience
scenario 02Medium risk
A support agent that calls a billing agent
the setup
A software company runs two agents. Support hands refund questions to billing over A2A, and to show who asked, it forwards the rep's own token along with them.
what happens
The billing agent accepts a token that was never issued for it. Its logs show the rep, not the support agent. When a refund goes wrong, nobody can tell which agent made the call.
what to do
Stop forwarding tokens. Have the support agent exchange its token for a new one aimed at billing, with an act claim naming itself. Billing checks the audience and logs the full chain.
01 Threeplatforms 02 Scheduleddiscovery 03 Identitygraph 04 Audit answer in one query
scenario 03Medium risk
A cloud team with agents in three platforms
the setup
An enterprise has agents in its identity provider's agent product, in a cloud agent service and in scripts on VMs. Each platform has its own inventory and none of them agree.
what happens
An auditor asks which agents can reach customer data. The answer takes two weeks of exports, and it turns up agents running on API keys nobody owns.
what to do
Run scheduled discovery across all three, require a sponsor for anything found, and load the results into one identity graph so the auditor's question becomes a query.

We'd start by sitting down with your team to build a spreadsheet: one row per agent, with its sponsor and what it signs in with. Then we wire reviews and drift checks into the identity tools you already run. Our non-human identity discovery and governance and AI agent identity pages explain how we work.

We'd usually do the platform work on Microsoft Entra ID, Okta, SailPoint or Saviynt. CyberArk or HashiCorp Vault can hold the agent credentials. You can bring in identity engineers for the build, or start with an assessment and see what you actually have first.

key takeaways

What to take from this

  1. 01

    Every agent needs a named business sponsor before it gets a credential, and the leaver process has to move that sponsorship.

  2. 02

    Run agent discovery on a schedule across your agent platforms, identity logs, vaults and MCP gateways. One console never shows them all.

  3. 03

    Keep quarterly certifications for templates and standing grants, and add a daily diff for scopes, tools and policies that change at runtime.

  4. 04

    Mint a new token for every agent-to-agent hop with an actor claim, and never forward a token you received.

  5. 05

    Join owners, agents, NHIs, credentials, workloads and resources in one identity graph, so audit questions become queries.

  6. 06

    Check preview and draft labels in your own tenant before you design around a vendor feature or an IETF draft.

  7. 07

    Line up each OWASP and NIST risk against the control you run today. Static API keys, offline risk detections and on-behalf-of attribution are where the gaps tend to show.

  8. 08

    Pick tools by the program step they cover. Trust what the vendor's docs say, and check the status label before you plan around it.

  9. 09

    Track a handful of KPIs from logs you already have: sponsor coverage, unregistered agents found, time to revoke, short-lived credential share and unapproved drift.

fact-checked October 2026 against vendor and official documentation · where to go next
  1. How Cohash delivers Microsoft Entra ID: scope, roles and architecture
  2. How Cohash delivers Okta: scope, roles and architecture
  3. How Cohash delivers SailPoint: scope, roles and architecture
  4. Hire vetted Microsoft Entra ID engineers
  5. NHI discovery and governance
  6. Book a 30-minute working session with a senior engineer
01Who should own an AI agent in our company?

Two people, usually. A technical owner who manages its settings and credentials, and a business sponsor who answers for why it exists and whether it's still needed. If you can only name one, name the sponsor. That's who reviews it and who you call when it misbehaves.

02How do we find AI agents nobody told us about?

Look where agents get built and where they sign in. Pull the lists from your agent platforms and low-code tools first. Then go through identity provider logs and vault entries for clients nobody can name, and check the MCP gateway too. Run it on a schedule, since a one-off sweep goes stale fast.

03Our quarterly access reviews already cover service accounts. Is that enough for AI agents too?

Not on their own. Some agents last minutes and others pick up scopes and tools mid-quarter. Keep reviews for the templates and standing grants, and add a daily check that sends any new scope, tool or policy change to the agent's sponsor.

04How should one AI agent authenticate to another?

Each agent proves who it is with its own short-lived credential. The one receiving the call checks the token was issued for it, and rejects it otherwise. If the caller works for a person, use OAuth Token Exchange so the new token names both of them. Don't ever forward the token you were given.

05What is an identity graph for AI agents?

It's one model that links owners, agents, non-human identities, credentials, workloads, tools and the resources they reach. With it, questions like which agents can reach customer data, and who sponsors them, become a single query instead of a week of exports.

06We only have a couple of agents. Do we need all of this?

Start small. Name a sponsor for each one, give each its own identity and write down what it can reach. Add discovery and drift checks when the count grows, which tends to happen faster than people expect once low-code tools are in use.

07Which tools do we need for AI agent governance?

Usually the ones you already own, extended to agents. The identity provider holds sponsors and issues agent tokens, the IGA tool runs reviews, and the vault hands out short-lived secrets. Check each vendor's docs for agent support and the status label before you buy something new.

08What KPIs should we track for our agents?

Start with the share of agents that have a named sponsor, how many unregistered agents discovery finds each month and how long a revoke takes. Then add the share on short-lived credentials and drift that went through without approval. Measure against your own first month, since we don't quote benchmarks.

keep reading

More field notes

Other notes from the same practices, newest first.

next step

Tell us what you're running. We'll tell you what we'd do first.

A 30-minute working session with a senior engineer. No slides.

useful to bring
  • The platform and the version you're on
  • Where you need to get to, and by when
  • What's custom: rules, plugins, integrations
  • Any audit finding or deadline driving it