Gerenciando AWS WAF ACLs da web - 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á.

Gerenciando AWS WAF ACLs da web

Gerencie as ACLs AWS WAF da web para seu serviço App Runner usando um dos seguintes métodos:

Console do App Runner

Ao criar um serviço ou atualizar um existente no console do App Runner, você pode associar ou desassociar uma ACL AWS WAF da web.

nota
  • Um serviço App Runner só pode ser associado a uma ACL da web. No entanto, você pode associar uma ACL da web a mais de um serviço do App Runner, além de outros AWS recursos.

  • Antes de associar uma Web ACL, certifique-se de atualizar suas permissões do IAM para AWS WAF. Para obter mais informações, consulte Permissões do .

Associando a ACL AWS WAF da web

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.

Para associar uma AWS WAF ACL da web
  1. Abra o console do App Runner e, na lista Regiões, selecione seu Região da AWS.

  2. Com base no fato de você estar criando ou atualizando um serviço, execute uma das seguintes etapas:

    • Se você estiver criando um novo serviço, escolha Criar um serviço App Runner e acesse Configurar serviço.

    • Se você estiver atualizando um serviço existente, escolha a guia Configuração e escolha Editar em Configurar serviço.

  3. Vá para Firewall de aplicativos da Web em Segurança.

  4. Escolha o botão de alternância Ativar para ver as opções.

    O layout do console do App Runner, mostrando as opções do Web Application Firewall.
  5. Execute uma das seguintes etapas:

    • Para associar uma ACL da web existente: escolha a ACL da web necessária na tabela Escolha uma ACL da web para associar ao seu serviço App Runner.

    • Para criar uma nova ACL da web: escolha Criar ACL da web para criar uma nova ACL da web usando o console. AWS WAF Para obter mais informações, consulte Criação de uma ACL da web no Guia do AWS WAF desenvolvedor.

      1. Escolha o botão Atualizar para visualizar a ACL da Web recém-criada na tabela Escolher uma ACL da Web.

      2. Selecione a ACL da web necessária.

  6. Escolha Avançar se estiver criando um novo serviço ou Salvar alterações se estiver atualizando um serviço existente. A ACL da web selecionada está associada ao seu serviço App Runner.

  7. Para verificar a associação da Web ACL, escolha a guia Configuração do seu serviço e vá para Configurar serviço. Role até Firewall do aplicativo Web em Segurança para ver os detalhes da ACL da web associada ao seu serviço.

    nota

    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.

Desassociando uma AWS WAF ACL da web

Você pode desassociar a AWS WAF Web ACL que não precisa mais atualizando seu serviço App Runner.

Para desassociar uma AWS WAF Web ACL
  1. Abra o console do App Runner e, na lista Regiões, selecione seu Região da AWS.

  2. Vá para a guia Configuração do serviço que você deseja atualizar e escolha Editar em Configurar serviço.

  3. Vá para Firewall de aplicativos da Web em Segurança.

  4. Desative o botão de alternância Ativar. Você recebe uma mensagem para confirmar a exclusão.

  5. Selecione a opção Confirmar. A ACL da web está desassociada do seu serviço App Runner.

    nota
    • Se você quiser associar seu serviço a outra ACL da Web, selecione uma ACL da Web na tabela Escolher uma ACL da Web. O App Runner desassocia a ACL da web atual e inicia o processo de associação à ACL da web selecionada.

    • Se nenhum outro serviço ou recurso do App Runner usar uma ACL da web não associada, considere excluir a ACL da web. Caso contrário, você continuará incorrendo em custos. Para obter mais informações sobre precificação, consulte Precificação do AWS WAF. Para obter instruções sobre como excluir uma ACL da web, consulte DeleteWebACL na Referência da AWS WAF API.

    • Você não pode excluir uma Web ACL associada a outros serviços ativos do App Runner ou a outros recursos.

AWS CLI

Você pode associar ou desassociar uma ACL AWS WAF da web usando as APIs AWS WAF públicas. O serviço App Runner, ao qual você deseja associar ou desassociar uma ACL da web, deve estar em um estado válido.

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.

Para obter mais informações sobre APIs AWS WAF públicas, consulte o Guia de referência de AWS WAF APIs.

nota

Atualize suas permissões do IAM para AWS WAF. Para obter mais informações, consulte Permissões do .

Associando a AWS WAF Web ACL usando AWS CLI

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.

Para associar uma AWS WAF ACL da web
  1. Crie uma ACL AWS WAF da web para seu serviço com seu conjunto preferido de ações de regras Allow ou solicitações Block da web para seu serviço. Para obter mais informações sobre AWS WAF APIs, consulte CreateWebACL no Guia de referência de AWS WAF APIs.

    exemplo Criar uma ACL da web - Solicitação
    aws wafv2 create-web-acl --region <region> --name <web-acl-name> --scope REGIONAL --default-action Allow={} --visibility-config <file-name.json> # This is the file containing the WAF web ACL rules.
  2. Associe a ACL da web que você criou ao serviço App Runner usando a API associate-web-acl AWS WAF pública. Para obter mais informações sobre AWS WAF APIs, consulte AssociateWebACL no Guia de referência de AWS WAF APIs.

    nota

    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.

    exemplo Associando uma ACL da web - Solicitação
    aws wafv2 associate-web-acl --resource-arn <apprunner_service_arn> --web-acl-arn <web_acl_arn> --region <region>
  3. Verifique se a ACL da web está associada ao seu serviço App Runner usando a API get-web-acl-for-resource AWS WAF pública. Para obter mais informações sobre AWS WAF APIs, consulte GetWebACL ForResource no Guia de referência de AWS WAF APIs.

    exemplo Verificar a ACL da web para o recurso - Solicitação
    aws wafv2 get-web-acl-for-resource --resource-arn <apprunner_service_arn> --region <region>

    Se não houver ACLs da web associadas ao seu serviço, você receberá uma resposta em branco.

