Ensure that your Amazon Bedrock AgentCore runtimes are configured with an authorizer to authenticate and authorize incoming invocation requests. Amazon Bedrock AgentCore Runtime provides a serverless execution environment for AI agents, where each runtime exposes an endpoint that clients can call to invoke the agent. The authorizerConfiguration field on a runtime defines how incoming requests are authenticated before reaching the agent — currently supporting custom JWT-based authorization via an OpenID Connect (OIDC) discovery URL. When configured, the runtime validates incoming JWT tokens against the specified identity provider before allowing the invocation to proceed.
Without an authorizerConfiguration configured, an AgentCore runtime relies solely on AWS IAM-based access control for InvokeAgentRuntime requests. While IAM policies can restrict access to known AWS principals, the absence of a JWT authorizer means the runtime cannot validate tokens from external identity providers, OAuth clients, or end-user applications. This makes it impossible to enforce application-level or user-level access control on agent invocations, which is often required when AI agents are integrated into customer-facing systems or multi-tenant applications.
Configuring a custom JWT authorizer on the runtime enables the service to validate the Authorization header in incoming invocation requests against an OIDC-compliant identity provider, checking the token's audience, client ID, scopes, and any custom claims you define. This provides a critical layer of access control that ensures only authenticated and authorized callers — such as specific OAuth clients or users with the correct scopes — can interact with your AI agent runtime.
Enabling authorization on Amazon Bedrock AgentCore runtimes is essential for protecting AI agent workloads from unauthorized access. AI agents hosted on AgentCore runtimes may have access to sensitive internal tools, APIs, databases, and business logic. Without a properly configured authorizer, any caller with IAM InvokeAgentRuntime permissions — including automated pipelines, compromised roles, or misconfigured services — can invoke the agent without any additional identity verification. Configuring a JWT-based authorizer ensures that every invocation request is authenticated against a trusted identity provider, allowing you to enforce fine-grained access control based on user identity, application client, allowed scopes, and custom claims. This is particularly important for runtimes that serve external users or multi-tenant applications, where verifying the caller's identity and permissions is a fundamental security requirement.
Audit
To determine if your Amazon Bedrock AgentCore runtimes have authorization configured, perform the following operations:
Remediation / Resolution
To enable authorization on your Amazon Bedrock AgentCore runtimes, perform the following operations:
Before configuring authorization on a runtime, you must have an OIDC-compliant identity provider available (such as Amazon Cognito, Okta, Auth0, or Microsoft Entra ID). ThediscoveryUrl used in the authorizer configuration must be the OpenID Connect discovery endpoint of your identity provider (ending in /.well-known/openid-configuration). The runtime will validate incoming JWT tokens against this endpoint. If you do not have an existing OIDC identity provider, see Option 2 in the AWS CLI remediation section below for complete instructions to set up Amazon Cognito as the identity provider from scratch. References
- AWS Documentation
- Resource-based policies for Amazon Bedrock AgentCore
- How Amazon Bedrock AgentCore works with IAM
- Identity and access management for Amazon Bedrock AgentCore
- Host agent or tools with Amazon Bedrock AgentCore Runtime
- Provide identity and credential management for agent applications with Amazon Bedrock AgentCore Identity
- Configure inbound JWT authorizer
- Authenticate and authorize with Inbound Auth and Outbound Auth
- Amazon Cognito
- AuthorizerConfiguration
- CustomJWTAuthorizerConfiguration
- GetAgentRuntime
- UpdateAgentRuntime
- AWS Command Line Interface (CLI) Documentation
- list-agent-runtimes
- get-agent-runtime
- update-agent-runtime
- CloudFormation Documentation
- AWS::BedrockAgentCore::Runtime
- AWS::BedrockAgentCore::Runtime AuthorizerConfiguration
- AWS::BedrockAgentCore::Runtime CustomJWTAuthorizerConfiguration
- Terraform Documentation
- AWS Provider