View a markdown version of this page

Protegendo seu gateway com AWS WAF - Amazon Bedrock AgentCore

Protegendo seu gateway com AWS WAF

Você pode usar o AWS WAF com o Amazon Bedrock AgentCore Gateway para proteger seu gateway contra explorações da web, tráfego de bots e ataques volumétricos. AWS O WAF fornece uma camada de segurança em linha que avalia todas as solicitações recebidas antes que elas atinjam suas metas.

Quando você associa uma lista de controle de acesso à web (Web ACL) do AWS WAF ao seu gateway, o AWS WAF inspeciona cada solicitação de entrada e aplica as regras que você configura. Solicitações que correspondem a uma regra de bloqueio são rejeitadas antes de atingirem qualquer alvo. Você associa uma ACL da web no nível do gateway, com uma ACL da web por gateway.

Como AWS O WAF funciona com seu gateway

Quando você associa uma Web ACL ao seu gateway, ocorre o seguinte fluxo de solicitações:

  1. Um cliente envia uma solicitação para o endpoint do gateway.

  2. AWS O WAF avalia a solicitação em relação às regras na ACL da web associada.

  3. Se a solicitação for permitida, o gateway a encaminhará para o destino apropriado.

  4. Se a solicitação for bloqueada, o gateway retornará um erro ao cliente sem encaminhar a solicitação.

AWS O WAF avalia cada solicitação de entrada em linha. Quando nenhuma ACL da web está associada ao seu gateway, não há sobrecarga e nenhuma avaliação do AWS WAF ocorre.

Pré-requisitos

Antes de associar uma Web ACL ao seu gateway, certifique-se de atender aos seguintes requisitos:

  • Seu AWS WAF web ACL deve existir na mesma AWS região do seu gateway.

  • Você deve usar uma ACL da web regional. CloudFront Não há suporte para ACLs da web (globais).

  • Seu gateway deve estar no READY estado.

  • Sua identidade do IAM deve ter as seguintes permissões:

    • wafv2:AssociateWebACL

    • wafv2:DisassociateWebACL

    • wafv2:GetWebACLForResource

    • wafv2:ListResourcesForWebACL

    • bedrock-agentcore:GatewayAssociateWebACL

    • bedrock-agentcore:GatewayDisassociateWebACL

    • bedrock-agentcore:GatewayGetWebACLForResource

    • bedrock-agentcore:GatewayListResourcesForWebACL

Associando uma ACL da web ao seu gateway

Você pode associar uma Web ACL ao seu gateway usando o console AWS WAF ou a CLI AWS . Um gateway pode ter no máximo uma Web ACL. No entanto, uma Web ACL pode ser associada a vários gateways. Para alterar a ACL da web associada ao seu gateway, associe uma nova ACL da web. A nova associação substitui a existente.

Para associar uma Web ACL ao seu gateway usando a AWS CLI, execute o seguinte comando:

aws wafv2 associate-web-acl \ --web-acl-arn arn:aws:wafv2:us-east-1:123456789012:regional/webacl/my-web-acl/a1b2c3d4-5678-90ab-cdef-example11111 \ --resource-arn arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/my-gateway-id

Substitua os valores do ARN pelo ARN da Web ACL e pelo ARN do gateway.

Desassociando uma Web ACL do seu gateway

Para remover a proteção AWS WAF do seu gateway, desassocie a Web ACL. Você deve desassociar qualquer Web ACL do seu gateway antes de excluir o gateway.

Para desassociar uma Web ACL do seu gateway usando a AWS CLI, execute o seguinte comando:

aws wafv2 disassociate-web-acl \ --resource-arn arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/my-gateway-id

Substitua o valor do ARN pelo ARN do gateway.

Configurando o   AWS Modo de falha do WAF

Se o AWS WAF estiver inacessível ou expirar durante a avaliação da solicitação, o gateway usará o modo de falha configurado para determinar se deseja bloquear ou permitir a solicitação.

FAIL_CLOSE

O gateway bloqueia a solicitação. Esse é o comportamento padrão.

FAIL_OPEN

O gateway permite que a solicitação chegue ao destino sem a avaliação do AWS WAF.

Para configurar o modo de falha, use a UpdateGateway API com o wafConfiguration parâmetro:

aws bedrock-agentcore-control update-gateway \ --gateway-identifier my-gateway-id \ --name my-gateway \ --role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \ --authorizer-type CUSTOM_JWT \ --authorizer-configuration '{ "customJWTAuthorizer": { "discoveryUrl": "https://cognito-idp.us-east-1.amazonaws.com/my-user-pool/.well-known/openid-configuration", "allowedClients": ["clientId"] } }' \ --waf-configuration '{"failureMode": "FAIL_OPEN"}'
Importante

O modo de falha padrão éFAIL_CLOSE, que fornece uma abordagem que prioriza a segurança. Use FAIL_OPEN somente quando a disponibilidade for mais importante do que a segurança para sua carga de trabalho.

AWS Tratamento de respostas do WAF

Quando o AWS WAF bloqueia uma solicitação, a resposta de erro depende do tipo de destino:

Metas do MCP

Solicitações bloqueadas retornam um JSON-RPC erro com o código -32002 e a mensagem"Authorization error - Request forbidden".

Alvos HTTP e de passagem

Solicitações bloqueadas retornam HTTP 403.

Se o AWS WAF atingir o tempo limite com a FAIL_CLOSE configuração, o gateway retornará o mesmo erro de uma solicitação bloqueada. Se o AWS WAF retornar um erro 5xx, os alvos MCP receberão um JSON-RPC erro com o código -32603 e a mensagem. "Internal error - Server error"

Monitoramento AWS Atividade do WAF

Você pode monitorar a atividade AWS do WAF no seu gateway usando CloudWatch as métricas da Amazon.

As métricas a seguir estão disponíveis no AWS/Bedrock-AgentCore namespace:

Métrica Description

WafBlocks

A contagem de solicitações bloqueadas pelo AWS WAF, incluindo respostas de bloqueio padrão e personalizadas.

WafFailOpens

A contagem de solicitações em que o AWS WAF estava inacessível e o modo de falha do gateway éFAIL_OPEN, portanto, a solicitação foi encaminhada ao destino sem a avaliação do WAF. AWS Valores sustentados diferentes de zero indicam que seu gateway está deixando o tráfego passar sem a inspeção do AWS WAF.

WafFailCloses

A contagem de solicitações em que o AWS WAF estava inacessível e o modo de falha do gateway estáFAIL_CLOSE, portanto, a solicitação foi rejeitada. Valores sustentados diferentes de zero indicam que seu gateway está reduzindo o tráfego devido à inacessibilidade do WAF. AWS

Para obter detalhes em nível de regra sobre solicitações bloqueadas, use o registro do AWS WAF. Você pode correlacionar o ID da solicitação nos registros do gateway com os registros do AWS WAF.

Cotas e limitações

As cotas e limitações a seguir se aplicam à integração do AWS WAF com seu gateway:

  • Máximo de 100 associações de ACL da web por conta.

  • AWS A associação do WAF está somente no nível do gateway, não por alvo. Para aplicar regras diferentes a destinos diferentes, use regras AWS WAF baseadas em caminhos de URI.

  • AWS A integração do WAF está disponível em AWS regiões onde o AWS WAF e o AgentCore Gateway estão disponíveis.

Práticas recomendadas

Recomendamos as seguintes práticas ao usar o AWS WAF com seu gateway:

  • Use grupos de regras de regras AWS gerenciadas para obter proteções comuns contra ameaças conhecidas.

  • Implemente regras baseadas em taxas para se proteger contra ataques volumétricos.

  • Use IP-based regras para permitir ou negar fontes conhecidas.

  • Teste as regras AWS do WAF no COUNT modo antes de mudar BLOCK para entender o impacto no seu tráfego.

  • Monitore as WafFailCloses métricas WafBlocksWafFailOpens, e para ajustar suas regras e identificar problemas.

  • Use o FAIL_CLOSE modo padrão para cargas de trabalho sensíveis à segurança. Use FAIL_OPEN somente quando a disponibilidade for crítica e você tiver outros controles de segurança em vigor.