Associando uma ACL AWS WAF da web a um grupo de usuários - Amazon Cognito

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 a um grupo de usuários

AWS WAF é um firewall de aplicativos da web. Com uma lista de controle de acesso à AWS WAF web (web ACL), você pode proteger seu grupo de usuários contra solicitações indesejadas à sua interface de usuário hospedada e aos endpoints do serviço da API Amazon Cognito. A ACL da web oferece controle detalhado sobre todas as solicitações web HTTPS às quais o grupo de usuários responde. Para obter mais informações sobre ACLs AWS WAF da web, consulte Gerenciando e usando uma lista de controle de acesso à web (ACL da web) no Guia do AWS WAF desenvolvedor.

Quando você tem uma ACL AWS WAF da web associada a um grupo de usuários, o Amazon Cognito encaminha cabeçalhos e conteúdos não confidenciais selecionados das solicitações de seus usuários para. AWS WAF AWS WAF inspeciona o conteúdo da solicitação, compara com as regras que você especificou na sua ACL da web e retorna uma resposta ao Amazon Cognito.

Coisas que você deve saber sobre ACLs AWS WAF da web e o Amazon Cognito

  • Solicitações bloqueadas por AWS WAF não contam para a cota de taxa de solicitação de nenhum tipo de solicitação. O AWS WAF manipulador é chamado antes dos manipuladores de limitação no nível da API.

  • Quando você cria uma ACL da web, há um pequeno tempo de espera até que a ACL da web seja totalmente propagada e esteja disponível para o Amazon Cognito. O tempo de propagação pode ser de alguns segundos a alguns minutos. AWS WAF retorna a WAFUnavailableEntityExceptionquando você tenta associar uma ACL da web antes que ela seja totalmente propagada.

  • É possível associar uma ACL da web a um grupo de usuários.

  • Sua solicitação pode ocasionar uma carga útil acima dos limites inspecionados pelo AWS WAF . Consulte Tratamento de componentes de solicitações de tamanho grande no Guia do AWS WAF desenvolvedor para saber como configurar como lidar AWS WAF com solicitações de grandes dimensões do Amazon Cognito.

  • Você não pode associar uma ACL da web que usa a prevenção de aquisição de contas (ATP) do AWS WAF Fraud Control a um grupo de usuários do Amazon Cognito. Você implementa o recurso ATP ao adicionar o grupo de regras gerenciadas pela AWS-AWSManagedRulesATPRuleSet. Antes de associá-lo a um grupo de usuários, a ACL da web não pode usar esse grupo de regras gerenciadas.

  • Quando você tem uma ACL AWS WAF da web associada a um grupo de usuários e uma regra na sua ACL da web apresenta um CAPTCHA, isso pode causar um erro irrecuperável no registro do TOTP da interface hospedada. Para criar uma regra que tenha uma ação de CAPTCHA e não afete a TOTP da UI hospedada, consulte Configurando sua ACL AWS WAF da web para UI hospedada TOTP MFA.

AWS WAF inspeciona as solicitações para os seguintes endpoints.

Interface do usuário hospedada

Solicitações a todos os endpoints no Referência da interface do usuário hospedada e endpoints de federação do grupo de usuários.

Operações públicas de API

Solicitações do seu aplicativo para a API do Amazon Cognito que não usam AWS credenciais para autorizar. Isso inclui operações de API como InitiateAuthRespondToAuthChallenge, GetUsere. As operações de API que estão no escopo de AWS WAF não exigem autenticação com AWS credenciais. Elas não são autenticadas nem autorizadas com uma string de sessão nem um token de acesso. Para ter mais informações, consulte Operações de API autenticadas e não autenticadas de grupos de usuários do Amazon Cognito.

É possível configurar as regras na ACL da web com ações como Count (Contar), Allow (Permitir), Block (Bloquear) ou apresentar um CAPTCHA em resposta a uma solicitação correspondente a uma regra. Para ter mais informações, consulte Regras do AWS WAF no Guia do desenvolvedor do AWS WAF . Dependendo da ação da regra, você pode personalizar a resposta que o Amazon Cognito retorna aos usuários.

Importante

Suas opções para personalizar a resposta de erro dependem da forma como você faz uma solicitação de API.

  • Você pode personalizar o código de erro e o corpo da resposta das solicitações da interface do usuário hospedada. Você só pode apresentar um CAPTCHA para o usuário resolver na interface do usuário hospedada.

  • Para solicitações feitas com a API de grupos de usuários do Amazon Cognito, você pode personalizar o corpo da resposta de uma solicitação que recebe uma resposta Bloquear. Você também pode especificar um código de erro personalizado no intervalo de 400 a 499.

  • O AWS Command Line Interface (AWS CLI) e os AWS SDKs retornam um ForbiddenException erro às solicitações que produzem uma resposta de bloco ou CAPTCHA.

Associar uma ACL da web ao grupo de usuários

Para trabalhar com uma ACL da web em seu grupo de usuários, seu diretor AWS Identity and Access Management (IAM) deve ter as seguintes permissões do Amazon Cognito. Para obter informações sobre AWS WAF permissões, consulte Permissões de AWS WAF API no Guia do AWS WAF desenvolvedor.

  • cognito-idp:AssociateWebACL

  • cognito-idp:DisassociateWebACL

  • cognito-idp:GetWebACLForResource

  • cognito-idp:ListResourcesForWebACL

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.

AWS WAF Para ativar seu grupo de usuários e associar uma ACL da web

  1. Faça login no console do Amazon Cognito.

  2. No painel de navegação, escolha User Pools (Grupos de usuários) e escolha o grupo de usuários que deseja editar.

  3. Escolha a guia User pool properties (Propriedades do grupo de usuários).

  4. Escolha Edit (Editar) ao lado do AWS WAF.

  5. Em AWS WAF, selecione Usar AWS WAF com seu grupo de usuários.

    Captura de tela da caixa de AWS WAF diálogo com a opção Usar AWS WAF com seu grupo de usuários selecionada.
  6. Escolha uma AWS WAF Web ACL que você já criou ou escolha Criar ACL da Web em AWS WAF para criar uma em uma nova AWS WAF sessão no. AWS Management Console

  7. Escolha Salvar alterações.

Para associar programaticamente uma ACL da web ao seu grupo de usuários no AWS Command Line Interface ou a um SDK, use a AssociateWebACL da API. AWS WAF O Amazon Cognito não tem uma operação de API separada que associe uma ACL da web.

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 o grupo de usuários, defina as ações da regra como Count (Contar) e considere o volume de solicitações correspondentes a cada regra. Por exemplo, se uma regra que você deseja definir como uma ação Block (Bloquear) corresponder a um grande número de solicitações que você considera tráfego normal de usuários, 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. Você pode identificar as solicitações do Amazon Cognito realizadas com a API de grupos de usuários pelo x-amzn-cognito-client-id e pelo x-amzn-cognito-operation-name. As solicitações da interface do usuário hospedada incluem somente o cabeçalho do x-amzn-cognito-client-id. 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 .

AWS WAF as ACLs da web não estão sujeitas aos preços dos recursos avançados de segurança do Amazon Cognito. Os recursos de segurança do AWS WAF complementam os recursos avançados de segurança do Amazon Cognito. Você pode ativar os dois recursos em um grupo de usuários. AWS WAF cobra separadamente pela inspeção das solicitações do grupo de usuários. Para obter mais informações, consulte Preços do AWS WAF.

Os dados da AWS WAF solicitação de registro estão sujeitos à cobrança adicional do serviço ao qual você segmenta seus registros. Para obter mais informações, consulte Definição de preço para registrar informações de tráfego da ACL da Web no Guia do desenvolvedor do AWS WAF .