メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::WAF::SqlInjectionMatchSet

AWS::WAF::SqlInjectionMatchSet リソースを使用して、ウェブリクエストの特定の部分で悪意のある SQL コードを含むリクエストを許可、ブロック、またはカウントするために使用する AWS WAF SqlInjectionMatchSet を作成します。詳細については、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 コードを検査するウェブリクエストの部分と、AWS WAF がヘッダー、ヘッダー名を検査するかどうか。

Required: No

AWS WAF SqlInjectionMatchSet SqlInjectionMatchTuplesType: リスト

更新に伴う要件: 中断はありません。

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref により 1234a1a-a1b1-12a1-abcd-a123b123456 のようなリソース物理 ID が返されます。

Ref 関数の使用方法の詳細については、「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 インジェクション一致セットとウェブ ACL ルールを関連付ける

次の例では、SqlInjDetection 一致セットとウェブアクセスコントロールリスト (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"

ウェブ ACL を作成する

次の例では、SqlInjRule ルールとウェブ ACL を関連付けます。ウェブ 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"

このページの内容: