Associer une ACL AWS WAF Web à un groupe d'utilisateurs - Amazon Cognito

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Associer une ACL AWS WAF Web à un groupe d'utilisateurs

AWS WAF est un pare-feu d'applications Web. Grâce à une liste de contrôle d'accès AWS WAF Web (ACL Web), vous pouvez protéger votre groupe d'utilisateurs contre les demandes indésirables adressées à votre interface utilisateur hébergée classique et aux points de terminaison du service d'API Amazon Cognito. Une ACL web vous permet de contrôler avec précision toutes les requêtes web HTTPS auxquelles votre groupe d’utilisateurs répond. Pour plus d'informations sur le AWS WAF Web ACLs, consultez la section Gestion et utilisation d'une liste de contrôle d'accès Web (ACL Web) dans le manuel du AWS WAF développeur.

Lorsqu'une ACL AWS WAF Web est associée à un groupe d'utilisateurs, Amazon Cognito transmet certains en-têtes non confidentiels et le contenu des demandes de vos utilisateurs à. AWS WAF AWS WAF inspecte le contenu de la demande, le compare aux règles que vous avez spécifiées dans votre ACL Web et renvoie une réponse à Amazon Cognito.

Ce qu'il faut savoir sur le AWS WAF Web ACLs et Amazon Cognito

  • Actuellement, les règles ACL Web ne s'appliquent qu'aux demandes adressées à des domaines de pool d'utilisateurs dotés de la version de marque (classique) de l'interface utilisateur hébergée. Lorsque vous définissez ManagedLoginVersion la connexion gérée ou que vous définissez votre version de marque sur Connexion gérée, Amazon Cognito n'applique aucune règle à vos pages de connexion gérées. 2

    Pour modifier la version de votre marque afin qu'elle soit compatible avec AWS WAF le Web ACLs, effectuez l'une des opérations suivantes. Ce changement affecte l'apparence et les fonctionnalités de vos pages de connexion.

    Pour plus d'informations sur les versions de marque, consultezConnexion gérée par le groupe d'utilisateurs.

  • Vous ne pouvez pas configurer les règles ACL Web pour qu'elles correspondent aux informations personnelles identifiables (PII) contenues dans les demandes du groupe d'utilisateurs, par exemple les noms d'utilisateur, les mots de passe, les numéros de téléphone ou les adresses e-mail. Ces données ne seront pas disponibles pour AWS WAF. Configurez plutôt vos règles ACL Web pour qu'elles correspondent aux données de session contenues dans les en-têtes, le chemin et le corps, telles que les adresses IP, les agents de navigateur et les opérations d'API demandées.

  • Les demandes bloquées par AWS WAF ne sont pas prises en compte dans le quota de taux de demandes, quel que soit le type de demande. Le AWS WAF gestionnaire est appelé avant les gestionnaires de régulation au niveau de l'API.

  • Lorsque vous créez une liste ACL web, peu de temps s’écoule avant qu’elle ne soit entièrement propagée et ne soit disponible pour Amazon Cognito. Le temps de propagation peut aller de quelques secondes à plusieurs minutes. AWS WAF renvoie un WAFUnavailableEntityExceptionlorsque vous tentez d'associer une ACL Web avant qu'elle ne soit complètement propagée.

  • Vous pouvez associer une liste ACL web à un groupe d’utilisateurs.

  • Votre demande peut entraîner une charge utile supérieure aux limites de ce que AWS WAF peut inspecter. Consultez la section Gestion des composants de demandes surdimensionnés dans le guide du AWS WAF développeur pour savoir comment configurer le mode de gestion des demandes AWS WAF surdimensionnées provenant d'Amazon Cognito.

  • Vous ne pouvez pas associer une ACL Web qui utilise AWS WAF la prévention de la prise de contrôle des fraudes (ATP) à un groupe d'utilisateurs Amazon Cognito. Vous implémentez la fonctionnalité ATP lorsque vous ajoutez le groupe de règles gérées par AWS-AWSManagedRulesATPRuleSet. Avant de l’associer à un groupe d’utilisateurs, assurez-vous que votre ACL web n’utilise pas ce groupe de règles gérées.

  • Lorsqu'une ACL AWS WAF Web est associée à un groupe d'utilisateurs et qu'une règle de votre ACL Web présente un CAPTCHA, cela peut provoquer une erreur irrécupérable lors de l'enregistrement TOTP de l'interface utilisateur hébergée classique. Pour créer une règle comportant une action CAPTCHA et n'affectant pas le TOTP de l'interface utilisateur hébergée classique, consultez. Configuration de votre ACL AWS WAF Web pour la connexion gérée (TOTP MFA)

AWS WAF inspecte les demandes adressées aux points de terminaison suivants.

Interface utilisateur hébergée classique

Demandes adressées à tous les points de terminaison de Points de terminaison du groupe d'utilisateurs et référence de connexion gérée.

Opérations d’API publiques

Demandes de votre application adressées à l'API Amazon Cognito qui n'utilisent pas AWS d'informations d'identification pour les autoriser. Cela inclut les opérations d'API telles que InitiateAuthRespondToAuthChallenge, et GetUser. Les opérations d'API concernées ne nécessitent AWS WAF pas d'authentification avec des informations d' AWS identification. Elles ne sont pas authentifiées ni autorisées par une chaîne de session ou un jeton d’accès. Pour de plus amples informations, veuillez consulter Liste des opérations d'API regroupées par modèle d'autorisation.

Vous pouvez configurer les règles dans votre ACL web avec des actions de règles qui effectuent les opérations Count, Allow ou Block, ou qui présentent un CAPTCHA en réponse à une demande qui correspond à une règle. Pour plus d’informations, veuillez consulter la rubrique Règles AWS WAF dans le Manuel du développeur AWS WAF . En fonction de l’action de la règle, vous pouvez personnaliser la réponse qu’Amazon Cognito renvoie à vos utilisateurs.

Important

Les options qui s’offrent à vous pour personnaliser la réponse aux erreurs dépendent de la manière dont vous envoyez une demande d’API.

  • Vous pouvez personnaliser le code d'erreur et le corps de réponse des demandes d'interface utilisateur hébergées classiques. Vous ne pouvez présenter un CAPTCHA à résoudre par votre utilisateur que dans l'interface utilisateur hébergée classique.

  • Pour les demandes que vous faites avec l’API de groupes d’utilisateurs Amazon Cognito, vous pouvez personnaliser le corps de la réponse d’une demande qui reçoit une réponse Bloquer. Vous pouvez également spécifier un code d’erreur personnalisé compris entre 400 et 499.

  • Le AWS Command Line Interface (AWS CLI) et le AWS SDKs renvoient une ForbiddenException erreur aux demandes qui produisent une réponse Block ou CAPTCHA.

Associer une ACL web à votre groupe d’utilisateurs

Pour utiliser une ACL Web dans votre groupe d'utilisateurs, votre principal AWS Identity and Access Management (IAM) doit disposer des autorisations Amazon Cognito AWS WAF et des autorisations suivantes. Pour plus d'informations sur AWS WAF les autorisations, consultez la section Autorisations d'AWS WAF API dans le Guide du AWS WAF développeur.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowWebACLUserPool", "Effect": "Allow", "Action": [ "cognito-idp:ListResourcesForWebACL", "cognito-idp:GetWebACLForResource", "cognito-idp:AssociateWebACL" ], "Resource": [ "arn:aws:cognito-idp:*:123456789012:userpool/*" ] }, { "Sid": "AllowWebACLUserPoolWAFv2", "Effect": "Allow", "Action": [ "wafv2:ListResourcesForWebACL", "wafv2:AssociateWebACL", "wafv2:DisassociateWebACL", "wafv2:GetWebACLForResource" ], "Resource": "arn:aws:wafv2:*:123456789012:*/webacl/*/*" }, { "Sid": "DisassociateWebACL1", "Effect": "Allow", "Action": "wafv2:DisassociateWebACL", "Resource": "*" }, { "Sid": "DisassociateWebACL2", "Effect": "Allow", "Action": [ "cognito-idp:DisassociateWebACL" ], "Resource": [ "arn:aws:cognito-idp:*:123456789012:userpool/*" ] } ] }

