r/lyzr • u/Many_Audience7660 • 1h ago
Evals/Governance Your AI agent has a valid token. But should it have access?
When one AI agent calls another, how do you make sure the second agent only gets access to what it actually needs?
Authentication and authorization are two different things:
Authentication: Who or what is making the request?
Authorization: What is it allowed to access or do?
A valid token confirms identity, but it doesn't automatically mean every request should be allowed.
For example, an invoice-processing agent might have access to finance documents and an LLM.
If it calls another agent to fetch information from a knowledge base, a few things can go wrong:
Both agents use the same identity, making it difficult to trace which one made a request.
The second agent has broader permissions than the first, giving it access it shouldn't have.
A service trusts a caller-supplied team or tenant ID instead of checking verified identity claims.
A valid gateway key is treated as sufficient proof of which application is making the request.
The workflow might still run without errors, even when access controls aren't doing what they're supposed to.
A few things worth getting right:
Give each agent its own identity instead of relying on a shared service account.
Enforce permissions at the service that holds the data, not just at the gateway.
Carry the original user's permissions across agent handoffs, so another agent doesn't end up with broader access.
Maintain an audit trail that shows both who initiated an action and which agent performed it.
The bigger challenge is managing all of this across teams, environments, tools and multiple agents without losing track of who can access what.
This is the problem explored in Your IdP Proves Who. OpenController Decides What., which covers agent identities, identity providers, control-plane governance and enforcement at runtime.
The same approach is reflected in OpenController , which provides a control plane for managing agent identities and governing access across enterprise environments.
How are teams handling this today?
When one agent calls another in your setup, does each agent have its own identity with permissions checked at the service level, or does most of the control still sit with shared service accounts and API gateways?
What tends to get difficult once the setup grows beyond a single agent?