Associando uma ACL AWS WAF da web ao seu serviço - AWS App Runner

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Associando uma ACL AWS WAF da web ao seu serviço

AWS WAF é um firewall de aplicativos da web que você pode usar para proteger seu serviço App Runner. Com as listas de controle de acesso à AWS WAF web (ACLs da web), você pode proteger seus endpoints do serviço App Runner contra explorações comuns da web e bots indesejados.

Uma ACL da web fornece um controle refinado sobre todas as solicitações da web recebidas para seu serviço App Runner. Você pode definir regras em uma ACL da web para permitir, bloquear ou monitorar o tráfego da web, a fim de garantir que somente solicitações autorizadas e legítimas cheguem aos seus aplicativos e APIs da web. Você pode personalizar as regras de ACL da web com base em suas necessidades comerciais e de segurança específicas. Para saber mais sobre a segurança da infraestrutura e as melhores práticas para aplicar ACLs de rede, consulte Controle o tráfego de rede no Guia do usuário da Amazon VPC.

Importante

As regras de IP de origem para serviços privados do App Runner que estão associados às ACLs da web do WAF não aderem às regras baseadas em IP. Isso ocorre porque atualmente não oferecemos suporte ao encaminhamento de dados IP de origem da solicitação para os serviços privados do App Runner associados ao WAF. Se seu aplicativo App Runner exigir regras de controle de tráfego de entrada IP/CIDR de origem, você deverá usar regras de grupo de segurança para endpoints privados em vez de WAF Web ACLs.

Fluxo de entrada de solicitações da web

Quando uma ACL AWS WAF da web é associada a um serviço do App Runner, as solicitações da web recebidas passam pelo seguinte processo:

  1. O App Runner encaminha o conteúdo da solicitação de origem para o. AWS WAF

  2. AWS WAF inspeciona a solicitação e compara seu conteúdo com as regras que você especificou na sua Web ACL.

  3. Com base em sua inspeção, AWS WAF retorna uma block resposta allow ou para o App Runner.

    • Se uma allow resposta for retornada, o App Runner encaminha a solicitação para seu aplicativo.

    • Se uma block resposta for retornada, o App Runner impede que a solicitação chegue ao seu aplicativo web. Ele encaminha a block resposta AWS WAF para sua inscrição.

      nota

      Por padrão, o App Runner bloqueia a solicitação se nenhuma resposta for retornada AWS WAF.

Para obter mais informações sobre ACLs AWS WAF da web, consulte Listas de controle de acesso à Web (ACLs da web) no Guia do AWS WAF desenvolvedor.

nota

Você paga o AWS WAF preço padrão. Você não incorre em nenhum custo adicional pelo uso de ACLs AWS WAF da web para seus serviços do App Runner. Para obter mais informações sobre preços, consulte AWS WAF Preços.

Associando WAF web ACLs ao seu serviço App Runner

A seguir está o processo de alto nível para associar uma ACL AWS WAF da web ao seu serviço App Runner:

  1. Crie uma ACL da web no AWS WAF console. Para obter mais informações, consulte Criação de uma ACL da web no Guia do AWS WAF desenvolvedor.

  2. Atualize suas permissões AWS Identity and Access Management (IAM) para AWS WAF. Para obter mais informações, consulte Permissões do .

  3. Associe a Web ACL ao serviço App Runner usando um dos seguintes métodos:

    • Console do App Runner: associe uma ACL da web existente usando o console do App Runner ao criar ou atualizar um serviço do App Runner. Para obter instruções, consulte Gerenciando ACLs AWS WAF da web.

    • AWS WAF console: associe a ACL da web usando o AWS WAF console para um serviço existente do App Runner. Para obter mais informações, consulte Associar ou desassociar uma ACL da web a um recurso da AWS no Guia do desenvolvedor.AWS WAF

    • AWS CLI: associe a ACL da web usando as APIs AWS WAF públicas. Para obter mais informações sobre APIs AWS WAF públicas, consulte AssociateWebACL no Guia de referência de AWS WAF APIs.

Considerações

  • As regras de IP de origem para serviços privados do App Runner que estão associados às ACLs da web do WAF não aderem às regras baseadas em IP. Isso ocorre porque atualmente não oferecemos suporte ao encaminhamento de dados IP de origem da solicitação para os serviços privados do App Runner associados ao WAF. Se seu aplicativo App Runner exigir regras de controle de tráfego de entrada IP/CIDR de origem, você deverá usar regras de grupo de segurança para endpoints privados em vez de WAF Web ACLs.

  • Um serviço App Runner só pode ser associado a uma ACL da web. No entanto, você pode associar uma ACL da web a vários serviços do App Runner e a vários AWS recursos. Os exemplos incluem grupos de usuários do Amazon Cognito e recursos do Application Load Balancer.

  • Quando você cria uma ACL da web, passa um pequeno tempo até que a ACL da web se propague totalmente e fique disponível para o App Runner. O tempo de propagação pode ser de alguns segundos a alguns minutos. AWS WAF retorna a WAFUnavailableEntityException quando você tenta associar uma ACL da web antes que ela seja totalmente propagada.

    Se você atualizar o navegador ou sair do console do App Runner antes que a Web ACL seja totalmente propagada, a associação não ocorrerá. No entanto, você pode navegar no console do App Runner.

  • AWS WAF retorna um WAFNonexistentItemException erro quando você chama uma das seguintes AWS WAF APIs para um serviço App Runner que está em um estado inválido:

    • AssociateWebACL

    • DisassociateWebACL

    • GetWebACLForResource

    Os estados inválidos do seu serviço App Runner incluem:

    • CREATE_FAILED

    • DELETE_FAILED

    • DELETED

    • OPERATION_IN_PROGRESS

      nota

      OPERATION_IN_PROGRESSO estado é inválido somente se o serviço App Runner estiver sendo excluído.

  • Sua solicitação pode resultar em uma carga útil maior do que os limites do que AWS WAF pode ser inspecionado. Para obter mais informações sobre como AWS WAF lidar com solicitações de tamanho grande do App Runner, consulte Tratamento de componentes de solicitações de tamanho grande no Guia do AWS WAF desenvolvedor para saber como lidar AWS WAF com solicitações de tamanho grande do App Runner.

  • Se você não definir regras apropriadas ou se seus padrões de tráfego mudarem, uma Web ACL pode não ser tão eficaz para proteger seu aplicativo.

Permissões

Para trabalhar com uma Web ACL em AWS App Runner, adicione as seguintes permissões do IAM para AWS WAF:

  • apprunner:ListAssociatedServicesForWebAcl

  • apprunner:DescribeWebAclForService

  • apprunner:AssociateWebAcl

  • apprunner:DisassociateWebAcl

Para obter mais informações sobre as permissões do IAM, consulte Políticas e permissões no IAM no Guia do usuário do IAM.

Veja a seguir um exemplo da política atualizada do IAM para AWS WAF. Essa política do IAM inclui as permissões necessárias para trabalhar com um serviço App Runner.

{ { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "wafv2:ListResourcesForWebACL", "wafv2:GetWebACLForResource", "wafv2:AssociateWebACL", "wafv2:DisassociateWebACL", "apprunner:ListAssociatedServicesForWebAcl", "apprunner:DescribeWebAclForService", "apprunner:AssociateWebAcl", "apprunner:DisassociateWebAcl" ], "Resource":"*" } ] }
nota

Embora você deva conceder permissões do IAM, as ações listadas são somente com permissão e não correspondem a uma operação de API.