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:
-
Um cliente envia uma solicitação para o endpoint do gateway.
-
AWS O WAF avalia a solicitação em relação às regras na ACL da web associada.
-
Se a solicitação for permitida, o gateway a encaminhará para o destino apropriado.
-
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
READYestado. -
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
-32002e 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 |
|---|---|
|
|
A contagem de solicitações bloqueadas pelo AWS WAF, incluindo respostas de bloqueio padrão e personalizadas. |
|
|
A contagem de solicitações em que o AWS WAF estava inacessível e o modo de falha do gateway é |
|
|
A contagem de solicitações em que o AWS WAF estava inacessível e o modo de falha do gateway está |
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
COUNTmodo antes de mudarBLOCKpara entender o impacto no seu tráfego. -
Monitore as
WafFailClosesmétricasWafBlocksWafFailOpens, e para ajustar suas regras e identificar problemas. -
Use o
FAIL_CLOSEmodo padrão para cargas de trabalho sensíveis à segurança. UseFAIL_OPENsomente quando a disponibilidade for crítica e você tiver outros controles de segurança em vigor.