Gestion des AWS WAF ACL Web - 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.

Gestion des AWS WAF ACL Web

Gérez les ACL AWS WAF Web pour votre service App Runner à l'aide de l'une des méthodes suivantes :

Console App Runner

Lorsque vous créez un service ou que vous mettez à jour un service existant sur la console App Runner, vous pouvez associer ou dissocier une ACL AWS WAF Web.

Note
  • Un service App Runner ne peut être associé qu'à une seule ACL Web. Cependant, vous pouvez associer une ACL Web à plusieurs services App Runner en plus d'autres AWS ressources.

  • Avant d'associer une ACL Web, assurez-vous de mettre à jour vos autorisations IAM pour AWS WAF. Pour plus d'informations, consultez Autorisations .

Associer une ACL AWS WAF Web

Important

Les règles d'adresse 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'adresse 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.

Pour associer une ACL AWS WAF Web
  1. Ouvrez la console App Runner, puis dans la liste des régions, sélectionnez votre Région AWS.

  2. Selon que vous créez ou mettez à jour un service, effectuez l'une des étapes suivantes :

    • Si vous créez un nouveau service, choisissez Create an App Runner service et accédez à Configurer le service.

    • Si vous mettez à jour un service existant, choisissez l'onglet Configuration, puis sélectionnez Modifier sous Configurer le service.

  3. Accédez à Pare-feu d'application Web sous Sécurité.

  4. Cliquez sur le bouton Activer pour afficher les options.

    Disposition de la console App Runner, présentant les options du Web Application Firewall.
  5. Effectuez l'une des étapes suivantes :

    • Pour associer une ACL Web existante : Choisissez l'ACL Web requise dans le tableau Choisissez une ACL Web à associer à votre service App Runner.

    • Pour créer une nouvelle ACL Web : Choisissez Create Web ACL pour créer une nouvelle ACL Web à l'aide de 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.

      1. Cliquez sur le bouton d'actualisation pour afficher la nouvelle liste ACL Web dans le tableau Choisissez une liste ACL Web.

      2. Sélectionnez l'ACL Web requise.

  6. Choisissez Suivant si vous créez un nouveau service ou Enregistrer les modifications si vous mettez à jour un service existant. L'ACL Web sélectionné est associé à votre service App Runner.

  7. Pour vérifier l'association ACL Web, choisissez l'onglet Configuration de votre service et accédez à Configurer le service. Accédez à Pare-feu d'application Web sous Sécurité pour afficher les détails de l'ACL Web associée à votre service.

    Note

    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.

Dissociation d'une ACL AWS WAF Web

Vous pouvez dissocier l'ACL AWS WAF Web dont vous n'avez plus besoin en mettant à jour votre service App Runner.

Pour dissocier un ACL AWS WAF Web
  1. Ouvrez la console App Runner, puis dans la liste des régions, sélectionnez votre Région AWS.

  2. Accédez à l'onglet Configuration du service que vous souhaitez mettre à jour et choisissez Modifier sous Configurer le service.

  3. Accédez à Pare-feu d'application Web sous Sécurité.

  4. Désactivez le bouton Activer. Vous recevez un message pour confirmer la suppression.

  5. Choisissez Confirmer. L'ACL Web est dissociée de votre service App Runner.

    Note
    • Si vous souhaitez associer votre service à une autre ACL Web, sélectionnez une ACL Web dans le tableau Choisissez une ACL Web. App Runner dissocie l'ACL Web actuel et lance le processus d'association avec l'ACL Web sélectionnée.

    • Si aucun autre service ou ressource App Runner n'utilise une ACL Web dissociée, envisagez de supprimer cette ACL Web. Dans le cas contraire, vous continuerez à encourir des frais. Pour plus d’informations sur la tarification, consultez Tarification d’AWS WAF. Pour obtenir des instructions sur la façon de supprimer une ACL Web, consultez la section DeleteWebACL dans le manuel de référence des AWS WAF API.

    • Vous ne pouvez pas supprimer une ACL Web associée à d'autres services App Runner actifs ou à d'autres ressources.

AWS CLI

Vous pouvez associer ou dissocier une ACL AWS WAF Web à l'aide des API AWS WAF publiques. Le service App Runner, auquel vous souhaitez associer ou dissocier une ACL Web, doit être dans un état valide.

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é.

Pour plus d'informations sur les API AWS WAF publiques, consultez le Guide de référence des AWS WAF API.

Note

Mettez à jour vos autorisations IAM pour AWS WAF. Pour plus d'informations, consultez Autorisations .

Associer une ACL AWS WAF Web à l'aide AWS CLI

Important

Les règles d'adresse 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'adresse 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.

Pour associer une ACL AWS WAF Web
  1. Créez une ACL AWS WAF Web pour votre service avec votre ensemble préféré d'actions de règles Allow ou Block de requêtes Web adressées à votre service. Pour plus d'informations sur les AWS WAF API, consultez la section CreateWebACL dans le Guide de référence des AWS WAF API.

    Exemple Création d'une ACL Web - Demande
    aws wafv2 create-web-acl --region <region> --name <web-acl-name> --scope REGIONAL --default-action Allow={} --visibility-config <file-name.json> # This is the file containing the WAF web ACL rules.
  2. Associez l'ACL Web que vous avez créée au service App Runner à l'aide de l'API associate-web-acl AWS WAF publique. Pour plus d'informations sur les AWS WAF API, consultez la section AssociateWebACL dans le Guide de référence des AWS WAF API.

    Note

    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.

    Exemple Associer une ACL Web - Requête
    aws wafv2 associate-web-acl --resource-arn <apprunner_service_arn> --web-acl-arn <web_acl_arn> --region <region>
  3. Vérifiez que l'ACL Web est associée à votre service App Runner à l'aide de l'API get-web-acl-for-resource AWS WAF publique. Pour plus d'informations sur les AWS WAF API, consultez la section GetWebACL ForResource dans le Guide de référence des AWS WAF API.

    Exemple Vérifier l'ACL Web pour la ressource - Demande
    aws wafv2 get-web-acl-for-resource --resource-arn <apprunner_service_arn> --region <region>

    Si aucune ACL Web n'est associée à votre service, vous recevez une réponse vide.

Suppression d'une ACL AWS WAF Web à l'aide de AWS CLI

Vous ne pouvez pas supprimer une ACL AWS WAF Web si elle est associée à un service App Runner.

Pour supprimer une ACL AWS WAF Web
  1. Dissociez l'ACL Web de votre service App Runner à l'aide de l'API disassociate-web-acl AWS WAF publique. Pour plus d'informations sur les AWS WAF API, consultez la section DisassociateWebACL dans le Guide de référence des AWS WAF API.

    Exemple Dissociation d'une ACL Web - Demande
    aws wafv2 disassociate-web-acl --resource-arn <apprunner_service_arn> --region <region>
  2. Vérifiez que l'ACL Web est dissociée de votre service App Runner à l'aide de l'API get-web-acl-for-resource AWS WAF publique.

    Exemple Vérifiez que l'ACL Web est dissociée - Demande
    aws wafv2 get-web-acl-for-resource --resource-arn <apprunner_service_arn> --region <region>

    L'ACL Web dissociée n'est pas répertoriée pour votre service App Runner. Si aucune ACL Web n'est associée à votre service, vous recevez une réponse vide.

  3. Supprimez l'ACL Web dissociée à l'aide de l'API delete-web-acl AWS WAF publique. Pour plus d'informations sur les AWS WAF API, consultez la section DeleteWebACL dans le Guide de référence des AWS WAF API.

    Exemple Supprimer une ACL Web - Demande
    aws wafv2 delete-web-acl --name <web_acl_name> --scope REGIONAL --id <web_acl_id> --lock-token <web_acl_lock_token> --region <region>
  4. Vérifiez que l'ACL Web est supprimée à l'aide de l'API list-web-acl AWS WAF publique. Pour plus d'informations sur les AWS WAF API, consultez la section ListWebACL dans le Guide de référence des AWS WAF API.

    Exemple Vérifiez que l'ACL Web est supprimée - Demande
    aws wafv2 list-web-acls --scope REGIONAL --region <region>

    L'ACL Web supprimée ne figure plus dans la liste.

    Note

    Si une ACL Web est associée à d'autres services App Runner actifs ou à d'autres ressources, telles que des groupes d'utilisateurs Amazon Cognito, l'ACL Web ne peut pas être supprimée.

Répertorier les services App Runner associés à une ACL Web

Une ACL Web peut être associée à plusieurs services App Runner et à d'autres ressources. Répertoriez les services App Runner associés à une ACL Web à l'aide de l'API list-resources-for-web-acl AWS WAF publique. Pour plus d'informations sur les AWS WAF API, consultez la section ListResourcesForWebACL dans le Guide de référence des AWS WAF API.

Exemple Lister les services App Runner associés à une ACL Web - Demande
aws wafv2 list-resources-for-web-acl --web-acl-arn <WEB_ACL_ARN> --resource-type APP_RUNNER_SERVICE --region <REGION>
Exemple Lister les services App Runner associés à une ACL Web - Response

L'exemple suivant illustre la réponse lorsqu'aucun service App Runner n'est associé à une ACL Web.

{ "ResourceArns": [] }
Exemple Lister les services App Runner associés à une ACL Web - Response

L'exemple suivant illustre la réponse lorsque des services App Runner sont associés à une ACL Web.

{ "ResourceArns": [ "arn:aws:apprunner:<region>:<aws_account_id>:service/<service_name>/<service_id>" ] }

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 service App Runner, définissez les actions des règles sur Count et prenez en compte le volume de demandes correspondant à chaque règle. Par exemple, vous définissez une règle pour l'Blockaction qui correspond à un grand nombre de demandes que vous considérez comme relevant du trafic utilisateur normal. Dans ce cas, il se peut que vous deviez 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. Pour plus d’informations, consultez Journalisation du trafic ACL web dans le Guide du développeur AWS WAF .

Pour accéder aux journaux liés à l'ACL Web associée à votre service App Runner, reportez-vous aux champs de journal suivants :

  • httpSourceName: Contient APPRUNNER

  • httpSourceId: Contient customeraccountid-apprunnerserviceid

Pour plus d'informations, consultez la section Exemples de journaux dans le guide du AWS WAF développeur.

Important

Les règles d'adresse 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'adresse 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.