管理 Web ACL 中的规则组行为
本节介绍修改在 Web ACL 中使用规则组的方式的选项。此信息适用于所有规则组类型。将规则组添加到 Web ACL 后,您可以将规则组中各个规则的操作覆盖为 Count 或任何其他有效的规则操作设置。您也可以将规则组生成的操作覆盖为 Count,这不会影响规则组内规则的评估方式。
有关这些选项的信息,请参阅 在 AWS WAF 中覆盖规则组操作。
覆盖规则组的规则操作
对于 Web ACL 中的每个规则组,您可以针对部分或全部规则覆盖所含规则的操作。
最常见的用例是将规则操作覆盖为 Count 以测试新的或更新的规则。如果您启用了指标,您将收到您覆盖的每条规则的指标。有关测试的更多信息,请参阅 测试和调整您的 AWS WAF 保护。
覆盖规则组的规则操作
可以在将托管规则组添加到 Web ACL 时进行这些更改,也可以在编辑 Web ACL 时对任何类型的规则组进行更改。这些说明适用于已添加到 Web ACL 的规则组。有关此选项的其他信息,请访问 规则组规则操作的覆盖。
-
编辑 Web ACL。
-
在 Web ACL 页面的规则选项卡中,选择规则组,然后选择编辑。
-
在规则组的规则部分,根据需要管理操作设置。
-
所有规则 – 要为规则组中的所有规则设置覆盖操作,请打开覆盖所有规则操作下拉列表并选择覆盖操作。要移除所有规则的覆盖,请选择移除所有覆盖。
-
单一规则 – 要为单个规则设置覆盖操作,请打开该规则的下拉列表并选择覆盖操作。要移除规则的覆盖,请打开该规则的下拉列表并选择移除覆盖。
-
-
完成更改后,选择保存规则。规则操作和覆盖操作设置列于规则组页面中。
以下 JSON 列表示例显示了 Web ACL 中的规则组语句,该语句将规则操作覆盖为适用 CategoryVerifiedSearchEngine
和 CategoryVerifiedSocialMedia
规则的 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" } }