Post

AI Authorization Must Survive the Entire Execution Chain

An AI agent can be authenticated at every hop and still produce an action the user was never allowed to take. This post shows where authority silently widens between user, agent, tool and API — and the patterns and evidence that keep it bounded.

AI Authorization Must Survive the Entire Execution Chain
Short on time? >>
📍 📋

Short on time? Summarize this article with

Your prompt is copied automatically — just paste it once the AI opens.

In short: An AI workflow can begin with a properly authenticated employee and still end in an action that employee was never allowed to perform. The failure is not a broken login; it is an agent, tool or backend quietly replacing a narrow authority with a broader one — most often a shared service account that every user's request collapses into. Authority may legitimately follow the user, belong to the agent, or transition between them under policy, but it must never change silently. In agentic systems, authorization is a property of the whole execution chain, not of the front door. The question for any leader deploying agents: when an agent acts across several systems, can we prove the final action stayed within the authority of the user who asked, or of an explicitly approved agent mandate?

Written for: Business decision makers, CISOs, identity leaders and security architects evaluating AI agents, tool integrations (including MCP) and multi-system automation.

Also worth reading: This post continues The Digital Employee Nobody Hired: Why AI Agents Need Identities, Limits and an Off Switch. That post asked whether an enterprise can identify, limit, supervise and stop its agents. This one follows an agent's authority after it starts to act.


Introduction

An employee asks an AI assistant to summarize delayed customer orders. The employee is authenticated. The assistant has a registered identity. Its tool server validates a token. The business API accepts a credential. Every component can truthfully say: the request was authenticated.

The result can still be unauthorized.

Suppose the employee may see orders for one region only, but the tool calls the business API with a shared identity that can read every region. No account was compromised and no authentication failed. The authorization boundary simply disappeared somewhere between the question and the data.

This post is about keeping that boundary intact while AI systems interpret goals, select tools and act across systems: the terms, the three legitimate ways authority can flow, the failure pattern, one chain that holds and one that breaks, and the patterns and review evidence that separate a design that is described from one that is demonstrated.

One Request, Several Authorities

flowchart LR
    U["User<br/>sets a goal"] --> A["AI agent<br/>interprets the goal"]
    A --> M["Tool or MCP server<br/>invokes a capability"]
    M --> API["Business API<br/>applies policy"]
    API --> D["Protected record<br/>or action"]

Each arrow may use a different identity, token, permission model and policy owner. Agent-identity systems such as Microsoft Entra Agent ID help by giving an agent its own identity, sponsor and lifecycle — but an identity alone does not say whether the agent is acting for a user, under its own mandate, or through a service with broader authority. The architecture has to make that explicit.

Terms That Are Often Confused

Most confusion here comes from treating different things as one. Identity propagation carries who initiated an action to the next hop; it does not prove the action was permitted. Delegation lets one actor exercise bounded authority for another, and impersonation lets it act as if it were the subject — at the cost of audit visibility. Authorization propagation is the property this post is about: the applicable permissions and conditions survive every hop, whether or not the same credential does.

For this article’s review framework, evaluate authorization using five inputs — the five elements referred to throughout this post. This is a practical checklist, not a claim that every authorization standard defines the same five-part model.

Table 1 — The five elements of an authorization decision and the question each answers.

ElementMeaningExample question
SubjectWhose authority is being exercisedIs this allowed because this employee may do it, or because an approved agent mandate may?
ActorWho is actually making the callWhich agent, tool or service holds the token and sends the request?
ResourceWhat is being accessedWhich record, document or transaction?
ActionWhich operation is requestedRead, summarize, update, approve, execute?
ContextConditions and declared purposeWhich workflow, risk state, device, approval?

Subject and actor are the same thing only when a user calls an API directly, or when an autonomous agent runs under its own mandate. In the common case — an employee asks a copilot to do something — the subject is the employee and the actor is the agent. Keeping them separate is what lets the resource enforce the employee’s limits and record that an agent, not the employee, performed the action.

