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

AWS::WAF::SqlInjectionMatchSet

AWS::WAF::SqlInjectionMatchSet 资源创建 AWS WAF SqlInjectionMatchSet,以供您用于允许、阻止或对 Web 请求特定部分中包含恶意 SQL 代码的请求进行计数。有关更多信息,请参阅 AWS WAF API 参考 中的 CreateSqlInjectionMatchSet

语法

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

JSON

Copy
{ "Type" : "AWS::WAF::SqlInjectionMatchSet", "Properties" : { "Name" : String, "SqlInjectionMatchTuples" : [ SqlInjectionMatchTuple, ... ] } }

YAML

Copy
Type: "AWS::WAF::SqlInjectionMatchSet" Properties: Name: String SqlInjectionMatchTuples: - SqlInjectionMatchTuple

属性

Name

SqlInjectionMatchSet 的易记名称或描述。

Required: Yes

Type: String

更新要求替换

SqlInjectionMatchTuples

您需要 AWS WAF 检查恶意 SQL 代码的 Web 请求部分,如果需要 AWS WAF 检查标头,则为标头的名称。

Required: No

Type: AWS WAF SqlInjectionMatchSet SqlInjectionMatchTuples 列表

更新要求无需中断

返回值

Ref

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

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

示例

查找 SQL 注入

下面的示例在 HTTP 请求的查询字符串中查找 SQL 代码段。

JSON

Copy
"SqlInjDetection": { "Type": "AWS::WAF::SqlInjectionMatchSet", "Properties": { "Name": "Find SQL injections in the query string", "SqlInjectionMatchTuples": [ { "FieldToMatch" : { "Type": "QUERY_STRING" }, "TextTransformation" : "URL_DECODE" } ] } }

YAML

Copy
SqlInjDetection: Type: "AWS::WAF::SqlInjectionMatchSet" Properties: Name: "Find SQL injections in the query string" SqlInjectionMatchTuples: - FieldToMatch: Type: "QUERY_STRING" TextTransformation: "URL_DECODE"

关联 SQL 注入匹配集与 Web ACL 规则

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

JSON

Copy
"SqlInjRule" : { "Type": "AWS::WAF::Rule", "Properties": { "Name": "SqlInjRule", "MetricName" : "SqlInjRule", "Predicates": [ { "DataId" : { "Ref" : "SqlInjDetection" }, "Negated" : false, "Type" : "SqlInjectionMatch" } ] } }

YAML

Copy
SqlInjRule: Type: "AWS::WAF::Rule" Properties: Name: "SqlInjRule" MetricName: "SqlInjRule" Predicates: - DataId: Ref: "SqlInjDetection" Negated: false Type: "SqlInjectionMatch"

创建 Web ACL

下面的示例将 SqlInjRule 规则关联到一个 Web ACL。此 Web ACL 允许所有请求,但请求的查询字符串中包含 SQL 代码者除外。

JSON

Copy
"MyWebACL": { "Type": "AWS::WAF::WebACL", "Properties": { "Name": "Web ACL to block SQL injection in the query string", "DefaultAction": { "Type": "ALLOW" }, "MetricName" : "SqlInjWebACL", "Rules": [ { "Action" : { "Type" : "BLOCK" }, "Priority" : 1, "RuleId" : { "Ref" : "SqlInjRule" } } ] } }

YAML

Copy
MyWebACL: Type: "AWS::WAF::WebACL" Properties: Name: "Web ACL to block SQL injection in the query string" DefaultAction: Type: "ALLOW" MetricName: "SqlInjWebACL" Rules: - Action: Type: "BLOCK" Priority: 1 RuleId: Ref: "SqlInjRule"

本页内容: