管理 Web ACL 中的规则组行为 - AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced

管理 Web ACL 中的规则组行为

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

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

覆盖规则组的规则操作

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

最常见的用例是将规则操作覆盖为 Count 以测试新的或更新的规则。如果您启用了指标,您将收到您覆盖的每条规则的指标。有关测试的更多信息,请参阅 测试和调整您的 AWS 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" } }