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

AWS::WAFRegional::RegexPatternSet

RegexPatternSet 指定您希望 AWS WAF 搜索的正则表达式 (regex) 模式,例如 B[a@]dB[o0]t。然后,您可以配置 AWS WAF 以拒绝这些请求。

请注意,您只能使用 CloudFormation 模板创建正则表达式模式集。要将通过 CloudFormation 创建的正则表达式模式集添加到 RegexMatchSet,请使用 AWS WAF 控制台、API 或命令行界面 (CLI)。有关更多信息,请参阅 UpdateRegexMatchSet

语法

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

JSON

{ "Type" : "AWS::WAFRegional::RegexPatternSet", "Properties" : { "Name" : String, "RegexPatternStrings" : [ String, ... ] } }

YAML

Type: AWS::WAFRegional::RegexPatternSet Properties: Name: String RegexPatternStrings: - String

属性

Name

AWS::WAFRegional::RegexPatternSet 的易记名称或描述。您在创建 RegexPatternSet 后无法更改 Name

必需:是

类型:字符串

最低1

最高128

模式.*\S.*

Update requires: Replacement

RegexPatternStrings

指定您希望 AWS WAF 搜索的正则表达式 (regex) 模式,例如 B[a@]dB[o0]t

必需:是

类型:字符串列表

最高10

Update requires: No interruption

返回值

Ref

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

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

示例

定义正则表达式模式

以下示例为一条 Web 访问控制列表 (ACL) 规则定义了一个正则表达式 (regex) 模式。

JSON

"MyRegexPatternSet": { "Type": "AWS::WAFRegional::RegexPatternSet", "Properties": { "Name": "Regex Pattern Set", "RegexPatternStrings": ["badbot", "danger"] } }

YAML

MyRegexPatternSet: Type: "AWS::WAFRegional::RegexPatternSet" Properties: Name: "Regex Pattern Set" RegexPatternStrings: - "[B[a@]dB[o0]t" - "D[a@]ng[e3]rStr[i1]ng"

将 RegexPatternSet 与 Web ACL 规则关联

以下示例将 MyRegexPatternSet 规则与 Web ACL 规则关联。

JSON

"MyRegexRule" : { "Type": "AWS::WAFRegional::Rule", "Properties": { "Name": "MyRegexRule", "MetricName" : "MyRegexRule", "Predicates": [ { "DataId" : { "Ref" : "MyRegexPatternSet" }, "Negated" : false, "Type" : "RegexMatch" } ] } }

YAML

MyRegexRule: Type: "AWS::WAFRegional::Rule" Properties: Name: "MyRegexRule" MetricName: "MyRegexRule" Predicates: - DataId: Ref: "MyRegexPatternSet" Negated: false Type: "RegexMatch"

创建 Web ACL

下面的示例将 MyRegexRule 规则关联到一个 Web ACL。此 Web ACL 允许除包含由 MyRegexRule 定义的字符串的请求之外的请求。

JSON

"MyWebACL": { "Type": "AWS::WAFRegional::WebACL", "Properties": { "Name": "WebACL to block certain regex strings", "DefaultAction": { "Type": "ALLOW" }, "MetricName" : "MyWebACL", "Rules": [ { "Action" : { "Type" : "BLOCK" }, "Priority" : 1, "RuleId" : { "Ref" : "MyRegexRule" } } ] } }

YAML

MyWebACL: Type: "AWS::WAFRegional::WebACL" Properties: Name: "WebACL to block certain regex strings" DefaultAction: Type: "ALLOW" MetricName: "MyWebACL" Rules: - Action: Type: "BLOCK" Priority: 1 RuleId: Ref: "MyRegexRule"