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

AWS::WAFRegional::WebACL

AWS::WAFRegional::WebACL リソースは、許可、ブロック、またはカウントする Amazon CloudFront (CloudFront) ウェブリクエストを識別するルールを含む AWS WAF リージョン別 ウェブアクセスコントロールグループ (ACL) を作成します。詳細については、『AWS WAF リージョン別 API リファレンス』の「CreateWebACL」を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type" : "AWS::WAFRegional::WebACL", "Properties" : { "DefaultAction" : Action, "MetricName" : String, "Name" : String, "Rules" : [ Rule, ... ] } }

YAML

Copy
Type: "AWS::WAFRegional::WebACL" Properties: DefaultAction: Action MetricName: String Name: String Rules: - Rule

プロパティ

DefaultAction

リクエストがウェブ ACL に関連付けられたどのルールの条件にも一致しない場合に AWS WAF が実行するアクション。

Required: Yes

Type: AWS WAF リージョン別 WebACL アクション

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

MetricName

このウェブ ACL の Amazon CloudWatch メトリクスのフレンドリ名または説明。有効な値については、『AWS WAF リージョン別 API リファレンス』の「CreateWebACL」アクションのMetricName パラメータを参照してください。

Required: Yes

Type: String

更新に伴う要件: 置換

Name

ウェブ ACL のフレンドリ名または説明。

Required: Yes

Type: String

更新に伴う要件: 置換

Rules

ウェブ ACL に関連付けるルールと各ルールの設定。

Required: No

AWS WAF リージョン別 WebACL ルールType: リスト

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

戻り値

参照番号

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

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

ウェブ ACL を作成する

次の例では、デフォルトでウェブリクエストを許可するウェブ ACL を定義します。ただし、リクエストがいずれかのルールに一致する場合、AWS WAF はリクエストをブロックします。AWS WAF は、優先順位に従って各ルールを評価します (値が小さい順)。

JSON

Copy
"MyWebACL": { "Type": "AWS::WAFRegional::WebACL", "Properties": { "Name": "WebACL to with three rules", "DefaultAction": { "Type": "ALLOW" }, "MetricName" : "MyWebACL", "Rules": [ { "Action" : { "Type" : "BLOCK" }, "Priority" : 1, "RuleId" : { "Ref" : "MyRule" } }, { "Action" : { "Type" : "BLOCK" }, "Priority" : 2, "RuleId" : { "Ref" : "BadReferersRule" } }, { "Action" : { "Type" : "BLOCK" }, "Priority" : 3, "RuleId" : { "Ref" : "SqlInjRule" } } ] } }

YAML

Copy
MyWebACL: Type: "AWS::WAFRegional::WebACL" Properties: Name: "WebACL to with three rules" DefaultAction: Type: "ALLOW" MetricName: "MyWebACL" Rules: - Action: Type: "BLOCK" Priority: 1 RuleId: Ref: "MyRule" - Action: Type: "BLOCK" Priority: 2 RuleId: Ref: "BadReferersRule" - Action: Type: "BLOCK" Priority: 3 RuleId: Ref: "SqlInjRule"

ウェブ ACL と CloudFront ディストリビューションを関連付ける

次の例では、MyWebACL ウェブ ACL と CloudFront ディストリビューションを関連付けます。ウェブ ACL は、CloudFront により提供されるコンテンツにアクセスできるリクエストを制限します。

JSON

Copy
"myDistribution": { "Type": "AWS::CloudFront::Distribution", "Properties": { "DistributionConfig": { "WebACLId": { "Ref" : "MyWebACL" }, "Origins": [ { "DomainName": "test.example.com", "Id": "myCustomOrigin", "CustomOriginConfig": { "HTTPPort": "80", "HTTPSPort": "443", "OriginProtocolPolicy": "http-only" } } ], "Enabled": "true", "Comment": "TestDistribution", "DefaultRootObject": "index.html", "DefaultCacheBehavior": { "TargetOriginId": "myCustomOrigin", "SmoothStreaming" : "false", "ForwardedValues": { "QueryString": "false", "Cookies" : { "Forward" : "all" } }, "ViewerProtocolPolicy": "allow-all" }, "CustomErrorResponses" : [ { "ErrorCode" : "404", "ResponsePagePath" : "/error-pages/404.html", "ResponseCode" : "200", "ErrorCachingMinTTL" : "30" } ], "PriceClass" : "PriceClass_200", "Restrictions" : { "GeoRestriction" : { "RestrictionType" : "whitelist", "Locations" : [ "AQ", "CV" ] } }, "ViewerCertificate" : { "CloudFrontDefaultCertificate" : "true" } } } }

YAML

Copy
myDistribution: Type: "AWS::CloudFront::Distribution" Properties: DistributionConfig: WebACLId: Ref: "MyWebACL" Origins: - DomainName: "test.example.com" Id: "myCustomOrigin" CustomOriginConfig: HTTPPort: "80" HTTPSPort: "443" OriginProtocolPolicy: "http-only" Enabled: "true" Comment: "TestDistribution" DefaultRootObject: "index.html" DefaultCacheBehavior: TargetOriginId: "myCustomOrigin" SmoothStreaming: "false" ForwardedValues: QueryString: "false" Cookies: Forward: "all" ViewerProtocolPolicy: "allow-all" CustomErrorResponses: - ErrorCode: "404" ResponsePagePath: "/error-pages/404.html" ResponseCode: "200" ErrorCachingMinTTL: "30" PriceClass: "PriceClass_200" Restrictions: GeoRestriction: RestrictionType: "whitelist" Locations: - "AQ" - "CV" ViewerCertificate: CloudFrontDefaultCertificate: "true"

このページの内容: