本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
注意
机器人控制功能托管规则组中的通用级别规则为各种类别的机器人添加了标签,但它们仅阻止来自未经验证的机器人的请求。有关这些规则的信息,请参阅 机器人控制功能规则列表。
如果您使用机器人控制功能托管规则组,则可以为来自各个已验证机器人的请求添加速率限制。为此,您需要添加一条基于速率的规则,该规则在机器人控制功能规则组之后运行,并按机器人名称标签聚合请求。您可以指定标签命名空间聚合键并将命名空间键设置为 awswaf:managed:aws:bot-control:bot:name:
。每个具有指定命名空间的唯一标签都将定义一个聚合实例。例如,标签 awswaf:managed:aws:bot-control:bot:name:axios
和 awswaf:managed:aws:bot-control:bot:name:curl
分别定义一个聚合实例。
以下 Web ACL JSON 列表显示了此配置。此示例中的规则将任何单个机器人聚合实例在两分钟内的请求限制为 1,000 个。
{
"Name": "test-web-acl",
"Id": ...
"ARN": ...
"DefaultAction": {
"Allow": {}
},
"Description": "",
"Rules": [
{
"Name": "AWS-AWSManagedRulesBotControlRuleSet",
"Priority": 0,
"Statement": {
"ManagedRuleGroupStatement": {
"VendorName": "AWS",
"Name": "AWSManagedRulesBotControlRuleSet",
"ManagedRuleGroupConfigs": [
{
"AWSManagedRulesBotControlRuleSet": {
"InspectionLevel": "COMMON"
}
}
]
}
},
"OverrideAction": {
"None": {}
},
"VisibilityConfig": {
"SampledRequestsEnabled": true,
"CloudWatchMetricsEnabled": true,
"MetricName": "AWS-AWSManagedRulesBotControlRuleSet"
}
},
{
"Name": "test-rbr",
"Priority": 1,
"Statement": {
"RateBasedStatement": {
"Limit": 1000,
"EvaluationWindowSec": 120,
"AggregateKeyType": "CUSTOM_KEYS",
"CustomKeys": [
{
"LabelNamespace": {
"Namespace": "awswaf:managed:aws:bot-control:bot:name:"
}
}
]
}
},
"Action": {
"Block": {}
},
"VisibilityConfig": {
"SampledRequestsEnabled": true,
"CloudWatchMetricsEnabled": true,
"MetricName": "test-rbr"
}
}
],
"VisibilityConfig": {
"SampledRequestsEnabled": true,
"CloudWatchMetricsEnabled": true,
"MetricName": "test-web-acl"
},
"Capacity": 82,
"ManagedByFirewallManager": false,
"RetrofittedByFirewallManager": false,
"LabelNamespace": "awswaf:0000000000:webacl:test-web-acl:"
}