Bien que vous deviez accorder des autorisations IAM, les actions répertoriées ne concernent que des autorisations et ne correspondent à aucune opération d'API.

Pour l'activer AWS WAF pour votre groupe d'utilisateurs et associer une ACL Web
  1. Connectez-vous à la console Amazon Cognito.

  2. Dans le volet de navigation, choisissez Groupes d’utilisateurs, puis choisissez le groupe d’utilisateurs que vous souhaitez modifier.

  3. Choisissez l'AWS WAFonglet dans la section Sécurité.

  4. Choisissez Modifier.

  5. Sélectionnez Utiliser AWS WAF avec votre groupe d'utilisateurs.

    Capture d'écran de la boîte de AWS WAF dialogue avec l'option Utiliser AWS WAF avec votre groupe d'utilisateurs sélectionnée.
  6. Choisissez une ACL AWS WAF Web que vous avez déjà créée, ou choisissez Create Web ACL in AWS WAF pour en créer une dans une nouvelle AWS WAF session dans le AWS Management Console.

  7. Sélectionnez Enregistrer les modifications.

Pour associer par programmation une ACL Web à votre groupe d'utilisateurs dans le SDK AWS Command Line Interface ou dans un SDK, utilisez l'AssociateWebACL depuis l'API. AWS WAF Amazon Cognito ne dispose pas d’une opération d’API distincte qui associe une ACL Web.

Tester et enregistrer sur AWS WAF le Web ACLs

Lorsque vous définissez une action de règle sur Count dans votre ACL Web AWS WAF , vous ajoutez la demande au nombre de demandes correspondant à la règle. Pour tester une ACL web avec votre groupe d’utilisateurs, définissez les actions des règles sur Count et examinez le volume de demandes correspondant à chaque règle. Par exemple, si une règle que vous souhaitez définir comme action Block correspond à un grand nombre de demandes que vous considérez comme relevant du trafic utilisateur normal. Vous devrez peut-être reconfigurer votre règle. Pour plus d'informations, consultez la section Tester et régler vos AWS WAF protections dans le Guide du AWS WAF développeur.

Vous pouvez également configurer AWS WAF pour consigner les en-têtes des demandes dans un groupe de CloudWatch journaux Amazon Logs, un bucket Amazon Simple Storage Service (Amazon S3) ou un Amazon Data Firehose. Vous pouvez identifier les demandes Amazon Cognito que vous faites à l’aide de l’API des groupes d’utilisateurs grâce à x-amzn-cognito-client-id et x-amzn-cognito-operation-name. Les requêtes d’interface utilisateur hébergée incluent uniquement l’en-tête x-amzn-cognito-client-id. Pour plus d’informations, consultez Journalisation du trafic ACL web dans le Guide du développeur AWS WAF .

AWS WAF Web ACLs sont disponibles dans tous les plans de fonctionnalités du pool d'utilisateurs. Les fonctionnalités de sécurité AWS WAF complètent la protection contre les menaces d'Amazon Cognito. Vous pouvez activer les deux fonctions dans un groupe d’utilisateurs. AWS WAF facture séparément pour l’inspection des demandes du groupe d’utilisateurs. Pour plus d’informations, consultez Tarification d’AWS WAF.

Les données de AWS WAF demande de journalisation sont soumises à une facturation supplémentaire par le service sur lequel vous ciblez vos logs. Pour plus d’informations, veuillez consulter la rubrique Tarification pour la journalisation des informations sur le trafic ACL web dans le Manuel du développeur AWS WAF .