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

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

管理 Web ACL 中的规则组行为

本节介绍修改在 Web ACL 中使用规则组的方式的选项。此信息适用于所有规则组类型。将规则组添加到 Web ACL 后,您可以将规则组中各个规则的操作覆盖为 Count 或任何其他有效的规则操作设置。您也可以将规则组生成的操作覆盖为 Count,这不会影响规则组内规则的评估方式。

有关这些选项的信息,请参阅 规则组的操作覆盖选项

覆盖规则组的规则操作

对于 Web ACL 中的每个规则组,您可以针对部分或全部规则覆盖所含规则的操作。

最常见的用例是将规则操作覆盖为 Count 以测试新的或更新的规则。如果您启用了指标,则会收到您覆盖的每条规则的指标。有关测试的更多信息,请参阅 测试和调整您的 Amazon WAF 保护措施

覆盖规则组的规则操作

您可以在向 Web ACL 添加托管规则组时进行这些更改,也可以在编辑 Web ACL 时对任何类型的规则组进行更改。这些说明适用于已添加到 Web ACL 的规则组。有关此选项的更多信息,请访问规则组规则操作优先于规则

  1. 编辑 Web ACL。

  2. 在 Web ACL 页面的规则选项卡中,选择规则组,然后选择编辑

  3. 在规则组的规则部分,根据需要管理操作设置。

    • 所有规则 – 要为规则组中的所有规则设置覆盖操作,请打开覆盖所有规则操作下拉列表并选择覆盖操作。要移除所有规则的覆盖,请选择移除所有覆盖

    • 单一规则 – 要为单个规则设置覆盖操作,请打开该规则的下拉列表并选择覆盖操作。要移除规则的覆盖,请打开该规则的下拉列表并选择移除覆盖

  4. 完成更改后,选择保存规则。规则操作和覆盖操作设置列于规则组页面中。

以下 JSON 列表示例显示了 Web ACL 中的规则组语句,该语句将规则操作覆盖为适用 CategoryVerifiedSearchEngineCategoryVerifiedSocialMedia 规则的 Count。在 JSON 中,您可以通过为每条规则提供一个 RuleActionOverrides 条目来覆盖所有规则操作。

{ "Name": "AWS-AWSBotControl-Example", "Priority": 5, "Statement": { "ManagedRuleGroupStatement": { "VendorName": "AWS", "Name": "AWSManagedRulesBotControlRuleSet", "RuleActionOverrides": [ { "ActionToUse": { "Count": {} }, "Name": "CategoryVerifiedSearchEngine" }, { "ActionToUse": { "Count": {} }, "Name": "CategoryVerifiedSocialMedia" } ], "ExcludedRules": [] }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "AWS-AWSBotControl-Example" } }

将规则组的评估结果覆盖为 Count

您可以覆盖规则组评估产生的操作,而无需更改规则组中规则的配置或评估方式。此选项并不是常用选项。如果规则组中的任何规则产生了匹配,则此覆盖会将规则组产生的操作设置为 Count。

注意

这是一个不常见的用例。大多数操作覆盖都是在规则级别的规则组内完成的,如中所覆盖规则组的规则操作述。

添加或编辑规则组时,可以在 Web ACL 中覆盖规则组生成的操作。在控制台中,打开规则组的覆盖规则组操作(可选)窗格并启用覆盖。在 JSON 集 OverrideAction 中的规则组语句中,如以下示例列表中所示:

{ "Name": "AWS-AWSBotControl-Example", "Priority": 5, "Statement": { "ManagedRuleGroupStatement": { "VendorName": "AWS", "Name": "AWSManagedRulesBotControlRuleSet" } }, "OverrideAction": { "Count": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "AWS-AWSBotControl-Example" } }