
Zero Trust for AI agents is not “put the chatbot behind SSO.”
That is the login layer. It proves that a user reached the application. It does not prove that the agent should retrieve a specific source, call a specific tool, write a specific field, reuse a memory, send an external message, or act through a particular service account.
The hard enterprise question is narrower and more important:
How should an AI agent receive just enough delegated authority to complete one task, through one governed tool path, with evidence that can be audited later?
My answer: treat the agent as a separate workload identity acting under a session-bound delegation from a human, then force every retrieval, tool call, memory write, and workflow action through a policy enforcement point. The model can propose. The orchestrator can prepare context. The broker can execute. Authorization must remain outside the model.
This extends the broader control-plane model in AI governance architecture, the runtime authorization pattern in policy-as-code for enterprise AI agents, the execution catalog in safe tool registries for enterprise AI agents, the abuse-case workflow in threat modeling enterprise AI agents, and the evidence model in audit logs for enterprise AI agents. This article is specifically about identity and delegation. It is where Zero Trust becomes an AI agent runtime design, not a slogan.
Key takeaways
- AI agents should not inherit broad human OAuth tokens or run under shared service accounts with more authority than the task requires.
- A production agent needs at least four identities in the decision path: human user, AI application, agent workload, and downstream tool or resource.
- Zero Trust for AI agents means continuous, per-action authorization across retrieval, tool execution, output release, memory writes, approvals, and incident modes.
- The model should never decide whether it is authorized. Model output is a request for authorization, not authorization itself.
- The most useful artifact is an agent delegation envelope: who delegated authority, to which agent, for which task, tool, resource, data class, workflow state, risk tier, time window, and audit trace.
- Least privilege has to be narrower than “the user can do it.” The AI agent may be allowed to draft, propose, or read a filtered subset even when the human has broader rights.
Citation-ready answer
Zero Trust for enterprise AI agents is an architecture where each agent action is authorized explicitly using human identity, agent identity, workload identity, resource attributes, tool risk, data classification, workflow state, approval status, and audit requirements. The agent should receive short-lived, scoped, session-bound delegation through a broker or policy enforcement point, not a broad user token or shared service account. The model may propose actions, but deterministic identity, policy, tool registry, approval, and audit layers decide what can execute.
Start with the identity chain
Traditional application access usually asks:
1 | Can this user access this application? |
AI agents require a longer chain:
1 | human user |
Each element has a different security meaning.
| Identity | Example | What it proves | What it must not imply |
|---|---|---|---|
| Human user | alice@example.com | A person is authenticated and has enterprise attributes | The agent can do everything Alice can do |
| AI application | support_copilot | A registered AI system is approved for a use case | Every prompt or plugin inside it is trusted |
| Agent workload | support_resolution_agent:v12 | A specific deployed agent version is running | The model output is authorized |
| Tool broker | agent_tool_gateway | A controlled execution boundary exists | All tools behind it are safe for every task |
| Resource | CRM record, ticket, document, IAM group | A concrete target has owners and attributes | Access to one record grants access to adjacent records |
NIST SP 800-207 on Zero Trust Architecture is useful because it moves the trust decision away from network location and toward subjects, assets, resources, and explicit authorization. For AI agents, the same idea has to move one level deeper: do not trust a tool call because it came from an authenticated chat session.
The wrong pattern: user token passthrough
The fastest prototype often uses the user’s token directly:
1 | user signs in |
That pattern is convenient and dangerous.
It creates four problems:
- The agent can silently exercise more authority than the task needs.
- Downstream systems may see only the human user, not the AI agent that chose the action.
- Audit logs cannot cleanly distinguish human intent, model proposal, policy decision, and tool execution.
- Prompt injection can become a confused deputy problem: hostile content manipulates the agent into using a valid user credential for the wrong purpose.
The safer pattern is brokered delegation:
1 | user session |
The agent should receive a task-scoped authorization, not a reusable master key.
A practical delegation envelope
The core artifact is a delegation envelope. It is the structured request the agent runtime sends before the tool broker executes anything privileged.
1 | { |
This envelope is not a log-only object. It should be the input to policy. If the policy engine cannot evaluate a field, either the field is useless or the enforcement architecture is incomplete.
Token design for agents
There is no single universal token pattern for every enterprise stack. The design principle is stable: separate human authentication from agent delegation and downstream execution.
RFC 8693 on OAuth 2.0 Token Exchange is relevant because it defines a standard way for a security token service to exchange tokens and express delegation or impersonation semantics. SPIFFE is relevant on the workload side because it gives distributed systems a way to assign cryptographic identity to software workloads rather than relying on location or static secrets.
Use the standards and identity platform that fit your environment, but keep the semantics explicit.
| Token or identity | Holder | Lifetime | Scope | Audit requirement |
|---|---|---|---|---|
| Human session token | AI application front end | interactive session | login and user context | user, auth strength, session ID |
| Agent workload identity | deployed agent runtime | short-lived, rotated | identify approved workload | agent ID, version, environment |
| Delegation token | tool broker or enforcement point | minutes | one task, resource, operation, and risk tier | delegator, agent, purpose, policy version |
| Downstream access token | broker only | minutes | exact API scope or resource action | tool ID, resource ID, result class |
| Approval artifact | approval service | bounded by policy | specific high-risk action | approver, reason, expiry, evidence pack |
Do not let the model see bearer tokens. Do not put credentials in prompts, retrieved context, tool descriptions, or agent memory. The agent can request an action. The broker owns credentials.
Where Zero Trust enforcement belongs
One policy check at chat startup is not enough. Agent authority changes as the task moves from text to retrieval to action.
| Boundary | Zero Trust decision | Fail-closed behavior |
|---|---|---|
| Agent launch | May this user delegate this agent for this workflow? | refuse launch or restrict to draft mode |
| Retrieval | May this session retrieve this source and chunk? | omit source, log denied retrieval |
| Context assembly | May this content enter the model context? | exclude or sanitize untrusted content |
| Tool proposal | May this agent propose this tool? | reject tool selection before arguments |
| Tool execution | May this exact operation run on this exact resource now? | return policy denial, no side effect |
| Memory write | May this fact be retained for future sessions? | no write, redacted event |
| Output release | May this generated answer leave the system or channel? | hold for review or redact |
| Approval | Is approval valid for this action, actor, and time window? | keep action pending |
| Incident mode | Should normal authority be reduced? | disable risky tools and external sends |
The OWASP AI Agent Security Cheat Sheet calls out least privilege, tool authorization, input validation, memory isolation, human oversight, monitoring, and adversarial testing. The engineering translation is direct: every one of those controls needs a runtime boundary where it can stop an action.
Least privilege for AI agents is not human least privilege
The common mistake is to ask, “Can the user do this?”
For AI agents, ask four questions instead:
- Can the human do this?
- Can this agent do this?
- Can this agent do it for this task, state, data class, and resource?
- Can it execute, or may it only propose?
That last question matters. A senior employee may be allowed to send customer emails. The AI assistant may be allowed to draft one, attach evidence, and request approval. It does not follow that the assistant should be allowed to send it directly.
| Capability | Human user may do | Agent may propose | Agent may execute | Required control |
|---|---|---|---|---|
| Search public knowledge | yes | yes | yes | standard audit |
| Search internal documents | yes, by ACL | yes | yes, filtered | ACL and data classification |
| Summarize customer record | yes, by role | yes | yes, scoped | purpose binding and DLP |
| Update CRM status | yes | yes | conditional | approval or workflow state check |
| Send external email | yes | yes | rarely | approval and output policy |
| Run SQL query | limited | yes | read-only only | approved query templates |
| Issue refund | limited | yes | conditional | dual control and threshold policy |
| Modify IAM group | privileged | yes | no by default | proposal-only privileged workflow |
| Deploy production change | privileged | yes | no direct execution | existing CI/CD change control |
This matrix complements human-in-the-loop approval patterns for high-risk AI workflows: approval should not be a generic “are you sure?” popup. It should be bound to identity, action, resource, evidence, and expiry.
The reference architecture
A practical Zero Trust agent architecture looks like this:
1 | 1. User authenticates through enterprise IdP. |
Notice what is missing: no direct model-to-API credential path.
The broker pattern can feel slower than giving the agent a broad connector. In practice, it is what lets an enterprise scale agent use beyond demos. It gives IAM, security, platform, and business owners a place to enforce decisions without rewriting every agent.
Failure modes to design out
Zero Trust is useful only if it changes failure behavior.
| Failure mode | What it looks like | Required design response |
|---|---|---|
| Permission laundering | agent uses a user’s broad token for a task the agent should not perform | separate human identity, agent identity, and task-bound delegation |
| Shared agent account | all actions appear as ai-service-prod | unique agent workload identity and trace correlation |
| Token overscope | one token can read, write, export, and send | per-tool and per-resource scopes with short expiry |
| Prompt-injected authority | retrieved document instructs the agent to call a tool | treat retrieved content as data, never policy input |
| Approval reuse | old approval authorizes a different action | bind approval to action hash, resource, risk tier, and expiry |
| Tool shadowing | a malicious connector resembles an approved tool | registry pinning, tool identity, owner review |
| Audit ambiguity | logs show an API call but not why it happened | capture delegation envelope, policy version, model route, and result |
| Incident sprawl | risky agents continue operating during containment | central incident mode that disables high-risk tools |
The NCSC Guidelines for secure AI system development are useful here because they place secure design, deployment, operation, logging, monitoring, and incident management across the AI system lifecycle. Zero Trust for agents should be part of that lifecycle, not a last-minute gateway.
What to log
Agent identity architecture is incomplete without audit evidence.
A high-risk tool call should produce one correlated trace:
| Event | Minimum fields |
|---|---|
| Session started | user ID, auth strength, device posture if available, session ID |
| Agent selected | app ID, agent ID, version, environment, risk tier |
| Retrieval requested | source ID, data class, ACL decision, denied sources |
| Action proposed | tool ID, operation, arguments hash, resource ID |
| Policy evaluated | policy version, input envelope hash, allow/deny reason |
| Approval requested | approver, evidence pack, expiry, separation-of-duties check |
| Tool executed | broker identity, downstream scope, status, result class |
| Output released | channel, DLP result, reviewer when required |
Do not log raw sensitive data by default. Log enough structured metadata to reconstruct authority, not enough secrets to create a second breach.
The NIST AI Risk Management Framework is helpful as a governance reference, but the practical implementation question is simple: can your team reconstruct who delegated what to which agent, under which policy, against which resource, with which approval, and what happened afterward?
Production checklist
Before an enterprise AI agent receives tool authority, require this checklist:
- The AI application is registered with an owner, risk tier, supported workflows, and approved model routes.
- The agent workload has its own identity, version, deployment environment, and registry entry.
- Human identity and agent identity are both present in every authorization decision.
- The agent cannot receive or store broad user tokens, service-account keys, API keys, or refresh tokens.
- Tool execution goes through a broker or policy enforcement point.
- Delegation tokens are short-lived, scoped to a task, and bound to a resource or operation where possible.
- High-risk actions are proposal-only unless an approval artifact is present and valid.
- Retrieval uses ACLs, data classification, source authority, and purpose constraints.
- Memory writes are scoped, classified, and denied for restricted data classes.
- Audit logs capture policy decisions, denied attempts, approvals, and execution results.
- Incident mode can centrally revoke or reduce high-risk agent authority.
- Adversarial tests include prompt injection, unauthorized retrieval, tool overreach, approval bypass, token replay, and audit completeness.
If any item is missing, the agent may still be useful as a draft assistant. It should not be treated as a trusted business-process actor.
Common design mistakes
Treating SSO as Zero Trust
SSO answers who reached the app. It does not answer whether this agent, task, data class, tool, resource, and approval state are allowed now.
Using one service account per agent platform
That hides which agent acted and makes least privilege nearly impossible. Use workload identity, agent registry metadata, and scoped downstream credentials.
Letting prompts describe permissions
Prompt instructions are useful for behavior. They are not authorization controls. Permissions must be evaluated by code that can deny execution.
Logging only successful tool calls
Denied retrieval and denied tool calls are security evidence. If you only log successful actions, you lose the signal that tells you whether controls are working.
Confusing proposal with execution
The best pattern for high-risk workflows is not “the agent cannot help.” It is “the agent can propose, prepare evidence, and route approval, but cannot execute directly.”
FAQ
Is Zero Trust for AI agents different from normal Zero Trust?
The principles are the same, but the enforcement points are different. AI agents add retrieval, prompt assembly, model output, tool selection, memory, approval, and output-release boundaries. Each boundary needs explicit authorization because language can influence access and action.
Should an AI agent use the user’s permissions?
It should use the user’s identity as one input, not blindly inherit all user permissions. The authorization decision should also include agent identity, task purpose, data classification, resource owner, workflow state, risk tier, approval state, and audit requirements.
Can a service account be safe for AI agents?
Yes, if it is scoped, brokered, short-lived where possible, mapped to a registered agent workload, and constrained by policy. A shared long-lived service account with broad access is not a safe agent identity model.
What is the first control to implement?
Put a policy enforcement point between the agent and every privileged tool. Even a simple broker that validates agent ID, user context, tool ID, risk tier, approval state, and resource scope is better than direct model-to-API execution.
Should agents ever execute high-risk actions automatically?
Only when the workflow is narrow, reversible or compensated, heavily tested, explicitly approved by owners, and covered by strong audit and incident controls. For IAM, payments, legal commitments, production changes, and customer-visible actions, proposal-first is usually the right default.
How does this connect to AI governance?
Governance becomes real when identity, ownership, policy, approval, and audit requirements are enforced in the runtime. Zero Trust is the identity and access architecture that prevents agent governance from staying trapped in documents and review meetings.