AWS WAF exemples de correspondance d'étiquettes - 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.

AWS WAF exemples de correspondance d'étiquettes

Cette section fournit des exemples de spécifications de correspondance, pour l'instruction de règle de correspondance des étiquettes.

Note

Ces listes JSON ont été créées dans la console en ajoutant une règle à une ACL Web avec l'étiquette correspondant aux spécifications, puis en modifiant la règle et en passant à l'éditeur Rule JSON. Vous pouvez également obtenir le JSON d'un groupe de règles ou d'une ACL Web via les API ou l'interface de ligne de commande.

Match contre un label local

La liste JSON suivante montre une instruction de correspondance d'étiquette pour une étiquette qui a été ajoutée localement à la requête Web, dans le même contexte que cette règle.

Rule: { Name: "match_rule", Statement: { LabelMatchStatement: { Scope: "LABEL", Key: "header:encoding:utf8" } }, RuleLabels: [ ...generate_more_labels... ], Action: { Block: {} } }

Si vous utilisez cette instruction de correspondance dans le compte 111122223333, dans une règle que vous définissez pour l'ACL WebtestWebACL, elle correspondra aux libellés suivants.

awswaf:111122223333:webacl:testWebACL:header:encoding:utf8
awswaf:111122223333:webacl:testWebACL:testNS1:testNS2:header:encoding:utf8

Elle ne correspondrait pas à l'étiquette suivante, car la chaîne d'étiquette ne correspond pas exactement.

awswaf:111122223333:webacl:testWebACL:header:encoding2:utf8

Il ne correspondrait pas à l'étiquette suivante, car le contexte n'est pas le même, donc le préfixe ne correspond pas. Cela est vrai même si vous avez ajouté le groupe de règles productionRules à l'ACL WebtestWebACL, où la règle est définie.

awswaf:111122223333:rulegroup:productionRules:header:encoding:utf8

Correspondance avec une étiquette provenant d'un autre contexte

La liste JSON suivante montre une règle de correspondance d'étiquette qui correspond à une étiquette d'une règle au sein d'un groupe de règles créé par l'utilisateur. Le préfixe est obligatoire dans la spécification pour toutes les règles exécutées dans l'ACL Web qui ne font pas partie du groupe de règles nommé. Cet exemple de spécification d'étiquette correspond uniquement à l'étiquette exacte.

Rule: { Name: "match_rule", Statement: { LabelMatchStatement: { Scope: "LABEL", Key: "awswaf:111122223333:rulegroup:testRules:header:encoding:utf8" } }, RuleLabels: [ ...generate_more_labels... ], Action: { Block: {} } }

Correspondance avec une étiquette de groupe de règles géré

Il s'agit d'un cas particulier de correspondance avec une étiquette provenant d'un autre contexte que celui de la règle de correspondance. La liste JSON suivante montre une instruction de correspondance d'étiquette pour une étiquette de groupe de règles géré. Cela correspond uniquement à l'étiquette exacte spécifiée dans le paramètre clé de l'instruction label match.

Rule: { Name: "match_rule", Statement: { LabelMatchStatement: { Scope: "LABEL", Key: "awswaf:managed:aws:managed-rule-set:header:encoding:utf8" } }, RuleLabels: [ ...generate_more_labels... ], Action: { Block: {} } }

Correspondance avec un espace de noms local

La liste JSON suivante montre une instruction label match pour un espace de noms local.

Rule: { Name: "match_rule", Statement: { LabelMatchStatement: { Scope: "NAMESPACE", Key: "header:encoding:" } }, Labels: [ ...generate_more_labels... ], Action: { Block: {} } }

Comme pour la Label correspondance locale, si vous utilisez cette instruction dans le compte 111122223333, dans une règle que vous définissez pour l'ACL WebtestWebACL, elle correspondra à l'étiquette suivante.

awswaf:111122223333:webacl:testWebACL:header:encoding:utf8

Il ne correspondrait pas à l'étiquette suivante, car le compte n'est pas le même, donc le préfixe ne correspond pas.

awswaf:444455556666:webacl:testWebACL:header:encoding:utf8

Le préfixe ne correspond pas non plus aux libellés appliqués par les groupes de règles gérés, comme indiqué ci-dessous.

awswaf:managed:aws:managed-rule-set:header:encoding:utf8

Correspondance avec un espace de noms de groupe de règles géré

La liste JSON suivante montre une instruction de correspondance d'étiquette pour un espace de noms de groupe de règles géré. Pour un groupe de règles dont vous êtes le propriétaire, vous devez également fournir le préfixe afin de correspondre à un espace de noms situé en dehors du contexte de la règle.

Rule: { Name: "match_rule", Statement: { LabelMatchStatement: { Scope: "NAMESPACE", Key: "awswaf:managed:aws:managed-rule-set:header:" } }, RuleLabels: [ ...generate_more_labels... ], Action: { Block: {} } }

Cette spécification correspond aux exemples d'étiquettes suivants.

awswaf:managed:aws:managed-rule-set:header:encoding:utf8
awswaf:managed:aws:managed-rule-set:header:encoding:unicode

Il ne correspond pas à l'étiquette suivante.

awswaf:managed:aws:managed-rule-set:query:badstring