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. Avec 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 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 les ACL AWS WAF Web, 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 les ACL AWS WAF Web et Amazon Cognito

  • 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. Pour créer une règle qui comporte une action CAPTCHA et qui n’affecte pas l’enregistrement TOTP de l’interface utilisateur hébergée, veuillez consulter Configuration de votre ACL AWS WAF Web pour l'interface utilisateur hébergée (TOTP MFA).

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

Interface utilisateur hébergée

Demandes adressées à tous les points de terminaison de Référence de l’interface utilisateur hébergée et des points de terminaison de la fédération des groupes d’utilisateurs.

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 plus d’informations, consultez Opérations d’API authentifiées et non authentifiées des groupes d’utilisateurs Amazon Cognito.

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 requêtes d’interface utilisateur hébergées. Vous ne pouvez présenter un CAPTCHA pour que votre utilisateur puisse le résoudre dans l’interface utilisateur hébergée.

  • 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 les AWS SDK 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 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.

  • cognito-idp:AssociateWebACL

  • cognito-idp:DisassociateWebACL

  • cognito-idp:GetWebACLForResource

  • cognito-idp:ListResourcesForWebACL

Bien que vous deviez accorder des autorisations IAM, les actions répertoriées sont uniquement 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’onglet User pool properties (Propriétés du groupe d’utilisateurs).

  4. Choisissez Edit (Modifier) en regard de AWS WAF.

  5. Sous AWS WAF, 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.

Test et journalisation des AWS WAF ACL Web

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 Les ACL Web ne sont pas soumises à la tarification des fonctionnalités de sécurité avancées d'Amazon Cognito. Les fonctionnalités de sécurité AWS WAF complètent les fonctionnalités de sécurité avancées d'Amazon Cognito. Vous pouvez activer les deux fonctionnalités 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 .