OAuth can provide the plumbing for carrying that pair downstream. A token’s audience identifies its intended service, while its scope names operations according to that service’s definitions. RFC 8693 token exchange can let an agent obtain a token carrying both the user as subject and itself as actor, when the authorization server and deployment support and permit that exchange. All of that is about the token. None of it knows anything about the data. A token scoped customers.write for the CRM says nothing about whether this employee may change this customer’s bank details. That record-level decision still has to be made by a policy that evaluates the relevant five elements — the token just delivers some of the inputs.

Three Ways Authority Can Legitimately Flow

Authorization propagation does not mean every agent must inherit the end user’s permissions. There are three legitimate models, and a well-governed estate may use each where it fits.

Table 2 — The three authority models, when each fits, and what must be true for it to be safe.

ModelWhat it meansFitsSafe only if
User-delegatedThe agent acts for a user; the result must stay within that user’s permissionsAssistants that search, summarize or update on an employee’s behalfThe user’s boundary is enforced at the resource, not merely logged
Agent-ownedAn autonomous agent acts under its own approved mandateQueue monitoring, reconciliation, scheduled processingPermissions are scoped to the mandate, not borrowed from whoever triggered it
Explicit transitionA user starts a workflow; a controlled step hands execution to an agent or service mandateApproval-then-execute workflows, hand-offs to back-office automationThe transition has a policy decision, defined scope, duration, evidence and — where warranted — an approver

For the transition model, governance must answer who may approve it, which mandate is eligible, what stays prohibited, how long the authority lasts, and what triggers revocation.

The requirement is not always preserve user authority. It is:

Never allow authority to change silently.

Forwarding the end-user identity to every hop creates coupling and cross-domain problems; a well-designed system will exchange credentials, transform claims or use an agent identity at different points. What must survive is the meaning of the authorization: who authorized the action, which authority is in use, what limits apply, and where the decision is enforced.

The Authorization-Collapse Pattern

There is no standard name for what happened in the opening example, so I will call it authorization collapse: two or more principals with different permissions reach a resource through one intermediary that has more access than any of them, and their separate boundaries simply fold into its. This is related to the confused-deputy weakness (CWE-441): in an agent pipeline, the deputy may be a tool server or a backend credential that nobody treats as a decision point.

flowchart TB
    subgraph PRESERVED["Authority preserved"]
        direction LR
        U1["User A<br/>Region A"] --> AG1["Agent"]
        AG1 --> P1["Policy decision<br/>subject + actor + purpose"]
        P1 --> R1["Region A records"]
    end

    subgraph COLLAPSED["Authority collapsed"]
        direction LR
        U2["User A<br/>Region A"] --> AG2["Agent"]
        U3["User B<br/>Region B"] --> AG2
        AG2 --> S["Shared identity<br/>All regions"]
        S --> R2["All records"]
    end

Service identities are not the problem; system-to-system work needs them. The problem is undocumented expansion of authority, or loss of attribution, at the point they are used. The test: does the final action reflect the approved authority for this request, or merely the maximum authority of the intermediary?

One Chain That Holds, and the Same Chain Breaking

Consider a vendor-neutral pattern: an employee uses a copilot to update a customer’s contact details through an MCP tool and a CRM API.

sequenceDiagram
    participant U as User
    participant A as Copilot or Agent
    participant M as MCP Tool Server
    participant P as Policy Service
    participant C as CRM API
    participant R as Customer Record

    U->>A: Update customer contact details
    A->>M: Call update-customer tool
    M->>P: Evaluate subject, actor, action, purpose
    P-->>M: Permit limited update
    M->>C: Resource-specific token and claims
    C->>P: Evaluate record-level policy
    P-->>C: Permit named fields only
    C->>R: Apply authorized change
    R-->>U: Return bounded result and audit ID

Distinct controls are at work: the agent has its own identity, so the actor stays visible; the MCP server accepts only the intended tool scope; a policy decision evaluates the relevant elements; the CRM enforces record- and field-level rules; and the audit record links user, agent, tool, decision and outcome. Any hand-off to an agent-owned mandate is represented explicitly, not hidden behind a backend credential. MCP authorization for HTTP transports is a transport-level capability; tool-specific authorization and downstream API enforcement still depend on the system’s design and implementation.

Where it breaks

The design fails if the MCP server ignores the bounded decision and calls the CRM with a shared service account that can update every customer and field. The CRM then authorizes the service account, not the employee-agent request. Subject, purpose and field limits become audit metadata — present in the logs, absent from the decision. That is the point of collapse.

