Enterprise takeaway: A valid OAuth token proves that a client may present a credential to a resource; it does not by itself prove that an agent should perform a particular business action for a particular user. Enterprises deploying agent tool gateways need separate checks for user identity, agent identity, downstream audience, resource-level permission and the business context of each operation.

That distinction is increasingly concrete. Amazon Bedrock AgentCore Gateway’s outbound authorization documentation distinguishes machine credentials, user-delegated authorization-code grants, token exchange on behalf of a user, caller IAM credentials and gateway service-role access. Those are different security models, not interchangeable implementation choices. The Model Context Protocol TypeScript SDK authorization guidance also emphasizes validating access tokens for the intended resource. Neither feature automatically answers whether a requested operation is appropriate in the user’s current business context.

The mistake: treating credential acquisition as authorization

Consider an expense assistant that can read invoices and call a payment tool. A user signs in, the agent receives a scoped token and a gateway successfully authenticates its request. A tool call to retrieve invoice status may be legitimate; a call to change bank details may require a separate approval, even if the same OAuth scope permits both API endpoints. Authentication succeeded in both cases. Business authorization should not.

Four distinct questions belong in the design: who is the human principal, which workload is acting, which downstream resource is addressed, and what exact action is allowed now? A fifth question—whether an approval or policy exception is required—must be evaluated before execution. This is an architectural test case, not a claim of an observed provider incident.

Five boundaries to enforce at every tool call

1. Inbound identity. Validate the calling token’s issuer, audience, expiry and relevant scopes. The MCP SDK documentation explicitly describes an MCP server as a resource server that validates tokens issued for that resource. A token for a different audience must not become a generic credential for another service.

2. Delegation. Record whether the action uses a human-delegated credential, a machine credential, an assumed caller identity or a shared gateway role. AWS distinguishes authorization-code grants from client-credentials grants and on-behalf-of token exchange. The distinction matters because machine credentials do not inherently carry a user’s business entitlement.

3. Tool authorization. Gate each tool or target separately. A tool catalog entry describes what an operation can do; it is not proof the caller should be allowed to do it. The MCP Apps authorization guidance distinguishes per-server and per-tool protection, illustrating why sensitive operations may require finer-grained gates.

4. Resource authorization. Evaluate the actual object, tenant and data sensitivity at execution time. A ‘read’ scope can still expose the wrong customer’s record if a downstream API trusts a caller-supplied tenant ID without checking ownership.

5. Transaction policy. Check approval thresholds, separation of duties, risk flags and action-specific limits. The agent may have authority to prepare a change without authority to commit it. This extends the control-plane distinction explained in our enterprise agent identity, authorization, egress and audit framework.

A practical delegation decision diagram

Original CPX diagram: the five-gate delegated tool call
Human + agentToken audienceDelegation modeTool + object ACLTransaction approval

Any failed gate denies execution and records the reason. This is a proposed enterprise control model, not a vendor reference architecture.

Why shared gateway roles deserve special scrutiny

A gateway service role can simplify integration, but it can also enlarge the consequences of a mistaken routing or authorization rule. AWS’s gateway documentation states that the execution role is shared across targets configured with its gateway-role mode and recommends minimum permissions, distinct gateways across trust boundaries and policy-engine restrictions for callers. These are explicit vendor recommendations, not a guarantee that a particular deployment has implemented them.

Procurement should therefore ask vendors to demonstrate which identity is visible to the downstream service. Can the service distinguish a real end-user delegation from an application-wide credential? Does it receive the user identity as a verified claim, or only as a string in the agent’s arguments? This question belongs in the third-party security-agent due-diligence process, not only in an API integration checklist.

Negative tests that reveal false confidence

Before production, run a test matrix rather than a successful happy-path demo. Remove a user’s group membership while the agent session remains active. Present a token minted for a different resource. Try the same tool through machine credentials and user-delegated credentials. Change a request’s tenant or object identifier. Attempt a high-impact action without approval. Revoke consent and test an already-running workflow. The expected result is an explicit deny or bounded, documented revocation delay—not silent continuation.

Record principal, workload, credential mode, resource, policy version, decision and outcome, while excluding secrets and sensitive payloads. Our agent audit-trail evidence framework explains how to connect those events without pretending that a model’s explanation is authoritative evidence.

Questions to put in the vendor contract

Require a documented matrix of supported OAuth grant types and target services, revocation behavior, tenant boundaries, token storage and refresh controls, and administrator-visible logs. Demand a demonstration of denial cases. Define which system enforces business approvals and who owns incidents when a gateway, tool provider and downstream SaaS application disagree. Treat the ability to disable a connector or rotate credentials as a tested operational control, not a contractual adjective.

Most importantly, do not accept a broad claim of ‘OAuth-secured agents’ as proof of least privilege. OAuth is essential plumbing. The enterprise security decision occurs where a specific identity, action, resource and business policy meet.

References and verification notes