AND规则语句 - Amazon WAF、Amazon Firewall Manager 和 Amazon Shield Advanced
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AND规则语句

AND规则语句将嵌套语句与逻辑AND运算组合在一起,因此所有嵌套语句都必须匹配才能使AND语句匹配。这需要至少一个嵌套语句。

可@@ 套 — 您可以嵌套此语句类型。

WCU-取决于嵌套语句。

在何处查找此规则声明
  • 控制台上的@@ 规则生成器-对于 I f 请求,选择匹配所有语句 (AND),然后填写嵌套语句。

  • APIAndStatement

示例

以下清单显示了如何使用NOT逻辑规则语句来消除 SQL 注入攻击语句的匹配项中的误报。AND在此示例中,假设我们可以编写一个单字节 match 语句来匹配导致误报的请求。

AND 语句匹配与字节匹配语句不匹配且与 SQL 注入攻击语句不匹配的请求。

{ "Name": "SQLiExcludeFalsePositives", "Priority": 0, "Statement": { "AndStatement": { "Statements": [ { "NotStatement": { "Statement": { "ByteMatchStatement": { "SearchString": "string identifying a false positive", "FieldToMatch": { "Body": { "OversizeHandling": "MATCH" } }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "CONTAINS" } } } }, { "SqliMatchStatement": { "FieldToMatch": { "Body": { "OversizeHandling": "MATCH" } }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ] } } ] } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "SQLiExcludeFalsePositives" } }

使用控制台规则可视化编辑器,可以在或语句下嵌套非逻辑NOT语句OR或AND语句。前面的示例显示了NOT语句的嵌套。

使用控制台规则可视化编辑器,您可以将大多数可嵌套语句嵌套在逻辑规则语句下,例如上一个示例中显示的语句。你不能使用可视化编辑器来嵌套OR或AND语句。要配置这种类型的嵌套,您需要在 JSON 中提供规则语句。例如,以下 JSON 规则列表包含嵌套在OR语句内的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" } }