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

AWS::WAF::ByteMatchSet

AWS::WAF::ByteMatchSet 资源创建 AWS WAF ByteMatchSet,以指示要检查的一部分 Web 请求。有关更多信息,请参阅 AWS WAF API 参考 中的 CreateByteMatchSet

语法

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

JSON

{ "Type" : "AWS::WAF::ByteMatchSet", "Properties" : { "ByteMatchTuples" : [ Byte match tuple, ... ], "Name" : String } }

YAML

Type: "AWS::WAF::ByteMatchSet" Properties: ByteMatchTuples: - Byte match tuple Name: String

属性

ByteMatchTuples

ByteMatchSet 的设置,例如您需要 AWS WAF 在 Web 请求中搜索的字节(通常是与 ASCII 字符对应的字符串)。

Required: No

Type: AWS WAF ByteMatchSet ByteMatchTuples 列表

更新要求无需中断

Name

ByteMatchSet 的易记名称或描述。

Required: Yes

Type: String

更新要求替换

返回值

Ref

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

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

示例

HTTP 引用站点

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

JSON

"BadReferers": { "Type": "AWS::WAF::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::WAF::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::WAF::Rule", "Properties": { "Name": "BadReferersRule", "MetricName" : "BadReferersRule", "Predicates": [ { "DataId" : { "Ref" : "BadReferers" }, "Negated" : false, "Type" : "ByteMatch" } ] } }

YAML

BadReferersRule: Type: "AWS::WAF::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::WAF::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::WAF::WebACL" Properties: Name: "WebACL to block blacklisted IP addresses" DefaultAction: Type: "ALLOW" MetricName: "MyWebACL" Rules: - Action: Type: "BLOCK" Priority: 1 RuleId: Ref: "BadReferersRule"

本页内容: