Insertions d'en-têtes de demande personnalisées pour les actions non bloquantes - AWS WAF, AWS Firewall Manager, et AWS Shield Advanced

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.

Insertions d'en-têtes de demande personnalisées pour les actions non bloquantes

Vous pouvez demander d' AWS WAF insérer des en-têtes personnalisés dans la requête HTTP d'origine lorsqu'une action de règle ne bloque pas la demande. Avec cette option, vous ne faites qu'ajouter des éléments à la demande. Vous ne pouvez ni modifier ni remplacer aucune partie de la demande initiale. Les cas d'utilisation de l'insertion d'en-têtes personnalisés incluent le fait de signaler à une application en aval de traiter la demande différemment en fonction des en-têtes insérés et de marquer la demande pour analyse.

Cette option s'applique aux actions de règles AllowCount,CAPTCHA, Challenge et aux actions par défaut de l'ACL Web définies surAllow. Pour plus d'informations sur les actions de règle, consultez Action de la règle. Pour plus d'informations sur les actions ACL Web par défaut, consultezL'action par défaut de l'ACL Web.

Noms d'en-têtes de demande personnalisés

AWS WAF préfixe tous les en-têtes de demande qu'il insèrex-amzn-waf-, afin d'éviter toute confusion avec les en-têtes déjà présents dans la demande. Par exemple, si vous spécifiez le nom de l'en-têtesample, AWS WAF insère l'en-têtex-amzn-waf-sample.

En-têtes portant le même nom

Si la demande contient déjà un en-tête du même nom qui AWS WAF est en cours d'insertion, AWS WAF remplace l'en-tête. Ainsi, si vous définissez des en-têtes dans plusieurs règles portant des noms identiques, l'en-tête de la dernière règle permettant d'inspecter la demande et de trouver une correspondance sera ajouté, contrairement aux règles précédentes.

En-têtes personnalisés avec actions de règles non terminales

Contrairement à l'Allowaction, l'Countaction ne s'arrête pas au traitement AWS WAF de la requête Web en utilisant les autres règles de l'ACL Web. De même, lorsque vous CAPTCHA Challenge déterminez que le jeton de demande est valide, ces actions n'arrêtent pas le traitement AWS WAF de la demande Web. Ainsi, si vous insérez des en-têtes personnalisés à l'aide d'une règle comportant l'une de ces actions, les règles suivantes peuvent également insérer des en-têtes personnalisés. Pour plus d'informations sur le comportement des actions relatives aux règles, consultezAction de la règle.

Supposons, par exemple, que vous disposiez des règles suivantes, classées par ordre de priorité dans l'ordre indiqué :

  1. RuleA avec une Count action et un en-tête personnalisé nommésRuleAHeader.

  2. RuleB avec une Allow action et un en-tête personnalisé nommés. RuleBHeader

Si une demande correspond à la fois à la règle A et à la règle B, AWS WAF insère les en-têtesx-amzn-waf-RuleBHeader, x-amzn-waf-RuleAHeader puis transmet la demande à la ressource protégée.

AWS WAF insère des en-têtes personnalisés dans une requête Web lorsqu'il a fini d'inspecter la demande. Ainsi, si vous utilisez le traitement personnalisé des demandes avec une règle dont l'action est définie surCount, les en-têtes personnalisés que vous ajoutez ne sont pas inspectés par les règles suivantes.

Exemple de gestion personnalisée des demandes

Vous définissez le traitement personnalisé des demandes pour l'action d'une règle ou pour l'action par défaut d'une ACL Web. La liste suivante montre le JSON pour la gestion personnalisée ajouté à l'action par défaut pour une ACL Web.

{ "Name": "SampleWebACL", "Scope": "REGIONAL", "DefaultAction": { "Allow": { "CustomRequestHandling": { "InsertHeaders": [ { "Name": "fruit", "Value": "watermelon" }, { "Name": "pie", "Value": "apple" } ] } } }, "Description": "Sample web ACL with custom request handling configured for default action.", "Rules": [], "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "SampleWebACL" } }