Bedrock AgentCore Gateways should require authorization for inbound requests
Flags Amazon Bedrock AgentCore gateways that do not require authorization for inbound requests. Without inbound authorization the gateway is reachable by any caller, exposing the underlying agent tools to abuse.
- service
- BedrockAgentCore
- severity
- High
- scope
- evaluated in every region
How to fix it
Give the AgentCore gateway an inbound authorizer: AWS_IAM, which makes every caller sign its requests with SigV4 and hold an IAM permission, or CUSTOM_JWT, which keeps bearer tokens but needs the issuer's discovery URL and the audiences or client ids you accept. UpdateGateway rewrites the gateway rather than patching it, so read its current configuration first and resupply it: anything optional left out of the call is cleared, including the description, the KMS key, the protocol configuration and any interceptors.
In the console
Bedrock AgentCore → Gateways → the gateway → Inbound authorization
With the AWS CLI
aws bedrock-agentcore-control update-gateway --gateway-identifier <gateway-id> --name <gateway-name> --role-arn <gateway-role-arn> --protocol-type MCP --authorizer-type AWS_IAM --kms-key-arn <kms-key-arn> --region <region>With Terraform
resource "aws_bedrockagentcore_gateway" "this" {
name = var.gateway_name
role_arn = var.gateway_role_arn
authorizer_type = "AWS_IAM"
}
See which of your accounts this check is failing on.
Book a demo