AWS::WAFRegional::SizeConstraintSet - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::WAFRegional::SizeConstraintSet

注意

这是 AWS WAF Classic 文档。有关更多信息,请参阅开发人员指南中的 AWS WAF Classic

有关最新版本的 AWS WAF,请使用 AWS WAFV2 API 并参阅 AWS WAF 开发人员指南。对于最新版本,AWS WAF 具有一组用于区域和全球范围的终端节点。

包含 SizeConstraint 对象的一种复杂类型,这些对象指定您希望 AWS WAF 检查其大小的 Web 请求各部分。如果 SizeConstraintSet 包含多个 SizeConstraint 对象,则一个请求仅需要匹配一个约束即可视为匹配项。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::WAFRegional::SizeConstraintSet", "Properties" : { "Name" : String, "SizeConstraints" : [ SizeConstraint, ... ] } }

YAML

Type: AWS::WAFRegional::SizeConstraintSet Properties: Name: String SizeConstraints: - SizeConstraint

属性

Name

SizeConstraintSet 的名称(如果有)。

必需:是

类型:字符串

最低1

最高128

模式.*\S.*

Update requires: Replacement

SizeConstraints

大小限制和要检查的 Web 请求的部分。

必需:否

类型SizeConstraint 的列表

Update requires: No interruption

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回资源的物理 ID,例如 1234a1a-a1b1-12a1-abcd-a123b123456。

For more information about using the Ref function, see Ref.

示例

定义大小限制

以下示例检查 HTTP 请求正文是否为 4096 个字节。

JSON

"MySizeConstraint": { "Type": "AWS::WAFRegional::SizeConstraintSet", "Properties": { "Name": "SizeConstraints", "SizeConstraints": [ { "ComparisonOperator": "EQ", "FieldToMatch": { "Type": "BODY" }, "Size": "4096", "TextTransformation": "NONE" } ] } }

YAML

MySizeConstraint: Type: "AWS::WAFRegional::SizeConstraintSet" Properties: Name: "SizeConstraints" SizeConstraints: - ComparisonOperator: "EQ" FieldToMatch: Type: "BODY" Size: "4096" TextTransformation: "NONE"

将 SizeConstraintSet 与 Web ACL 规则关联

以下示例将 MySizeConstraint 对象与 Web ACL 规则关联。

JSON

"SizeConstraintRule" : { "Type": "AWS::WAFRegional::Rule", "Properties": { "Name": "SizeConstraintRule", "MetricName" : "SizeConstraintRule", "Predicates": [ { "DataId" : { "Ref" : "MySizeConstraint" }, "Negated" : false, "Type" : "SizeConstraint" } ] } }

YAML

SizeConstraintRule: Type: "AWS::WAFRegional::Rule" Properties: Name: "SizeConstraintRule" MetricName: "SizeConstraintRule" Predicates: - DataId: Ref: "MySizeConstraint" Negated: false Type: "SizeConstraint"

创建 Web ACL

以下示例将 SizeConstraintRule 规则关联到一个 Web ACL。除正文大小等于 4096 字节的请求之外,Web ACL 会阻止所有其它请求。

JSON

"MyWebACL": { "Type": "AWS::WAFRegional::WebACL", "Properties": { "Name": "Web ACL to allow requests with a specific size", "DefaultAction": { "Type": "BLOCK" }, "MetricName" : "SizeConstraintWebACL", "Rules": [ { "Action" : { "Type" : "ALLOW" }, "Priority" : 1, "RuleId" : { "Ref" : "SizeConstraintRule" } } ] } }

YAML

MyWebACL: Type: "AWS::WAFRegional::WebACL" Properties: Name: "Web ACL to allow requests with a specific size" DefaultAction: Type: "BLOCK" MetricName: "SizeConstraintWebACL" Rules: - Action: Type: "ALLOW" Priority: 1 RuleId: Ref: "SizeConstraintRule"