Associer une ACL AWS WAF Web à votre service - AWS App Runner

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 à votre service

AWS WAF est un pare-feu d'applications Web que vous pouvez utiliser pour sécuriser votre service App Runner. Grâce aux listes de contrôle d'accès AWS WAF Web (ACL Web), vous pouvez protéger les points de terminaison de votre service App Runner contre les exploits Web courants et les robots indésirables.

Une ACL Web vous permet de contrôler avec précision toutes les requêtes Web entrantes adressées à votre service App Runner. Vous pouvez définir des règles dans une ACL Web pour autoriser, bloquer ou surveiller le trafic Web, afin de garantir que seules les demandes autorisées et légitimes atteignent vos applications Web et vos API. Vous pouvez personnaliser les règles ACL Web en fonction de vos besoins commerciaux et de sécurité spécifiques. Pour en savoir plus sur la sécurité de l'infrastructure et les meilleures pratiques relatives à l'application des ACL réseau, consultez la section Contrôler le trafic réseau dans le guide de l'utilisateur Amazon VPC.

Important

Les règles IP source pour les services privés App Runner associés aux ACL Web WAF ne respectent pas les règles basées sur l'IP. Cela est dû au fait que nous ne prenons actuellement pas en charge le transfert des données IP source des demandes vers les services privés App Runner associés à WAF. Si votre application App Runner nécessite des règles de contrôle du trafic entrant IP/CIDR source, vous devez utiliser des règles de groupe de sécurité pour les points de terminaison privés au lieu des ACL Web WAF.

Flux de requêtes Web entrantes

Lorsqu'une ACL AWS WAF Web est associée à un service App Runner, les requêtes Web entrantes suivent le processus suivant :

  1. App Runner transmet le contenu de la demande d'origine à AWS WAF.

  2. AWS WAF inspecte la demande et compare son contenu aux règles que vous avez spécifiées dans votre ACL Web.

  3. Sur la base de son inspection, AWS WAF renvoie une block réponse allow ou à App Runner.

    • Si une allow réponse est renvoyée, App Runner transmet la demande à votre application.

    • Si une block réponse est renvoyée, App Runner empêche la demande d'atteindre votre application Web. Il transmet la block réponse AWS WAF à votre candidature.

      Note

      Par défaut, App Runner bloque la demande si aucune réponse n'est renvoyée par AWS WAF.

Pour plus d'informations sur les ACL AWS WAF Web, consultez la section Listes de contrôle d'accès Web (ACL Web) dans le manuel du AWS WAF développeur.

Note

Vous payez le AWS WAF prix standard. L'utilisation des ACL AWS WAF Web pour vos services App Runner n'entraîne aucun coût supplémentaire. Pour plus d'informations sur la tarification, consultez la section AWS WAF Tarification.

Associer des ACL Web WAF à votre service App Runner

Voici le processus de haut niveau permettant d'associer une ACL AWS WAF Web à votre service App Runner :

  1. Créez une ACL Web dans la AWS WAF console. Pour plus d'informations, consultez la section Création d'une ACL Web dans le manuel du AWS WAF développeur.

  2. Mettez à jour vos autorisations AWS Identity and Access Management (IAM) pour AWS WAF. Pour plus d'informations, consultez Autorisations .

  3. Associez l'ACL Web au service App Runner en utilisant l'une des méthodes suivantes :

    • Console App Runner : associez une ACL Web existante à l'aide de la console App Runner lorsque vous créez ou mettez à jour un service App Runner. Pour obtenir des instructions, consultez la section Gestion des ACL AWS WAF Web.

    • AWS WAF console : associez l'ACL Web à l'aide de la AWS WAF console d'un service App Runner existant. Pour plus d'informations, consultez la section Associer ou dissocier une ACL Web à une ressource AWS dans le manuel du AWS WAF développeur.

    • AWS CLI: associez l'ACL Web à l'aide AWS WAF des API publiques. Pour plus d'informations sur les API AWS WAF publiques, consultez la section AssociateWebACL dans le Guide de référence des AWS WAF API.

Considérations

  • Les règles IP source pour les services privés App Runner associés aux ACL Web WAF ne respectent pas les règles basées sur l'IP. Cela est dû au fait que nous ne prenons actuellement pas en charge le transfert des données IP source des demandes vers les services privés App Runner associés à WAF. Si votre application App Runner nécessite des règles de contrôle du trafic entrant IP/CIDR source, vous devez utiliser des règles de groupe de sécurité pour les points de terminaison privés au lieu des ACL Web WAF.

  • Un service App Runner ne peut être associé qu'à une seule ACL Web. Cependant, vous pouvez associer une ACL Web à plusieurs services App Runner et à plusieurs AWS ressources. Les exemples incluent les groupes d'utilisateurs Amazon Cognito et les ressources Application Load Balancer.

  • Lorsque vous créez une ACL Web, un court laps de temps s'écoule avant que l'ACL Web ne se propage complètement et ne soit disponible pour App Runner. Le temps de propagation peut aller de quelques secondes à plusieurs minutes. AWS WAF renvoie un WAFUnavailableEntityException lorsque vous essayez d'associer une ACL Web avant qu'elle ne soit complètement propagée.

    Si vous actualisez le navigateur ou quittez la console App Runner avant que l'ACL Web ne soit complètement propagée, l'association ne se produit pas. Cependant, vous pouvez naviguer dans la console App Runner.

  • AWS WAF renvoie une WAFNonexistentItemException erreur lorsque vous appelez l'une des AWS WAF API suivantes pour un service App Runner dont l'état n'est pas valide :

    • AssociateWebACL

    • DisassociateWebACL

    • GetWebACLForResource

    Les états non valides pour votre service App Runner sont les suivants :

    • CREATE_FAILED

    • DELETE_FAILED

    • DELETED

    • OPERATION_IN_PROGRESS

      Note

      OPERATION_IN_PROGRESSl'état n'est pas valide uniquement si votre service App Runner est supprimé.

  • Votre demande peut entraîner une charge utile supérieure aux limites de ce qui AWS WAF peut être inspecté. Pour plus d'informations sur le traitement des AWS WAF demandes surdimensionnées provenant d'App Runner, consultez la section Gestion des composants de demandes surdimensionnées dans le Guide du AWS WAF développeur pour savoir comment gérer les demandes AWS WAF surdimensionnées provenant d'App Runner.

  • Si vous ne définissez pas les règles appropriées ou si vos modèles de trafic changent, une ACL Web risque de ne pas être aussi efficace pour sécuriser votre application.

Autorisations

Pour utiliser une ACL Web dans AWS App Runner, ajoutez les autorisations IAM suivantes pour AWS WAF :

  • apprunner:ListAssociatedServicesForWebAcl

  • apprunner:DescribeWebAclForService

  • apprunner:AssociateWebAcl

  • apprunner:DisassociateWebAcl

Pour plus d'informations sur les autorisations IAM, consultez la section Politiques et autorisations dans IAM dans le guide de l'utilisateur IAM.

Voici un exemple de la politique IAM mise à jour pour AWS WAF. Cette politique IAM inclut les autorisations nécessaires pour utiliser un service App Runner.

{ { "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":"*" } ] }
Note

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.