sequenceDiagram
    participant U as User
    participant A as Agent
    participant M as MCP Tool Server
    participant C as CRM API
    participant R as Customer Records

    U->>A: Update one permitted customer
    A->>M: Bounded tool request
    M->>C: Shared service credential
    C->>C: Authorize broad service account
    C->>R: Update beyond original boundary
    Note over M,C: Subject, purpose and field limits are lost

Where the Decision Is Made: PDP and PEP

Authorization does not have to be reimplemented inside every application. Modern architectures separate a Policy Decision Point (PDP), which evaluates policy, from a Policy Enforcement Point (PEP), which allows, modifies or blocks the request. NIST SP 800-207 describes both as core Zero Trust components; SP 800-207A applies them to identity-tier policy in cloud-native applications.

flowchart LR
    S["Subject<br/>owns the authority"] --> A["Actor<br/>performs the action"]
    A --> PEP["PEP<br/>intercepts the request"]
    PEP --> PDP["PDP<br/>evaluates policy"]
    PDP --> PEP
    PEP --> R["Resource<br/>receives allowed action"]
    C["Context<br/>purpose, workflow, risk"] --> PDP

A PDP may be embedded or central, and may implement RBAC, ABAC, relationship-based (ReBAC, Zanzibar-style) or capability-based models. The important property is not centralized versus distributed. It is that the decision has reliable inputs for the relevant elements, enforcement covers every consequential path, no other tool or data copy bypasses it, and the resource never accepts authority broader than the decision intended.

Two cautions. A central authorization service is a critical dependency: it needs availability, protected policy administration, versioned decisions and an explicit fail-open or fail-closed stance per process. And runtime tool discovery — an agent finding a new MCP capability on the fly — must not bypass registration, policy evaluation or enforcement because the capability is new.

Patterns That Preserve Authorization

No single pattern fits every workflow. These preservation patterns combine.

Table 3 — Eight preservation patterns, what each does, and the failure it prevents.

PatternWhat it doesPrevents
1. Resource-specific, delegated tokensIssue tokens for the intended downstream audience, constrained to necessary operationsToken forwarding to services it was never issued for
2. Subject-and-actor representationCarry both the originating subject and the acting agent or serviceLosing attribution; pretending agent and user are one actor
3. Bounded claims transformationTranslate claims between systems only through an approved trust relationship; narrow or preserve, never widenSilent privilege expansion at a trust boundary
4. External policy decisionsPDP/PEP where consistent policy is needed across many tools and APIsInconsistent or missing decisions across the estate
5. Resource- and field-level authorizationApply rules at tenant, record, field, operation and transaction-value granularity“API access” implying access to every object behind the API
6. Purpose as policy contextFor higher-risk workflows, purpose validated or bound to a controlled workflow and policy version augments identity, resource and action checksLegitimate access used for an unapproved purpose
7. Continuous authorization and revocationRe-evaluate on change of risk, device, session or agent behaviour; revocation reaches tokens, caches, indexes and running workflows within a known period; long tasks re-authorize at checkpointsAuthority outliving the decision that granted it
8. Cross-domain and agent-to-agent brokerageAt every organizational, SaaS or agent boundary: explicit token exchange, audience restriction and local policy evaluation; delegation to another agent is a new bounded decisionCollapse across trust domains and multi-agent pipelines

Pattern 8 matters more as agent-to-agent orchestration becomes routine: when agent A hands a task to agent B, B’s authority is the intersection of what the request needs and what B is approved to do — not whatever A happened to hold.

The Alternate-Path Problem

Search indexes, caches, embeddings, replicas and vector stores are each a second route to the same information — and a second authorization path.

flowchart LR
    U["User"] --> A["AI agent"]
    A --> P1["Business API"] --> AUTH["Policy enforcement"] --> DATA["Source data"]
    A --> P2["Search or vector path"] --> COPY["Derived data"]
    DATA -. indexed or replicated .-> COPY

Permission parity with the source is necessary but not always sufficient: embeddings, chunk metadata, summaries and combined retrieval can reveal inferences not obvious in any single record the user may open. A review tests both access equivalence (same objects by either path?) and information revealed by retrieval and composition (can the user learn more by this path?).

