

AWS App Runner não está mais aberto a novos clientes. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte [Mudança de disponibilidade do AWS App Runner](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

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
<a name="waf"></a>

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 (web ACLs), 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, para garantir que somente solicitações autorizadas e legítimas cheguem aos seus aplicativos da web e. APIs 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 a rede ACLs, consulte [Controle o tráfego de rede](https://docs.aws.amazon.com/vpc/latest/userguide/infrastructure-security.html#control-network-traffic) no Guia do *usuário da Amazon VPC*.

**Importante**  
As regras de IP de origem para serviços privados do App Runner associados à Web ACLs *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 IP/CIDR entrada de origem, você deverá usar regras de [grupo de segurança para endpoints privados](network-pl-manage.md) em vez de WAF web. ACLs

## Fluxo de entrada de solicitações da web
<a name="waf.flow"></a>

Quando uma ACL AWS WAF da web é associada a um serviço 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

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

1. Com base em sua inspeção, AWS WAF retorna uma `block` resposta `allow` ou ao 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 a AWS WAF web ACLs, consulte [Listas de controle de acesso à Web (web ACLs)](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl.html) 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 AWS WAF da web ACLs para seus serviços do App Runner. Para obter mais informações sobre preços, consulte [AWS WAF Preços](https://aws.amazon.com/waf/pricing). 

## Associando o WAF web ACLs ao seu serviço App Runner
<a name="waf.associate-waf"></a>

 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](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-creating.html) no *Guia do AWS WAF desenvolvedor*. 

1. Atualize suas permissões AWS Identity and Access Management (IAM) para AWS WAF. Para obter mais informações, consulte [Permissões do ](#waf.permissions).

1. 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](manage-create.md) ou [atualizar](manage-configure.md) um serviço do App Runner. Para obter instruções, consulte [Gerenciando a AWS WAF web ACLs](waf-manage.md). 
   + **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](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-associating-aws-resource.html) no Guia do desenvolvedor.AWS WAF * 
   + **AWS CLI**: associe a ACL da web usando o AWS WAF público APIs. Para obter mais informações sobre o AWS WAF público APIs, consulte [AssociateWebACL](https://docs.aws.amazon.com/waf/latest/APIReference/API_AssociateWebACL.html) no *Guia de referência da AWS WAF API*. 

## Considerações
<a name="waf.considerations"></a>
+ As regras de IP de origem para serviços privados do App Runner associados à Web ACLs *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 IP/CIDR entrada de origem, você deverá usar regras de [grupo de segurança para endpoints privados](network-pl-manage.md) 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 um dos 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_PROGRESS`O 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](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-oversize-handling.html) 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
<a name="waf.permissions"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) 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.

**Example**    
****  

```
{
   "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.