OR déclaration de règle - 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.

OR déclaration de règle

Le OR une instruction de règle combine des instructions imbriquées avec OR logique, donc l'une des instructions imbriquées doit correspondre à OR déclaration correspondante. Cela nécessite au moins deux instructions imbriquées.

Par exemple, si vous souhaitez bloquer les demandes provenant d'un pays spécifique ou contenant une chaîne de requête spécifique, vous pouvez créer un OR et insérez-y une instruction de correspondance géographique pour le pays et une instruction de correspondance de chaîne pour la chaîne de requête.

Si vous souhaitez plutôt bloquer les demandes qui ne proviennent pas d'un pays spécifique ou qui contiennent une chaîne de requête spécifique, vous devez modifier le précédent OR instruction pour imbriquer l'instruction Geo Match un niveau plus bas, dans un NOT . Ce niveau d'imbrication nécessite que vous utilisiez le JSON formatage, car la console ne prend en charge qu'un seul niveau d'imbrication.

Caractéristiques de l'énoncé des règles

Imbriquable : vous pouvez imbriquer ce type de déclaration.

WCUs— Cela dépend des instructions imbriquées.

Où trouver cette déclaration de règle

  • Générateur de règles sur la console : pour Si une demande, choisissez correspond à au moins une des instructions (OR), puis renseignez les instructions imbriquées.

  • APIOrStatement

Exemples

La liste suivante montre l'utilisation de OR pour combiner deux autres déclarations. Le OR une instruction est une correspondance si l'une des instructions imbriquées correspond.

{ "Name": "neitherOfTwo", "Priority": 1, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "neitherOfTwo" }, "Statement": { "OrStatement": { "Statements": [ { "GeoMatchStatement": { "CountryCodes": [ "CA" ] } }, { "IPSetReferenceStatement": { "ARN": "arn:aws:wafv2:us-east-1:111111111111:regional/ipset/test-ip-set-22222222/33333333-4444-5555-6666-777777777777" } } ] } } }

À l'aide de l'éditeur visuel de règles de console, vous pouvez imbriquer la plupart des instructions imbriquables dans une instruction de règle logique, mais vous ne pouvez pas utiliser l'éditeur visuel pour imbriquer OR or AND déclarations. Pour configurer ce type d'imbrication, vous devez fournir votre déclaration de règle dansJSON. Par exemple, la liste de JSON règles suivante inclut un OR déclaration imbriquée dans un AND .

{ "Name": "match_rule", "Priority": 0, "Statement": { "AndStatement": { "Statements": [ { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:bot:category:monitoring" } }, { "NotStatement": { "Statement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:bot:name:pingdom" } } } }, { "OrStatement": { "Statements": [ { "GeoMatchStatement": { "CountryCodes": [ "JM", "JP" ] } }, { "ByteMatchStatement": { "SearchString": "JCountryString", "FieldToMatch": { "Body": {} }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "CONTAINS" } } ] } } ] } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "match_rule" } }