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

AWS::WAFRegional::ByteMatchSet

AWS::WAFRegional::ByteMatchSet 资源创建一个 AWS WAF ByteMatchSet,它标识要检查的 Web 请求的一部分。

语法

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

JSON

{ "Type" : "AWS::WAFRegional::ByteMatchSet", "Properties" : { "ByteMatchTuples" : [ ByteMatchTuple, ... ], "Name" : String } }

YAML

Type: AWS::WAFRegional::ByteMatchSet Properties: ByteMatchTuples: - ByteMatchTuple Name: String

属性

ByteMatchTuples

指定您希望 AWS WAF 在 Web 请求中搜索的字节(通常是与 ASCII 字符对应的字符串)、您希望 AWS WAF 搜索的请求中的位置以及其他设置。

必需:否

类型ByteMatchTuple 的列表

Update requires: No interruption

Name

ByteMatchSet 的易记名称或描述。您在创建 ByteMatchSet 后无法更改 Name

必需:是

类型:字符串

最低1

最高128

模式.*\S.*

Update requires: Replacement

返回值

Ref

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

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

示例

HTTP 引用站点

下面的示例定义了一组要匹配的 HTTP 引用站点。

JSON

"BadReferers": { "Type": "AWS::WAFRegional::ByteMatchSet", "Properties": { "Name": "ByteMatch for matching bad HTTP referers", "ByteMatchTuples": [ { "FieldToMatch" : { "Type": "HEADER", "Data": "referer" }, "TargetString" : "badrefer1", "TextTransformation" : "NONE", "PositionalConstraint" : "CONTAINS" }, { "FieldToMatch" : { "Type": "HEADER", "Data": "referer" }, "TargetString" : "badrefer2", "TextTransformation" : "NONE", "PositionalConstraint" : "CONTAINS" } ] } }

YAML

BadReferers: Type: "AWS::WAFRegional::ByteMatchSet" Properties: Name: "ByteMatch for matching bad HTTP referers" ByteMatchTuples: - FieldToMatch: Type: "HEADER" Data: "referer" TargetString: "badrefer1" TextTransformation: "NONE" PositionalConstraint: "CONTAINS" - FieldToMatch: Type: "HEADER" Data: "referer" TargetString: "badrefer2" TextTransformation: "NONE" PositionalConstraint: "CONTAINS"

关联 ByteMatchSet 与 Web ACL 规则

下面的示例将 BadReferers 字节匹配集关联到某条 Web 访问控制列表 (ACL) 规则。

JSON

"BadReferersRule" : { "Type": "AWS::WAFRegional::Rule", "Properties": { "Name": "BadReferersRule", "MetricName" : "BadReferersRule", "Predicates": [ { "DataId" : { "Ref" : "BadReferers" }, "Negated" : false, "Type" : "ByteMatch" } ] } }

YAML

BadReferersRule: Type: "AWS::WAFRegional::Rule" Properties: Name: "BadReferersRule" MetricName: "BadReferersRule" Predicates: - DataId: Ref: "BadReferers" Negated: false Type: "ByteMatch"

创建 Web ACL

以下示例将 BadReferersRule 规则关联到一个 Web ACL。Web ACL 允许所有请求,但具有与 BadReferersRule 规则匹配的引用站点的请求除外。

JSON

"MyWebACL": { "Type": "AWS::WAFRegional::WebACL", "Properties": { "Name": "WebACL to block blacklisted IP addresses", "DefaultAction": { "Type": "ALLOW" }, "MetricName" : "MyWebACL", "Rules": [ { "Action" : { "Type" : "BLOCK" }, "Priority" : 1, "RuleId" : { "Ref" : "BadReferersRule" } } ] } }

YAML

MyWebACL: Type: "AWS::WAFRegional::WebACL" Properties: Name: "WebACL to block blacklisted IP addresses" DefaultAction: Type: "ALLOW" MetricName: "MyWebACL" Rules: - Action: Type: "BLOCK" Priority: 1 RuleId: Ref: "BadReferersRule"