AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

AWS::WAF::SizeConstraintSet

AWS::WAF::SizeConstraintSet 资源指定 AWS WAF 用来检查 Web 请求的大小的大小限制以及要检查的请求的部分。有关更多信息,请参阅 AWS WAF API 参考 中的 CreateSizeConstraintSet

语法

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

JSON

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

YAML

Type: "AWS::WAF::SizeConstraintSet" Properties: Name: String SizeConstraints: - SizeConstraint

属性

Name

SizeConstraintSet 的易记名称或描述。

Required: Yes

Type: String

更新要求替换

SizeConstraints

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

Required: Yes

Type: AWS WAF SizeConstraintSet SizeConstraint 列表

更新要求无需中断

返回值

Ref

当向 Ref 内部函数提供此资源的逻辑 ID 时,Ref 将返回此资源的物理 ID,如 1234a1a-a1b1-12a1-abcd-a123b123456

有关使用 Ref 功能的更多信息,请参阅参考

示例

以下示例说明如何定义大小限制,将它添加到规则,并将规则添加到 Web 访问控制列表 (ACL)。

定义大小限制

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

JSON

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

YAML

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

SizeConstraintSet 与 Web ACL 规则关联

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

JSON

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

YAML

SizeConstraintRule: Type: "AWS::WAF::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::WAF::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::WAF::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"

本页内容: