OR dichiarazione delle regole - AWS WAF, AWS Firewall Manager e AWS Shield Advanced

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

OR dichiarazione delle regole

Il OR l'istruzione regola combina istruzioni annidate con OR logica, quindi una delle istruzioni annidate deve corrispondere a OR dichiarazione da abbinare. Ciò richiede almeno due istruzioni annidate.

Ad esempio, se desideri bloccare le richieste che provengono da un paese specifico o che contengono una stringa di query specifica, puoi creare un OR statement e inserisce in essa un'istruzione geo match per il paese e un'istruzione string match per la stringa di query.

Se invece desideri bloccare le richieste che non provengono da un paese specifico o che contengono una stringa di query specifica, devi modificare la precedente OR istruzione per annidare l'istruzione geo match un livello più in basso, all'interno di un NOT dichiarazione. Questo livello di nidificazione richiede l'utilizzo della JSON formattazione, poiché la console supporta solo un livello di nidificazione.

Caratteristiche della dichiarazione delle regole

Nestable: puoi annidare questo tipo di istruzione.

WCUs— Dipende dalle istruzioni annidate.

Dove trovare questa dichiarazione di regole

  • Generatore di regole sulla console: per Se una richiesta, scegli corrisponde ad almeno una delle istruzioni (OR), quindi compila le istruzioni annidate.

  • APIOrStatement

Esempi

L'elenco seguente mostra l'uso di OR per combinare altre due affermazioni. Il OR l'istruzione corrisponde se una delle istruzioni annidate corrisponde.

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

Utilizzando l'editor visivo delle regole della console, è possibile annidare la maggior parte delle istruzioni nestable in un'istruzione di regole logiche, ma non è possibile utilizzare l'editor visivo per nidificare OR oppure AND dichiarazioni. Per configurare questo tipo di annidamento, è necessario fornire la dichiarazione della regola inJSON. Ad esempio, il seguente elenco di JSON regole include un OR istruzione annidata all'interno di un AND dichiarazione.

{ "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" } }