A new retrieval path is a new authorization path.

Common Anti-Patterns

  • Shared service accounts — users and agents become indistinguishable at the resource; the canonical collapse.
  • Static API keys and long-lived tokens reused across tools — no user or agent context, and one durable credential outlives the task.
  • Blanket backend permissions — the tool reaches more than any approved workflow requires.
  • Unscoped tool credentials — a credential for one tool or audience reused elsewhere.
  • Prompt-only restrictions — instructions ask the agent to behave but enforce nothing.
  • Unsynchronized derived stores — source access revoked while the index or vector store still answers.
  • Self-approved scope expansion — the agent can request more authority without an independent decision.

What an Architecture Review Should Measure

A review should produce evidence, not only a diagram. These are dimensions, not thresholds; acceptable values depend on the data, action, regulatory context and impact of failure.

Table 4 — Five review measures, why each matters, and how to obtain it.

MeasureWhy it mattersHow to measure
Revocation latencyHow long removed authority stays usableRevoke a test subject or agent; time to denial across API, cache, search and active-workflow paths
Authorization coverage %Consequential paths with no tested decision against the approved request contextPaths with tested authorization decisions and enforcement (central or resource-local) using the relevant request context ÷ all in-scope consequential paths
Privilege-expansion countWhere effective authority becomes broaderCount hops where downstream permissions exceed incoming authority; each approved expansion needs an owner and a policy reference
Alternate-path parityWhether equivalent routes give equivalent outcomesRun one allow/deny test set against API, search, cache and vector paths; record pass, fail or justified exception
Decision traceabilityInvestigation, audit, accountabilitySample material actions; reconstruct subject, actor, policy version, resource, action, context and outcome

Run against the broken CRM chain, three of the five fail at once: coverage (the CRM’s decision is not tested against the request’s subject and limits), privilege expansion (one unowned hop from “one customer, named fields” to “all customers, all fields”) and traceability (the log shows a service account, not the employee or agent). That is the business impact in miniature: unauthorized change or exposure, a segregation-of-duties gap, and an audit that cannot say who authorized what.

What Business Leaders Should Ask

The primary question:

When an AI agent acts across several systems, can we prove that the final action remained within the authority of the originating user or an explicitly approved agent mandate?

Then five follow-ups:

  1. Where in the chain can a limited authority be replaced by a broader service identity, and who owns each such point?
  2. When does authority transition from the user to the agent, and who approved it?
  3. Can the same information be reached through an API, an index, a cache or a vector store — and do all routes agree?
  4. Can a tool or agent increase its own scope during execution?
  5. When access is revoked, how quickly does every route stop working, and what test evidence shows it?

For vendor review: does the vendor explain only how identities authenticate, or can it show how authority is constrained through its tools and downstream systems?

Conclusion

Agentic AI turns one request into a chain of actions by several identities across several systems. Authority may follow the user, belong to the agent, or transition between them under policy — provided the transition is explicit, constrained and auditable. Authentication establishes who is present; delegation explains who acts for whom; authorization constrains what may happen; decision and enforcement points keep those limits effective across the chain.

An AI agent should not gain authority merely because it is useful, connected, or operating through an authenticated tool. Its authorization must survive the entire execution chain.

Key Takeaways

  • Valid authentication at every hop does not prove the final action was authorized.
  • Authority may follow the user or belong to an agent, but it must never change silently.
  • Authorization collapse — distinct boundaries disappearing behind a broader intermediary identity — is the pattern to look for; a shared service account behind a tool is its most common form.
  • PDP/PEP and resource-local authorization are both valid when decisions use the five elements and enforcement covers every path, including derived data stores and dynamically discovered tools.
  • The decisive evidence is revocation latency, alternate-path parity and the ability to reconstruct the authorization decision end to end.

💡 Pro Tip: Pick one high-value AI workflow and write the identity, the authority and the enforcement point above every arrow in its diagram. If two principals with different permissions become the same broad identity before the protected action, you have found your first review priority.


Frequently asked questions

What is authorization collapse in an AI agent workflow?

