Data as of Sep 17, 2026 · Based on 50 AI responses from ChatGPT Search and Google AI Mode · See how Parse measures this
Your brand can be here too.
Yes. For **thousands of agents**, I would avoid treating this as “API-key management for bots.” You want an **agent identity control plane + workload identity + fine-grained authorization + runtime enforcement + lifecycle/audit**. The strongest architecture I'd consider today is: ### 1. Agent identity/control plane
Yes. For thousands of agents, I would avoid treating this as “API-key management for bots.” You want an agent identity control plane + workload identity + fine-grained authorization + runtime enforcement + lifecycle/audit.
The strongest architecture I'd consider today is:
Shortlist:
The key requirement is one durable identity per agent instance, not shared service accounts. Entra, for example, explicitly distinguishes dynamic agent identities from traditional long-lived application identities.
I'd strongly consider SPIFFE/SPIRE underneath the agent platform.
Think of it as:
Agent ID = “who is this agent?” SPIFFE = “prove cryptographically that this running workload is that agent.” SPIFFE gives workloads short-lived identities/SVIDs and supports workload-to-workload mTLS without distributing static secrets.
This becomes particularly valuable when you have thousands of ephemeral agents across Kubernetes, VMs, multiple clouds, CI/CD environments, etc.
Don't stop at authentication.
For every agent action, evaluate something like:
agent identity × user/delegator × tool × resource × action × context × risk
For example:
agent-8472may read Salesforce opportunities for tenant X, but may not delete, export, or modify them. And if an agent is acting for a human, use delegation, rather than giving the agent the user's complete privileges. Current cloud-native guidance similarly recommends keeping user and agent identities distinct and using dedicated identities for persistent/autonomous agents.
I'd evaluate an authorization engine such as OpenFGA, Cedar, OPA, or your cloud IAM equivalent, depending on your policy model.
This is particularly important with MCP and agent-to-agent calls.
I would put a policy-enforcing gateway/sidecar between agents and tools:
┌─────────────────────┐
│ Agent Control Plane │
│ identity + lifecycle │
│ inventory + policy │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ Identity / STS │
│ Entra / Okta │
│ SPIFFE/SPIRE │
└──────────┬──────────┘
│
Agents ──mTLS──> ┌────────────▼────────────┐
│ Agent Security Gateway │
│ │
│ AuthN │
│ AuthZ │
│ delegation │
│ tool/MCP policy │
│ rate limits │
│ risk / approvals │
│ audit │
└─────┬──────┬──────┬─────┘
│ │ │
MCP APIs databases
There are already reference architectures combining Entra Agent Identity + SPIFFE/SPIRE + sidecar enforcement, including mTLS, route-level RBAC, JWT validation and risk/governance checks.
Avoid:
agent → permanent AWS key
agent → permanent Salesforce token
agent → permanent database password
Prefer:
agent identity
↓
policy decision
↓
short-lived scoped credential
↓
single resource/action
That dramatically reduces the blast radius when an agent is prompt-injected or compromised.
Your security stack should explicitly handle:
This matters because agents aren't merely another class of service account: their behavior can be influenced by untrusted content, while they simultaneously possess the ability to take consequential actions. Recent security reporting is already treating agents themselves as an emerging attack surface and insider-like identity problem.
| Layer | Candidates I'd evaluate |
|---|---|
| Enterprise agent identity | Microsoft Entra Agent ID, Okta |
| Workload identity | SPIFFE/SPIRE |
| Authorization | Cedar, OpenFGA, OPA, cloud IAM |
| Secrets/token exchange | Cloud STS + OAuth 2.0 token exchange |
| Agent/MCP gateway | API gateway/service mesh + agent-aware policy layer |
| Runtime isolation | Kubernetes sandboxing, gVisor/Kata/VM isolation where warranted |
| Detection/SIEM | Existing enterprise SIEM + agent-specific telemetry |
| Agent inventory/governance | Entra Agent 365 / Okta + NHI/agent-security tooling |
If you're starting from scratch and have thousands rather than dozens of agents, I'd lean toward:
Entra Agent ID (or Okta) + SPIFFE/SPIRE + centralized authorization engine + agent/MCP gateway + short-lived credentials + SIEM
rather than buying a single “AI security” product and hoping it becomes the entire stack.
The important architectural principle is separation of identity from authorization. SPIFFE can establish who/what the workload is, while your policy engine determines what that identity may do, and the gateway ensures the decision is actually enforced.
If you're primarily AWS, Azure, GCP, Kubernetes, or multi-cloud, the optimal stack changes considerably. I can also lay out a concrete reference architecture for 10,000 agents, including identity schema, token flows, RBAC/ABAC model, MCP enforcement points, and which products I'd put in each box.
agent-8472may read Salesforce opportunities for tenant X, but may not delete, export, or modify them. And if an agent is acting for a human, use delegation, rather than giving the agent the user's complete privileges. Current cloud-native guidance similarly recommends keeping user and agent identities distinct and using dedicated identities for persistent/autonomous agents.
I'd evaluate an authorization engine such as OpenFGA, Cedar, OPA, or your cloud IAM equivalent, depending on your policy model.
This is particularly important with MCP and agent-to-agent calls.
I would put a policy-enforcing gateway/sidecar between agents and tools:
┌─────────────────────┐
│ Agent Control Plane │
│ identity + lifecycle │
│ inventory + policy │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ Identity / STS │
│ Entra / Okta │
│ SPIFFE/SPIRE │
└──────────┬──────────┘
│
Agents ──mTLS──> ┌────────────▼────────────┐
│ Agent Security Gateway │
│ │
│ AuthN │
│ AuthZ │
│ delegation │
│ tool/MCP policy │
│ rate limits │
│ risk / approvals │
│ audit │
└─────┬──────┬──────┬─────┘
│ │ │
MCP APIs databases
There are already reference architectures combining Entra Agent Identity + SPIFFE/SPIRE + sidecar enforcement, including mTLS, route-level RBAC, JWT validation and risk/governance checks.
Avoid:
agent → permanent AWS key
agent → permanent Salesforce token
agent → permanent database password
Prefer:
agent identity
↓
policy decision
↓
short-lived scoped credential
↓
single resource/action
That dramatically reduces the blast radius when an agent is prompt-injected or compromised.
Your security stack should explicitly handle:
This matters because agents aren't merely another class of service account: their behavior can be influenced by untrusted content, while they simultaneously possess the ability to take consequential actions. Recent security reporting is already treating agents themselves as an emerging attack surface and insider-like identity problem.
To secure thousands of autonomous AI agents, **you need a non-human identity (NHI) stack built on cryptographic workload attestation, short-lived tokens, and dynamic, task-scoped authorization rather than static API keys** **.**…
To secure thousands of autonomous AI agents, you need a non-human identity (NHI) stack built on cryptographic workload attestation, short-lived tokens, and dynamic, task-scoped authorization rather than static API keys .
Because AI agents behave indeterministically and chain tools dynamically, traditional static IAM roles and long-lived client secrets lead immediately to privilege creep and shadow AI risk. A resilient agent security stack maps across four foundational layers.
| Layer | Primary Technology / Standard | Purpose & Function for AI Agents |
|---|---|---|
| 1. Machine Identity Issuance | SPIFFE / SPIRE | Issues cryptographically verifiable, ephemeral work-load identities (SVIDs ) tied to the agent's exact runtime context and provenance. |
| 2. Authentication & Transport | mTLS & Short-Lived JWTs | Secures agent-to-tool and agent-to-agent communication via mutual TLS and cryptographically bound JSON Web Tokens, eliminating static secrets. |
| 3. Authorization & Permissions | ReBAC / OAuth 2.0 Token Exchange | Enforces least-privilege using Relationship-Based Access Control (ReBAC ) and RFC 8693 token exchange to scope permissions strictly to the active task. |
| 4. Governance & Behavior Monitoring | NHI Security Posture Management | Continuously discovers shadow agents, detects policy drift, tracks token tool-chaining, and flags anomalous runtime behavior. |
If you'd like to narrow this down, tell me:
For **thousands of AI agents**, you should think less in terms of “AI security” and more in terms of **non-human identity (NHI) + workload IAM + runtime authorization**. The stack you want looks closer to a zero-trust service mesh than traditional employee IAM. Industry guidance is converging on giving each agent a…
For thousands of AI agents, you should think less in terms of “AI security” and more in terms of non-human identity (NHI) + workload IAM + runtime authorization. The stack you want looks closer to a zero-trust service mesh than traditional employee IAM. Industry guidance is converging on giving each agent a verifiable identity, short-lived credentials, least-privilege permissions, and auditable actions.
A reference architecture:
Goal: Every agent instance has a unique, cryptographic identity.
Consider:
Key design rule:
Never let 10,000 agents share one service account. Each agent should have:
Agents will need access tokens, API credentials, database credentials, SaaS tokens, etc.
Use:
Patterns:
Traditional RBAC will become too coarse.
You want:
Examples:
Policies should consider:
agent identity
+
requested action
+
resource
+
user context
+
risk signals
+
time/location/environment
Example:
“Customer-support-agent-472 may read CRM tickets, but cannot export customer data or modify billing records.”
Do not let agents directly call hundreds of APIs.
Insert a control point:
Agent
|
v
Agent Gateway
|
+--> Policy check
+--> Token exchange
+--> DLP inspection
+--> Logging
|
v
Enterprise tools
Look at:
This becomes especially important as agents start using MCP servers and other tool protocols.
At thousands of agents, the biggest risk becomes agent sprawl.
You need:
Track:
| Field | Example |
|---|---|
| Agent ID | invoice-review-agent-prod-8392 |
| Owner | Finance automation team |
| Purpose | Invoice reconciliation |
| Permissions | AP read-only |
| Data classification | Confidential |
| Expiry | 90 days |
| Last used | yesterday |
Identity alone is not enough. An agent with valid credentials can still behave incorrectly.
Add:
Examples:
A mature stack might look like:
| Layer | Options |
|---|---|
| Agent registry | Entra Agent ID, custom registry, cloud agent platforms |
| Identity | SPIFFE/SPIRE, OIDC, cloud workload identity |
| Secrets | Vault, AWS Secrets Manager, Azure Key Vault |
| Authorization | OPA, Cedar, cloud IAM |
| Gateway | API gateway + policy enforcement point |
| Runtime | Kubernetes RBAC, service mesh, sandboxing |
| Governance | IGA platform + access reviews |
| Monitoring | SIEM + agent activity analytics |
For a few thousand agents, I would usually start by extending your existing IAM stack (Entra/Okta/cloud IAM + Vault + policy engine) rather than buying a completely separate “AI security platform.” Dedicated agent security products are emerging, but the foundational problem is still identity, authorization, and governance.
Track:
Managing machine identity and permissions for thousands of autonomous AI agents requires moving away from static API keys and shared service accounts. A modern **Agentic Security Stack** blends cryptographic machine identity, fine-grained dynamic authorization, and runtime behavioral…
Managing machine identity and permissions for thousands of autonomous AI agents requires moving away from static API keys and shared service accounts. A modern Agentic Security Stack blends cryptographic machine identity, fine-grained dynamic authorization, and runtime behavioral monitoring.
Consider the following core layers and tools for your architecture:
To help narrow down the right vendors and architectural patterns for your environment, could you share:
To manage machine identity and permissions for thousands of AI agents, you need to transition from legacy static secrets to a **Non-Human Identity (NHI) management and dynamic authorization stack** . Traditional Identity and Access Management (IAM) systems fail here because AI agents act indeterministically,…
To manage machine identity and permissions for thousands of AI agents, you need to transition from legacy static secrets to a Non-Human Identity (NHI) management and dynamic authorization stack . Traditional Identity and Access Management (IAM) systems fail here because AI agents act indeterministically, dynamically changing their behavior and tools mid-session.
A robust Agent Security Stack requires three core architectural layers to enforce scale, zero trust, and visibility:
┌────────────────────────────────────────────────────────┐
│ 1. Agent Identity Layer (NHI) │ -> SPIFFE/SPIRE, Aembit, CyberArk
└───────────────────────────┬────────────────────────────┘
▼
┌────────────────────────────────────────────────────────┐
│ 2. Dynamic Authorization Layer (AuthZ) │ -> Styra (OPA), Aserto, Cerbos
└───────────────────────────┬────────────────────────────┘
▼
┌────────────────────────────────────────────────────────┐
│ 3. Agent Gateway & Interconnect Layer │ -> Model Context Protocol (MCP)
└────────────────────────────────────────────────────────┘
Stop using shared API keys or static super-agent accounts. You must give every individual agent instance a discrete, short-lived cryptographic identity.
Because AI agents chain tasks unexpectedly, static role-based access control (RBAC) is insufficient. You must look toward Attribute-Based Access Control (ABAC) or Relationship-Based Access Control (ReBAC) to validate intent at execution time.
You need a unified mediation layer between your agents and the sensitive infrastructure (databases, internal tools, SaaS applications) they interact with.
Comparison of Key Strategies
| Security Pattern | Legacy Method (Risk) | Modern Stack Method (Secure) |
|---|---|---|
| Authentication | Shared, long-lived API keys | Ephemeral mTLS certificates or JWT tokens |
| Access Rights | Broad, static "Admin" or "Super Agent" roles | Context-aware, just-in-time task execution loops |
| Delegation | Running under ambient system trust | Signed OAuth On-Behalf-Of (OBO) user session chains |
| Auditing | Blended human/machine cloud logs | Deterministic, SHA-256 signed agent execution trails |
If you want to start tailoring your stack, please let me know:
If you’re talking about **thousands of autonomous agents**, I’d avoid treating this as “IAM for another type of service account.” The better architecture is **workload identity + agent identity + fine-grained authorization + secrets + policy/audit**. NIST is explicitly working on standards for software-agent identity…
If you’re talking about thousands of autonomous agents, I’d avoid treating this as “IAM for another type of service account.” The better architecture is workload identity + agent identity + fine-grained authorization + secrets + policy/audit.
NIST is explicitly working on standards for software-agent identity and authorization, and an IETF draft is converging on using existing workload-identity/OAuth mechanisms rather than inventing a completely new protocol.
| Layer | Strong candidates | What it should do |
|---|---|---|
| Agent/workload identity | SPIFFE/SPIRE, Microsoft Entra Agent ID, Okta/Auth0, AWS/GCP workload identity | Give every agent a unique, cryptographically verifiable identity |
| Authorization / policy | OPA, Cedar, OpenFGA, Aserto, Entra authorization | Decide what this particular agent may do |
| Secrets | HashiCorp Vault, cloud secret managers | Eliminate long-lived API keys; issue short-lived credentials |
| Delegation | OAuth 2.0/OIDC, token exchange, DPoP/RAR | Let an agent act for a user without inheriting the user's entire privilege set |
| Agent/tool gateway | MCP/API gateway + policy enforcement point | Check authorization immediately before tool execution |
| Audit / detection | SIEM + OpenTelemetry + identity logs | Make every consequential action attributable to an agent, owner and authorization context |
SPIFFE/SPIRE + an authorization engine + Vault + your existing enterprise IdP.
SPIFFE gives workloads portable identities and short-lived SVIDs; SPIRE is its reference implementation. It can work across Kubernetes, VMs and other infrastructure rather than tying your identity model to one cloud.
Then put an authorization layer between the agent and every meaningful capability:
Human / business owner
│
approval / delegation
│
Enterprise IdP
│
┌─────────────▼─────────────┐
│ Agent Registry │
│ owner / purpose / risk │
│ lifecycle / capabilities │
└─────────────┬─────────────┘
│
unique short-lived identity
│
┌────────────────────▼────────────────────┐
│ AI Agent Fleet │
│ agent-001 ... agent-50,000 │
└────────────────────┬────────────────────┘
│
authorization request
│
┌─────────────▼─────────────┐
│ Policy Engine / PEP │
│ agent + user + tool + │
│ resource + context + risk │
└─────────────┬─────────────┘
│
allow / deny / constrain
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
SaaS/API Database MCP tool
│ │ │
└────────── audit / telemetry ──────────┘
The crucial point is that identity should not equal permission.
An agent might have:
agent:finance:invoice-reviewerbut that identity alone shouldn't grant access to everything finance can access. The authorization decision should incorporate agent identity, owner, purpose, requested operation, resource, delegation context and risk.
Microsoft's current Entra Agent ID architecture is interesting if you're already heavily invested in Microsoft: it provides agent-specific identities, blueprints/templates, lifecycle governance, Conditional Access, risk signals and auditing. It also supports agent-to-agent discovery/authorization around MCP and A2A.
HashiCorp is another particularly interesting option if secrets + ephemeral authorization are central. Its agentic IAM model uses OAuth/Rich Authorization Requests and can derive an effective permission set from multiple constraints; Vault can also authenticate workloads directly using SPIFFE SVIDs.
For 10,000+ agents, I'd require:
human → agent → sub-agent → tool, with the authorization context preserved.GitHub.read_issue ≠ GitHub.merge_pr.Microsoft's current guidance similarly emphasizes managed/workload identities, tool-scoped permissions, separating read/write actions, policy checks before tool execution and auditing agent actions.
If you're cloud-neutral: SPIFFE/SPIRE + OPA/Cedar + Vault + existing IdP is probably the most composable foundation.
If you're Microsoft-centric: Microsoft Entra Agent ID + Entra Workload Identity + Conditional Access/ID Governance + your preferred policy engine, potentially federating SPIFFE/SPIRE into Entra. Microsoft now documents exactly that federation pattern.
If secrets and heterogeneous infrastructure dominate: SPIFFE/SPIRE + HashiCorp Vault, with an external authorization engine.
If you want the fewest moving parts in a Microsoft enterprise: Start with Entra Agent ID and determine whether its authorization granularity is sufficient before adding another policy platform.
The architectural decision I'd focus on most isn't “which agent IAM vendor?” It's where the authorization enforcement point lives. You want a design where an agent cannot simply obtain a powerful credential and bypass your policy engine. Every sensitive tool/API should receive a narrowly scoped, short-lived authorization artifact after policy evaluation.
If you tell me your environment (AWS/Azure/GCP/multicloud, Kubernetes or not, existing Okta/Entra, and whether agents use MCP/A2A), I can narrow this to a 2–3 vendor stack and a reference architecture for 10k–100k agents.
agent:finance:invoice-reviewerbut that identity alone shouldn't grant access to everything finance can access. The authorization decision should incorporate agent identity, owner, purpose, requested operation, resource, delegation context and risk.
Microsoft's current Entra Agent ID architecture is interesting if you're already heavily invested in Microsoft: it provides agent-specific identities, blueprints/templates, lifecycle governance, Conditional Access, risk signals and auditing. It also supports agent-to-agent discovery/authorization around MCP and A2A.
HashiCorp is another particularly interesting option if secrets + ephemeral authorization are central. Its agentic IAM model uses OAuth/Rich Authorization Requests and can derive an effective permission set from multiple constraints; Vault can also authenticate workloads directly using SPIFFE SVIDs.
To manage machine identity and permissions for thousands of AI agents, you need to transition from legacy static secrets to a **Non-Human Identity (NHI) management and dynamic authorization stack** . Traditional Identity and Access Management (IAM) systems fail here because AI agents act indeterministically,…
To manage machine identity and permissions for thousands of AI agents, you need to transition from legacy static secrets to a Non-Human Identity (NHI) management and dynamic authorization stack . Traditional Identity and Access Management (IAM) systems fail here because AI agents act indeterministically, dynamically changing their behavior and tools mid-session.
A robust Agent Security Stack requires three core architectural layers to enforce scale, zero trust, and visibility:
┌────────────────────────────────────────────────────────┐
│ 1. Agent Identity Layer (NHI) │ -> SPIFFE/SPIRE, Aembit, CyberArk
└───────────────────────────┬────────────────────────────┘
▼
┌────────────────────────────────────────────────────────┐
│ 2. Dynamic Authorization Layer (AuthZ) │ -> Styra (OPA), Aserto, Cerbos
└───────────────────────────┬────────────────────────────┘
▼
┌────────────────────────────────────────────────────────┐
│ 3. Agent Gateway & Interconnect Layer │ -> Model Context Protocol (MCP)
└────────────────────────────────────────────────────────┘
Stop using shared API keys or static super-agent accounts. You must give every individual agent instance a discrete, short-lived cryptographic identity.
Because AI agents chain tasks unexpectedly, static role-based access control (RBAC) is insufficient. You must look toward Attribute-Based Access Control (ABAC) or Relationship-Based Access Control (ReBAC) to validate intent at execution time.
You need a unified mediation layer between your agents and the sensitive infrastructure (databases, internal tools, SaaS applications) they interact with.
Comparison of Key Strategies
| Security Pattern | Legacy Method (Risk) | Modern Stack Method (Secure) |
|---|---|---|
| Authentication | Shared, long-lived API keys | Ephemeral mTLS certificates or JWT tokens |
| Access Rights | Broad, static "Admin" or "Super Agent" roles | Context-aware, just-in-time task execution loops |
| Delegation | Running under ambient system trust | Signed OAuth On-Behalf-Of (OBO) user session chains |
| Auditing | Blended human/machine cloud logs | Deterministic, SHA-256 signed agent execution trails |
If you want to start tailoring your stack, please let me know:
Yes. If you’re talking about **thousands of autonomous agents**, I would not buy this as a single “AI security” product. I’d build an **agent identity + authorization control plane** with several layers. The key architectural principle is: > **Every agent gets a first-class, cryptographically verifiable identity;…
Yes. If you’re talking about thousands of autonomous agents, I would not buy this as a single “AI security” product. I’d build an agent identity + authorization control plane with several layers.
The key architectural principle is:
Every agent gets a first-class, cryptographically verifiable identity; every tool call gets an independently evaluated, least-privilege authorization decision. That matters because agents operate at machine speed, can delegate to other agents, and may need different permissions from one task/session to the next. Recent industry guidance is converging on exactly this model.
| Layer | What you need | Strong candidates |
|---|---|---|
| Workload identity | Cryptographic identity, short-lived credentials, automatic rotation | SPIFFE/SPIRE, cloud workload identity |
| Agent IAM / NHI | Agent registry, ownership, lifecycle, authentication | Aembit, Okta, HashiCorp Vault |
| Authorization | Fine-grained, contextual policies for every action | Cedar, OPA, Zanzibar-style authorization |
| Secrets / credentials | JIT credentials, no API keys embedded in agents | HashiCorp Vault, cloud secret managers |
| Delegation | Agent acting on behalf of a human without inheriting all their privileges | OAuth 2.0/OBO + RAR, scoped tokens |
| Tool/MCP security | Control which agents can invoke which tools and with what arguments | MCP gateway/policy layer + authorization engine |
| Agent-to-agent | Mutual authentication and scoped A2A permissions | SPIFFE + OAuth/OIDC + A2A security |
| Audit / detection | Immutable record of agent → user → tool → resource → action | SIEM + agent-aware telemetry |
I'd seriously consider spiffe.io as the underlying machine/workload identity standard.
SPIFFE gives workloads a structured identity (spiffe://...), cryptographically verifiable SVIDs, and a Workload API for obtaining identities without distributing static secrets. That's a particularly good fit for ephemeral agents running across Kubernetes, VMs and cloud environments.
Think:
Agent-8472
│
├── SPIFFE identity
│ spiffe://prod.agents/customer-support/8472
│
└── short-lived credential
│
▼
Authorization
│
┌──┴─────────┐
▼ ▼
GitHub API Salesforce
Don't make the agent's identity equal to an API key.
aembit.io is particularly interesting for this use case because it explicitly targets non-human and agent identities. Its current offering includes agent identity, secretless MCP access, conditional access policies, identity brokering and centralized access-policy auditing.
I'd put Aembit high on the evaluation list if your problem is:
“We have 5,000 agents and need to know which agent is accessing which resource, why, and under whose authority, without handing every agent permanent credentials.”
hashicorp.com has become unusually relevant here.
As of September 2026, Vault Enterprise 2.1 has generally available agentic IAM, including an agent registry, OAuth resource-server capabilities, authorization ceilings, and delegated/RAR-based permissions.
The interesting model is:
Human permissions
∩
Agent maximum permissions
∩
This task/session's requested permissions
=
Effective permissions
That's much safer than:
User → Agent → "here's my GitHub token"
Vault's agent registry explicitly supports an authorization ceiling, meaning an agent cannot use delegation to acquire more authority than its registered maximum.
For a large fleet, that's a very compelling primitive.
I would separate authentication from authorization.
Don't encode your entire security model into IAM groups like:
agent-support-prod
agent-support-prod-admin
agent-support-prod-admin-v2
...
Instead, make authorization contextual:
ALLOW
agent.id = agent-8472
agent.type = customer-support
agent.owner = support-team
human.id = alice
action = refund
resource = order/12345
environment = production
amount < $500
approval = required
Then evaluate that policy on every consequential tool call.
I'd evaluate Cedar and OPA alongside any vendor-native authorization engine. The important part isn't the brand; it's getting a centralized, programmable policy layer that can handle agent identity, human delegation, resource, action, context and risk.
┌─────────────────────┐
│ Human / Application │
└──────────┬──────────┘
│
delegated intent
│
▼
┌─────────────────────────────────────────────────────────┐
│ AGENT CONTROL PLANE │
│ │
│ Agent Registry ── Identity ── Policy ── Risk ── Audit │
│ │ │ │ │ │
└───────┼──────────────┼───────────┼──────────┼───────────┘
│ │ │ │
▼ ▼ ▼ ▼
Agent metadata SPIFFE/OIDC Cedar/OPA SIEM
│
▼
┌─────────────────────────────────────────────────────────┐
│ AGENT RUNTIME │
│ │
│ Agent → Planner → Tool/MCP Gateway → Resource │
│ │ │
│ ▼ │
│ Authorization │
│ "Can THIS agent │
│ do THIS action │
│ on THIS resource │
│ RIGHT NOW?" │
└─────────────────────────────────────────────────────────┘
Don't give each agent a service account with a giant static permission set.
That recreates the old machine-identity problem, except now you have thousands of entities capable of making decisions autonomously.
Instead:
The recent security incidents involving autonomous agents reinforce why this matters: containment and credential boundaries can fail much faster than conventional human-operated systems.
If I were running the architecture evaluation, I'd start with three stacks:
Option A — Open/standards-oriented
SPIFFE/SPIRE + OPA/Cedar + Vault + existing IdP + SIEM Best if you have a strong platform/security engineering team and want to avoid vendor lock-in.
Option B — Enterprise agent/NHI control plane
Aembit + existing IdP + Vault/cloud secrets + Cedar/OPA + SIEM Best if the immediate problem is thousands of heterogeneous agents and machine identities and you want less infrastructure engineering.
Option C — Consolidated enterprise IAM/secrets
Okta + Vault Enterprise + authorization engine Best if you already have substantial Okta/enterprise IAM infrastructure. Okta's current agent-governance model explicitly emphasizes agent discovery, centralized registry, ownership and permissions.
My preference for a greenfield platform: SPIFFE as the identity substrate + Vault for credential/secret lifecycle + Cedar/OPA-style policy + an agent registry/control plane. Then put the policy enforcement point directly in front of your MCP/tool layer.
If you tell me roughly where the agents run (Kubernetes/cloud/SaaS), how they access tools (MCP/API/A2A), and whether you already use Okta/Entra/AWS/GCP, I can turn this into a concrete reference architecture and a vendor-by-vendor comparison for a 1,000–100,000 agent fleet.
hashicorp.com has become unusually relevant here.
As of September 2026, Vault Enterprise 2.1 has generally available agentic IAM, including an agent registry, OAuth resource-server capabilities, authorization ceilings, and delegated/RAR-based permissions.
The interesting model is:
Human permissions
∩
Agent maximum permissions
∩
This task/session's requested permissions
=
Effective permissions
That's much safer than:
User → Agent → "here's my GitHub token"
Vault's agent registry explicitly supports an authorization ceiling, meaning an agent cannot use delegation to acquire more authority than its registered maximum.
For a large fleet, that's a very compelling primitive.
I would separate authentication from authorization.
Don't encode your entire security model into IAM groups like:
agent-support-prod
agent-support-prod-admin
agent-support-prod-admin-v2
...
Instead, make authorization contextual:
ALLOW
agent.id = agent-8472
agent.type = customer-support
agent.owner = support-team
human.id = alice
action = refund
resource = order/12345
environment = production
amount < $500
approval = required
Then evaluate that policy on every consequential tool call.
I'd evaluate Cedar and OPA alongside any vendor-native authorization engine. The important part isn't the brand; it's getting a centralized, programmable policy layer that can handle agent identity, human delegation, resource, action, context and risk.
┌─────────────────────┐
│ Human / Application │
└──────────┬──────────┘
│
delegated intent
│
▼
┌─────────────────────────────────────────────────────────┐
│ AGENT CONTROL PLANE │
│ │
│ Agent Registry ── Identity ── Policy ── Risk ── Audit │
│ │ │ │ │ │
└───────┼──────────────┼───────────┼──────────┼───────────┘
│ │ │ │
▼ ▼ ▼ ▼
Agent metadata SPIFFE/OIDC Cedar/OPA SIEM
│
▼
┌─────────────────────────────────────────────────────────┐
│ AGENT RUNTIME │
│ │
│ Agent → Planner → Tool/MCP Gateway → Resource │
│ │ │
│ ▼ │
│ Authorization │
│ "Can THIS agent │
│ do THIS action │
│ on THIS resource │
│ RIGHT NOW?" │
└─────────────────────────────────────────────────────────┘
Don't give each agent a service account with a giant static permission set.
That recreates the old machine-identity problem, except now you have thousands of entities capable of making decisions autonomously.
Instead:
The recent security incidents involving autonomous agents reinforce why this matters: containment and credential boundaries can fail much faster than conventional human-operated systems.
For **thousands of AI agents**, I’d avoid buying a single “AI agent security” product. The durable architecture is a **machine-identity + authorization + secrets + runtime-policy stack**, with the model itself never being the security boundary. Current guidance from Microsoft and AWS is converging on distinct…
For thousands of AI agents, I’d avoid buying a single “AI agent security” product. The durable architecture is a machine-identity + authorization + secrets + runtime-policy stack, with the model itself never being the security boundary.
Current guidance from Microsoft and AWS is converging on distinct agent/workload identities, short-lived credentials, least privilege, delegated user context, deterministic policy checks before tool calls, and auditable attribution.
| Layer | What you need | Strong candidates |
|---|---|---|
| Agent/workload identity | Unique, cryptographically verifiable identity per agent/workload; no shared API keys | SPIFFE/SPIRE, Microsoft Entra Agent ID, AWS IAM/AgentCore Identity, Okta |
| Credential issuance | Short-lived credentials, workload attestation, automatic rotation | Aembit, cloud-native workload identity, SPIRE |
| Authorization | Per-action, contextual decisions—not just “agent has role X” | Cedar, OpenFGA, OPA, Zanzibar-style systems |
| Secrets / privileged access | Keep database/API credentials out of agents | CyberArk, HashiCorp Vault, cloud secret managers |
| Runtime/tool gateway | Central choke point for MCP/API/tool calls | Pomerium, Aembit, cloud AI gateways, custom policy gateway |
| Agent governance | Inventory, ownership, lifecycle, access reviews, anomalous behavior | Entra Agent ID/Agent 365, Okta, Astrix/Cisco, Oasis, Token Security |
| Audit/telemetry | User → agent → policy → tool → resource lineage | OpenTelemetry + SIEM/data lake |
The particularly important distinction is authentication vs. authorization. Knowing that “Agent 7 is Agent 7” doesn't tell you whether Agent 7 should delete this customer's database record right now. Modern agent IAM discussions increasingly emphasize this gap.
1. SPIFFE/SPIRE + Cedar/OpenFGA — best infrastructure-centric foundation
If you're building a platform for thousands of heterogeneous agents, I'd seriously consider making SPIFFE/SPIRE the machine-identity substrate. Agents/workloads get identities independent of where they're running, and your authorization system consumes those identities.
Then put Cedar or OpenFGA above it for fine-grained authorization.
This gives you a relatively vendor-neutral architecture:
Agent → SPIFFE identity → Policy engine → Tool/API → Resource
rather than tying agent identity to one cloud or LLM provider.
2. Aembit — strongest “buy rather than build” candidate for workload access
Aembit is explicitly extending workload IAM to AI agents, including SPIFFE compatibility, credential issuance, attestation and policy enforcement. Its agent model can combine the human identity + the agent identity when making an access decision.
That blended identity model is especially interesting for enterprise copilots:
Alice → Sales Agent → Salesforce
rather than simply:
Sales Agent → Salesforce
The former lets you answer both “which agent?” and “on whose authority?”
3. Microsoft Entra Agent ID — compelling if you're already Microsoft-heavy
Microsoft now has a purpose-built agent identity layer with agent blueprints/identities, lifecycle governance, Conditional Access, Identity Protection and auditing.
If your estate is heavily Entra + Azure + Microsoft 365, I'd put this near the top of the evaluation rather than introducing another identity plane.
4. AWS-native stack — compelling for an AWS estate
AWS's current agentic-AI guidance explicitly calls for distinct agent identities, short-lived credentials, permission boundaries, user-context propagation and continuous permission validation.
If you're predominantly AWS, I'd evaluate the native IAM/AgentCore direction before introducing another workload-identity vendor.
5. Pomerium / agent gateway approach — interesting at the enforcement point
Pomerium is positioning around runtime access enforcement for agents/MCP, while other vendors focus more on discovering and governing the non-human identities themselves. That's an important architectural distinction.
For thousands of agents, I'd want a gateway/policy enforcement point even if identity comes from another system.
I'd aim for something like:
Human / Event / Schedule
│
▼
┌─────────────┐
│ Agent │
│ Identity │
└──────┬──────┘
│
short-lived identity
│
▼
┌──────────────────┐
│ Authorization │
│ Policy Engine │
│ │
│ user + agent + │
│ task + tool + │
│ resource + risk │
└────────┬─────────┘
│
allow / deny / step-up
│
▼
┌──────────────────┐
│ Tool/API Gateway │
│ MCP / REST / DB │
└────────┬─────────┘
│
▼
Enterprise data
And every important request should produce an immutable-ish audit chain:
human → agent → delegated authority → policy decision → tool → resource → result
That attribution becomes extremely important once agents operate autonomously. AWS specifically recommends keeping agent and human permissions distinct rather than allowing an agent to assume a human identity.
Don't give an agent a permanent “Salesforce Admin” credential.
Instead:
Agent requests
Salesforce:update-opportunityfor tenant X, opportunity Y, initiated by user Z, for task T. The authorization layer decides whether that specific action is permitted and, ideally, issues a short-lived credential/token scoped to it.
This is much closer to capability-based / policy-based access than traditional RBAC. The Cloud Security Alliance's recent guidance similarly argues that ABAC/PBAC are better suited to dynamic, task-specific agent access than static roles alone.
I'd start with:
Then separately evaluate Cedar vs. OpenFGA for the authorization layer.
The key procurement question isn't “Which vendor secures AI agents?” It's “Which system owns the authoritative identity, which system makes the per-action authorization decision, and where can we revoke an agent in seconds?” If a product can't answer all three cleanly, I wouldn't make it the foundation for thousands of agents.
1. SPIFFE/SPIRE + Cedar/OpenFGA — best infrastructure-centric foundation
If you're building a platform for thousands of heterogeneous agents, I'd seriously consider making SPIFFE/SPIRE the machine-identity substrate. Agents/workloads get identities independent of where they're running, and your authorization system consumes those identities.
Then put Cedar or OpenFGA above it for fine-grained authorization.
This gives you a relatively vendor-neutral architecture:
Agent → SPIFFE identity → Policy engine → Tool/API → Resource
rather than tying agent identity to one cloud or LLM provider.
2. Aembit — strongest “buy rather than build” candidate for workload access
Aembit is explicitly extending workload IAM to AI agents, including SPIFFE compatibility, credential issuance, attestation and policy enforcement. Its agent model can combine the human identity + the agent identity when making an access decision.
That blended identity model is especially interesting for enterprise copilots:
Alice → Sales Agent → Salesforce
rather than simply:
Sales Agent → Salesforce
The former lets you answer both “which agent?” and “on whose authority?”
3. Microsoft Entra Agent ID — compelling if you're already Microsoft-heavy
Microsoft now has a purpose-built agent identity layer with agent blueprints/identities, lifecycle governance, Conditional Access, Identity Protection and auditing.
If your estate is heavily Entra + Azure + Microsoft 365, I'd put this near the top of the evaluation rather than introducing another identity plane.
4. AWS-native stack — compelling for an AWS estate
AWS's current agentic-AI guidance explicitly calls for distinct agent identities, short-lived credentials, permission boundaries, user-context propagation and continuous permission validation.
If you're predominantly AWS, I'd evaluate the native IAM/AgentCore direction before introducing another workload-identity vendor.
5. Pomerium / agent gateway approach — interesting at the enforcement point
Pomerium is positioning around runtime access enforcement for agents/MCP, while other vendors focus more on discovering and governing the non-human identities themselves. That's an important architectural distinction.
For thousands of agents, I'd want a gateway/policy enforcement point even if identity comes from another system.
I'd aim for something like:
Human / Event / Schedule
│
▼
┌─────────────┐
│ Agent │
│ Identity │
└──────┬──────┘
│
short-lived identity
│
▼
┌──────────────────┐
│ Authorization │
│ Policy Engine │
│ │
│ user + agent + │
│ task + tool + │
│ resource + risk │
└────────┬─────────┘
│
allow / deny / step-up
│
▼
┌──────────────────┐
│ Tool/API Gateway │
│ MCP / REST / DB │
└────────┬─────────┘
│
▼
Enterprise data
And every important request should produce an immutable-ish audit chain:
human → agent → delegated authority → policy decision → tool → resource → result
That attribution becomes extremely important once agents operate autonomously. AWS specifically recommends keeping agent and human permissions distinct rather than allowing an agent to assume a human identity.
Don't give an agent a permanent “Salesforce Admin” credential.
Instead:
Agent requests
Salesforce:update-opportunityfor tenant X, opportunity Y, initiated by user Z, for task T. The authorization layer decides whether that specific action is permitted and, ideally, issues a short-lived credential/token scoped to it.
This is much closer to capability-based / policy-based access than traditional RBAC. The Cloud Security Alliance's recent guidance similarly argues that ABAC/PBAC are better suited to dynamic, task-specific agent access than static roles alone.
I'd start with:
Managing machine identity and permissions for thousands of autonomous AI agents requires treating them as dynamic, high-velocity non-human workloads rather than standard human users . A `robust agent security stack` bridges foundational cryptographic identity, fine-grained runtime authorization, and intent-aware…
Managing machine identity and permissions for thousands of autonomous AI agents requires treating them as dynamic, high-velocity non-human workloads rather than standard human users . A robust agent security stack bridges foundational cryptographic identity, fine-grained runtime authorization, and intent-aware traffic gateways.
Consider the following core layers for an enterprise-grade AI agent security stack:
- *What to use:* SPIFFE / SPIRE (Secure Production Identity Framework for Everyone).
- *Why:* Static API keys or long-lived client secrets fail at scale in dynamic agent environments. SPIFFE provides cryptographically verifiable, short-lived SPIFFE Verifiable Identity Documents (SVIDs) based on the agent's runtime environment, container, or host, establishing automated zero-trust proof of who the agent is without manual credential provisioning.[](https://www.youtube.com/watch?v=blmAkayzE8M&t=633) [[1]](https://www.youtube.com/watch?v=blmAkayzE8M&t=633)[[2]](https://www.paloaltonetworks.com/blog/identity-security/ai-agent-security-spiffe-machine-identity/)
- *What to use:* OAuth 2.0 with OAuth Token Exchange (RFC 8693) and Dynamic Client Registration.
- *Why:* Agents often act on behalf of a human user or another agent. Token exchange allows you to preserve the **chain of custody** and delegation lineage (ensuring an agent cannot escalate privileges beyond the originating human or peer context). Pair this with standards emerging around protocols like the Model Context Protocol (MCP) authorization specs.[](https://umarcode.com/insights/ai-agent-identity-authorization-2026) [[1]](https://umarcode.com/insights/ai-agent-identity-authorization-2026)[[2]](https://www.youtube.com/watch?v=blmAkayzE8M&t=633)
- *What to use:* AI/API Gateways integrated with Fine-Grained Authorization (FGA) engines (e.g., Open Policy Agent / Styra or SpiceDB).
- *Why:* Agents should never hold raw, high-privilege tokens directly in their context windows, which leaves them vulnerable to prompt injection exploits. An AI gateway sits in front of external tools and APIs to strip, inspect, and re-evaluate tokens, filtering tool calls dynamically based on real-time intent and strict policy constraints.[](https://www.youtube.com/watch?v=foxmmgyu9jI&t=898) [[1]](https://www.youtube.com/watch?v=foxmmgyu9jI&t=898)[[2]](https://www.youtube.com/watch?v=aZGZen505EY&vl=en&t=29)
- *What to use:* SIEM/CNAPP tooling augmented with agentic telemetry (tracking tool-call velocity, data exfiltration patterns, and anomalous API chains).
- *Why:* Zero trust for agents requires continuous re-evaluation of intent rather than a one-time authentication check. If an agent's behavior deviates or falls victim to indirect prompt injection, the security stack must revoke its SVID and active tokens in real time.[](https://www.youtube.com/watch?v=aZGZen505EY&vl=en&t=29) [[1]](https://www.youtube.com/watch?v=aZGZen505EY&vl=en&t=29)
To help narrow down or build out this architecture, tell me: