AI agents create an identity problem that traditional applications did not fully solve.
A conventional application usually acts as a known user, service or workload.
An AI agent may act autonomously, act on behalf of a human, delegate work, use several tools, move between applications, retain state for hours or days and execute actions with real business consequences.
That creates several questions:
Who is the agent?
Who owns it?
Which human or business process authorized its task?
What resources may it access?
What actions may it perform?
How long does that authority last?
Can another agent delegate authority to it?
Can we reconstruct exactly what it did afterward?
These questions define the emerging discipline of AI agent identity and authorization.
Every production AI agent should be identifiable as a distinct actor, operate with explicitly bounded authority, and leave an auditable trail linking its actions to the user, task, policy and evidence that authorized them.
That requires more than an API key.
What is AI agent identity?
An AI agent identity is a machine-recognizable identity representing an AI agent when it accesses applications, APIs, data, tools or other agents.
The identity allows downstream systems to answer:
Who is calling?
An agent identity can be authenticated, authorized, monitored, disabled and audited.
Identity is not authorization
Authentication answers:
Who is this actor?
Authorization answers:
What may this actor do?
A secure architecture separates the two.
Agent
↓
Authentication
↓
Verified Agent Identity
↓
Authorization Policy
↓
Permitted Action
Human identity, service identity and agent identity differ
Humans make interactive decisions.
Services execute designed machine operations.
AI agents dynamically choose tools and actions to pursue goals.
This dynamic behavior is why first-class agent identity is becoming important.
The three identities in an agent transaction
Many operations involve:
- the human user,
- the agent,
- the application/runtime.
A useful audit trail should preserve all three.
This lets the organization distinguish a user directly accessing a resource from an agent accessing it on the user's behalf.
Autonomous access vs delegated access
Autonomous access
The agent has authority assigned directly to itself.
Example:
- read inventory,
- read supplier status,
- create internal alert.
Delegated access
The agent acts on behalf of a human.
Authorization should consider both the user's authority and the agent's permitted delegation scope.
Delegation should not copy the user's full authority
If a user asks an agent to summarize transactions, the agent should not inherit unrelated permissions such as account modification or payment approval.
Prefer task-specific delegation:
- narrow resource,
- narrow action,
- short lifetime,
- no unrelated write access.
Authorization should include task context
Traditional authorization asks:
Can Principal X invoke API Y?
Agent authorization may need to ask:
Can Agent X perform Action Y on Resource Z for User U for Task T under Policy P at this time?
Useful dimensions include:
- actor,
- action,
- resource,
- purpose,
- delegator,
- environment,
- time.
Least privilege and least agency
Least privilege asks which permissions the agent has.
Least agency asks why the agent needs the ability to make this decision at all.
Removing unnecessary tools is often safer than relying on prompts telling the model not to use them.
Every agent should have an owner
A production agent identity should have:
- business owner,
- technical owner,
- purpose,
- environment,
- risk tier.
Ownership supports approval, incident response, lifecycle management, access reviews and audit.
Treat agent identity as lifecycle-managed infrastructure
REQUEST
↓
APPROVE
↓
PROVISION
↓
AUTHORIZE
↓
OPERATE
↓
REVIEW
↓
CHANGE / REVOKE
↓
RETIRE
As the number of agents grows, lifecycle automation becomes essential.
Agent identity blueprints
Separate an agent type from deployed instances.
A blueprint can define role, approved permissions, policy, owner and tools.
Each deployed agent can then receive a unique identity while inheriting controlled defaults.
Do not use static API keys as agent identity
Static keys may live too long, be shared across agents, provide weak attribution and remain valid after retirement.
Prefer short-lived credentials tied to verified identity.
Credentials should stay outside model context
The model should decide that it needs a capability.
The runtime should acquire and protect the credential.
LLM
↓
Tool Request
↓
Agent Runtime
↓
Credential Broker
↓
Enterprise API
The LLM should not see raw bearer tokens or long-lived secrets.
Prefer short-lived tokens
Short-lived, scoped, audience-restricted and revocable credentials reduce blast radius.
Example properties:
- subject = agent identity,
- scope = specific capability,
- audience = specific API,
- expires = minutes, not months.
Workload identity and federation
Agents running in Kubernetes, serverless systems or managed agent runtimes should prefer workload identity/federation over embedded secrets.
The runtime proves its identity and receives temporary credentials.
OAuth still matters for agents
OAuth maps naturally to agent authorization by expressing:
- actor,
- resource,
- scopes,
- duration.
Keep scopes narrow.
Avoid broad administrative scopes for autonomous systems.
MCP authorization
Remote MCP servers expose enterprise capabilities that require authorization.
A simplified flow:
Agent / MCP Client
↓
Identity Provider
↓
Access Token
↓
MCP Server
↓
Authorized Tool
The MCP server should validate tokens rather than invent an ad-hoc identity mechanism.
MCP authorization should be tool-aware
Connection to an MCP server should not imply permission to call every tool.
Allow only the tools and actions the agent actually needs.
Autonomous MCP access
Scheduled or background agents may need machine-to-machine access without interactive login.
Use agent-specific, narrowly scoped and short-lived authorization where possible.
Identity must cross agent-to-agent boundaries
In multi-agent systems, downstream agents should know:
- sender agent,
- originating task,
- delegating agent,
- originating user,
- allowed scope.
Peer-agent messages should not be trusted simply because they are internal.
Delegation chains should be visible
Audit should preserve:
Human
→ Root Agent
→ Delegating Agent
→ Executing Agent
→ Tool
→ Resource
This is important for security and debugging.
Delegated authority should shrink, not grow
An agent should never be able to delegate more authority than it possesses.
Delegation should usually narrow permissions.
Separate identity from model
The model is not the agent identity.
A business agent can change from Model A to Model B without changing who the enterprise recognizes as the agent.
This separation supports model routing and provider changes without disrupting authorization.
Authorization belongs at the execution boundary
The LLM can propose an action.
It should not decide whether the action is authorized.
A policy service should evaluate user identity, agent identity, action, resource, amount, risk and approval requirements.
The result should be:
- ALLOW,
- DENY,
- REQUIRE_APPROVAL.
Policy Decision Point and Policy Enforcement Point
A useful Zero Trust pattern:
Agent
↓
Proposed Action
↓
POLICY DECISION POINT
↓
Allow / Deny / Approve
↓
POLICY ENFORCEMENT POINT
↓
Tool / Resource
The LLM is neither the PDP nor the PEP.
Step-up authorization
Low-risk actions can execute under normal authority.
Higher-risk actions can require stronger approval or temporary elevated authority.
Do not give the agent permanent high-risk permissions.
Human approval should grant a specific action
Avoid broad “approve the agent” decisions.
Approve:
- this action,
- on this resource,
- for this amount,
- before this expiration.
Approval should be a scoped capability.
Agent inventory is the first governance requirement
Maintain a registry containing:
- agent ID,
- agent type,
- owner,
- sponsor,
- purpose,
- framework,
- environment,
- tools,
- permissions,
- data classes,
- risk tier,
- deployment date,
- last review,
- status.
Unknown agents cannot be governed.
Shadow agents are the new shadow IT
Developers can create autonomous systems quickly using an LLM and credentials.
Identity governance needs discovery:
- which agents exist,
- who created them,
- which credentials they use,
- which resources they access,
- who owns them.
Every action should be attributable
Audit records should preserve:
- user,
- agent,
- agent version,
- task,
- action,
- resource,
- authorization policy,
- decision,
- timestamp.
This supports accountability and non-repudiation.
Identity should connect to observability
Put agent identity in every trace:
- trace_id,
- user_id,
- agent_id,
- agent_type,
- delegated_by,
- task_id,
- tool,
- resource,
- authorization decision.
Identity without observability gives limited accountability.
Observability without identity creates anonymous telemetry.
Identity should connect to governance
Governance policies can require every production agent to:
- have an owner,
- have a risk tier,
- use registered identity,
- have approved scopes,
- undergo periodic access review.
Identity makes these controls enforceable.
Access reviews should include agents
Review whether each agent still needs:
- each tool,
- write access,
- data scope,
- elevated permissions.
Agent permissions can accumulate like human permissions.
Offboarding
When retiring an agent:
- disable identity,
- revoke tokens,
- remove role assignments,
- remove MCP access,
- disable secrets,
- archive evidence.
Do not leave zombie credentials alive.
Separate development, test and production identities
Avoid one shared identity across environments.
Production should have stronger policy, narrower permissions and stronger monitoring.
One identity per type or instance?
Per-type identity is simpler.
Per-deployment identity gives stronger attribution and revocation.
High-risk autonomous systems benefit from finer-grained identity.
Ephemeral agents need ephemeral identity
Temporary sub-agents can receive short-lived delegated identities tied to:
- root task,
- parent agent,
- narrow scopes,
- expiration.
Short-lived identity matches short-lived computation.
Secure reference architecture
HUMAN USER
↓
IDENTITY PROVIDER
↓
AGENT PLATFORM
↓
AGENT IDENTITY
↓
TASK / DELEGATION
↓
AUTHORIZATION LAYER
(user + agent + task + policy + resource)
↓
ALLOW / DENY / HITL
↓
EXECUTION GATEWAY
↓
MCP / APIs / DATA
↓
AUDIT + TRACING
↓
KONTROLS / GOVERNANCE
The model does not authenticate itself, issue credentials or make final authorization decisions.
AI agent Zero Trust
Verify explicitly
Authenticate user, agent, workload and resource.
Use least privilege
Grant only required access.
Assume compromise
Design so a manipulated agent cannot automatically escalate authority.
Continuously evaluate
Inspect task, context, action, risk and behavior.
Never trust the agent merely because it is internal.
Common mistakes
- One API key for every agent.
- Inheriting all user permissions.
- Putting secrets inside prompts.
- Making the model the authorization engine.
- Permanent high-risk permissions.
- Ignoring sub-agent identity.
- Treating MCP connectivity as authorization.
- No owner.
- No offboarding.
- No agent inventory.
Metrics for identity governance
Track:
- percent of production agents with registered identity,
- percent with named owner,
- percent using short-lived credentials,
- average scopes per agent,
- stale identities,
- denied actions,
- step-up approval rate,
- unused permissions,
- unregistered-agent discoveries,
- time to revoke.
Identity-related KNOBS
Important settings include:
- maximum autonomous transaction,
- token lifetime,
- delegation depth,
- approval threshold,
- maximum scope,
- session duration,
- agent-to-agent hop count.
These trade automation against risk and human review load.
Where KONTROLS fits
KONTROLS can provide the control plane around:
- agent identity,
- access policy,
- tool permissions,
- data boundaries,
- delegated authority,
- approval requirements,
- audit evidence,
- execution limits.
Practical implementation roadmap
- Inventory agents, owners, credentials, tools, data and APIs.
- Assign identities.
- Separate autonomous and delegated access.
- Remove static credentials.
- Scope permissions.
- Add runtime authorization.
- Introduce step-up approval.
- Propagate identity across agents.
- Instrument audit traces.
- Manage lifecycle continuously.
Bottom line
A production AI agent should never be:
a prompt
+
an API key
+
unrestricted tools
The stronger architecture is:
Named Agent
↓
Verified Identity
↓
Explicit Task
↓
Scoped Authority
↓
Policy Evaluation
↓
Short-Lived Credential
↓
Controlled Action
↓
Audit Evidence
The key questions are:
Who is the agent?
Who authorized it?
What may it do?
For how long?
On whose behalf?
Can we prove what happened afterward?
Identity provides accountability.
Authorization provides boundaries.
Together they turn autonomous AI from an anonymous software process into a governable enterprise actor.
Frequently asked questions
What is an AI agent identity?
A machine-recognizable identity assigned to an AI agent so enterprise systems can authenticate it, authorize access, apply policy and attribute actions to that specific agent.
Should an AI agent use the user's identity?
An agent may act on behalf of a user, but it should remain identifiable as the agent performing the action. Delegated access should preserve both identities.
How does MCP authorization work?
Remote MCP systems typically use OAuth-style authorization. The server validates access tokens and exposes only capabilities the calling user or agent is permitted to invoke.
KONTROLS
Give every agent an identity: and every identity a boundary by applying identity, access, policy, approval, evidence and execution controls to AI workflows.