Authorization collapse is the pattern where users or agents with different permissions reach a protected resource through one intermediary identity that has broader access — typically a shared service account behind a tool or API. Each hop authenticates correctly, but the distinct permission boundaries disappear, so the final action reflects the intermediary’s maximum authority rather than the authority approved for that request. The term is proposed here as an analytical label, not an industry standard.

Is identity propagation the same as authorization propagation?

No. Identity propagation tells a downstream system who initiated or performed an action. Authorization propagation ensures the downstream action stays within the permissions, purpose and conditions approved for that request. A system can propagate identity perfectly — every log shows the right user — and still authorize the call against a broader service identity. Audit metadata is not an enforced boundary.

Must an AI agent always inherit the originating user's permissions?

No. There are three legitimate models: user-delegated authority, where the agent acts for a user and must stay within that user’s permissions; agent-owned authority, where an autonomous agent acts under its own approved mandate; and an explicit transition between the two under policy. What is never acceptable is a silent change — authority widening because a tool happened to hold a more powerful credential.

Does OAuth token exchange (RFC 8693) solve authorization for AI agents?

Only partly. RFC 8693 standardizes token exchange and defines subject and optional actor representation. An authorization server can issue a downstream token carrying both when the deployment supports and permits that exchange. The RFC does not decide whether a particular record, field or transaction should be allowed. A policy decision still has to be made and enforced at the resource, using the subject, actor, action and context available to it.

Must authorization be implemented inside every resource service?

No. Authorization can be evaluated by a centralized policy decision point and enforced by policy enforcement points in front of tools and APIs, or locally inside the resource. What matters is that the decision uses reliable subject, actor, resource, action and context inputs, that enforcement covers every consequential path, and that no alternate route — another tool, a cache, a search index — bypasses it.

Does matching vector-store permissions to source permissions fully close the risk?

It closes the direct permission-parity gap but not every inference risk. Embeddings, chunk metadata, summaries and combined retrieval can reveal information that is not obvious in any single source record a user is allowed to see. Permission parity with the source is necessary; retrieval and output composition still need testing against what a user may learn, not only what they may open.

What evidence should an architecture review produce for AI authorization?

At minimum: revocation latency across API, cache, index and running-workflow paths; the percentage of consequential paths with a tested policy decision; a count of hops where downstream authority exceeds incoming authority, each with a named owner; allow/deny parity across every route to the same data; and the ability to reconstruct subject, actor, policy version, resource, action and outcome for any sampled action.


References


Disclaimer

This article describes general security-architecture patterns using illustrative and composite examples. “Authorization collapse” is proposed as an analytical label, not an established standard or industry classification; the argument is risk-based rather than statistical, as reliable cross-industry incident data for this specific failure pattern remains limited. No specific employer, customer, vendor implementation, security finding, vulnerability or incident is referenced or implied. Technology capabilities and specifications evolve; readers should validate current authoritative documentation. This content is not legal, compliance or risk advice and does not represent the position of any employer, vendor, regulator or standards body.

Subodh Patil

Written by

CISSP · ISACA Advanced in AI Risk (AAIR) · Microsoft Certified: AI Transformation Leader & Cybersecurity Architect Expert

Principal security architect writing about AI risk management and governance, cloud AI trust boundaries, EU AI Act and CRA compliance, encryption and key management, and post-quantum cryptography. Independent, practitioner-written, no sponsorship. Corrections welcome via email. More about the author → Writing methodology →

Cite this article

APA

Patil, S. (2026, November 1). AI Authorization Must Survive the Entire Execution Chain. Subodh Patil. https://blog.suubodhpatil.com/posts/ai-authorization-must-survive-the-entire-execution-chain/

BibTeX

@misc{patil2026aiauthorizationmustsurvi,
  author       = {Patil, Subodh},
  title        = {AI Authorization Must Survive the Entire Execution Chain},
  year         = {2026},
  month        = {nov},
  howpublished = {\url{https://blog.suubodhpatil.com/posts/ai-authorization-must-survive-the-entire-execution-chain/}},
  note         = {Last modified 2026-11-01. Licensed CC BY 4.0.}
}

Permalink (stable): https://blog.suubodhpatil.com/posts/ai-authorization-must-survive-the-entire-execution-chain/

This post is licensed under CC BY 4.0 by the author.