在 AWS WAF 中使用规则语句 - AWS WAFAWS Firewall Manager、和 AWS Shield Advanced

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

在 AWS WAF 中使用规则语句

本节介绍了规则语句的工作方式。

规则语句是向 AWS WAF 指示如何检查 Web 请求的规则的一部分。当 AWS WAF 在 Web 请求中找到检查条件时,即表示 Web 请求与语句相符。每个规则语句都根据语句类型指定要查找的内容和方式。

AWS WAF 中的每条规则都有一个顶级规则语句,该语句可以包含其他语句。规则语句可能非常简单。例如,您可以在 Web ACL 中设置一个规则语句,提供一组来源国来检查 Web 请求,也可以在 Web ACL 中设置一个规则语句,只引用一个规则组。规则语句也可能非常复杂。例如,您可以编写一个使用逻辑 AND、OR 和 NOT 语句组合多个其他语句的语句。

对于大多数规则,可以为匹配的请求添加自定义 AWS WAF 标签。AWS 托管规则的规则组中的规则为匹配的请求添加标签。规则添加的标签提供了有关规则请求的信息,这些规则稍后在 Web ACL 以及 AWS WAF 日志和指标中进行评估。有关标签的信息,请参阅 在 Web 请求中添加标签 AWS WAF标签匹配规则语句

嵌套规则语句

AWS WAF 支持嵌套许多规则语句,但不支持嵌套所有规则语句。例如,您不能将规则组语句嵌套到其他语句中。某些场景需要使用嵌套,例如范围缩小语句和逻辑语句。下面的规则语句列表和规则详细信息描述了每个类别和规则的嵌套功能和要求。

控制台中规则的可视化编辑器仅支持规则语句的嵌套级别。例如,可以在具有逻辑性的 AND 或 OR 规则中嵌套多种类型的语句,但不能嵌套其他 AND 或 OR 规则,因为这需要第二层嵌套。要实现多级嵌套,请通过控制台中的 JSON 规则编辑器或 API 以 JSON 格式提供规则定义。