Excluindo uma ACL AWS WAF da web usando AWS CLI

Você não pode excluir uma ACL AWS WAF da web se ela estiver associada a um serviço do App Runner.

Para excluir uma AWS WAF ACL da web
  1. Desassocie a ACL da web do seu serviço App Runner usando a disassociate-web-acl AWS WAF API pública. Para obter mais informações sobre AWS WAF APIs, consulte DisassociateWebACL no Guia de referência de AWS WAF APIs.

    exemplo Desassociando uma ACL da web - Solicitação
    aws wafv2 disassociate-web-acl --resource-arn <apprunner_service_arn> --region <region>
  2. Verifique se a ACL da web está desassociada do seu serviço App Runner usando a get-web-acl-for-resource AWS WAF API pública.

    exemplo Verifique se a ACL da web está desassociada - Solicitação
    aws wafv2 get-web-acl-for-resource --resource-arn <apprunner_service_arn> --region <region>

    A ACL da web desassociada não está listada para seu serviço App Runner. Se não houver ACLs da web associadas ao seu serviço, você receberá uma resposta em branco.

  3. Exclua a ACL da web desassociada usando a API delete-web-acl AWS WAF pública. Para obter mais informações sobre AWS WAF APIs, consulte DeleteWebACL no Guia de referência de AWS WAF APIs.

    exemplo Excluir uma ACL da web - Solicitação
    aws wafv2 delete-web-acl --name <web_acl_name> --scope REGIONAL --id <web_acl_id> --lock-token <web_acl_lock_token> --region <region>
  4. Verifique se a ACL da web foi excluída usando a API list-web-acl AWS WAF pública. Para obter mais informações sobre AWS WAF APIs, consulte ListWebACLs no Guia de referência de AWS WAF APIs.

    exemplo Verifique se a ACL da web foi excluída - Solicitação
    aws wafv2 list-web-acls --scope REGIONAL --region <region>

    A ACL da web excluída não está mais listada.

    nota

    Se uma ACL da web estiver associada a outros serviços ativos do App Runner ou a outros recursos, como grupos de usuários do Amazon Cognito, a ACL da web não poderá ser excluída.

Listando os serviços do App Runner associados a uma ACL da web

Uma ACL da web pode ser associada a vários serviços do App Runner e outros recursos. Liste os serviços do App Runner associados a uma ACL da web usando a API list-resources-for-web-acl AWS WAF pública. Para obter mais informações sobre AWS WAF APIs, consulte ListResourcesForWebACL no Guia de referência de AWS WAF APIs.

exemplo Listar os serviços do App Runner associados a uma ACL da web - Solicitação
aws wafv2 list-resources-for-web-acl --web-acl-arn <WEB_ACL_ARN> --resource-type APP_RUNNER_SERVICE --region <REGION>
exemplo Listar serviços do App Runner associados a uma ACL da web - Resposta

O exemplo a seguir ilustra a resposta quando não há serviços do App Runner associados a uma ACL da web.

{ "ResourceArns": [] }
exemplo Listar serviços do App Runner associados a uma ACL da web - Resposta

O exemplo a seguir ilustra a resposta quando há serviços do App Runner associados a uma ACL da web.

{ "ResourceArns": [ "arn:aws:apprunner:<region>:<aws_account_id>:service/<service_name>/<service_id>" ] }

Testando e registrando AWS WAF ACLs da web

Quando você define uma ação de regra como Count em sua ACL da web, AWS WAF adiciona a solicitação a uma contagem de solicitações que correspondem à regra. Para testar uma ACL da web com seu serviço App Runner, defina ações de regra como Count e considere o volume de solicitações que correspondem a cada regra. Por exemplo, você define uma regra para a Block ação que corresponde a um grande número de solicitações que você determina como tráfego normal de usuários. Nesse caso, talvez seja necessário reconfigurar sua regra. Para obter mais informações, consulte Teste e ajuste de suas AWS WAF proteções no Guia do AWS WAF desenvolvedor.

Você também pode configurar AWS WAF para registrar cabeçalhos de solicitação em um grupo de CloudWatch logs do Amazon Logs, em um bucket do Amazon Simple Storage Service (Amazon S3) ou em um Amazon Data Firehose. Para obter mais informações, consulte Logging web ACL traffic (Registrar em log o tráfego da ACL da web) no Guia do desenvolvedor do AWS WAF .

Para acessar registros relacionados à ACL da web associada ao seu serviço App Runner, consulte os seguintes campos de registro:

  • httpSourceName: Contém APPRUNNER

  • httpSourceId: Contém customeraccountid-apprunnerserviceid

Para obter mais informações, consulte Exemplos de registros no Guia do AWS WAF desenvolvedor.

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.