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

引入全新的主机体验 Amazon WAF

现在,您可以使用更新的体验访问控制台中任意位置的 Amazon WAF 功能。有关更多详细信息,请参阅 使用更新的主机体验

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

OR 规则语句

这些区域有:OR 规则语句将嵌套语句与 OR 逻辑,因此其中一个嵌套语句必须与 OR 要匹配的语句。这至少需要两个嵌套语句。

例如,如果您想阻止来自特定国家/地区或包含特定查询字符串的请求,则可以创建一个 OR 语句并在其中嵌入一个国家的地理匹配语句和一个用于查询字符串的字符串匹配语句。

相反,如果你想屏蔽不是来自特定国家/地区或包含特定查询字符串的请求,则需要修改之前的 OR 语句将地理匹配语句嵌套在低一层,内部 NOT 网页。此级别的嵌套要求您使用 JSON 格式,因为控制台仅支持一个级别的嵌套。

规则语句特征

嵌套 – 您可以嵌套此语句类型。

WCUs— 取决于嵌套语句。

在何处查找规则语句

  • 控制台上的规则生成器 – 对于如果有请求,选择至少匹配其中一条语句 (OR),然后填写嵌套语句。

  • APIOrStatement

示例

以下清单显示了的用法 OR 将另外两个语句合并在一起。这些区域有:OR 如果其中一个嵌套语句匹配,则语句即为匹配。

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

使用控制台规则可视化编辑器,可以将大多数可嵌套语句嵌套在逻辑规则语句下,但不能使用可视化编辑器进行嵌套 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" } }