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

AWS::WAFRegional::GeoMatchSet

注意

这是 AWS WAF Classic 文档。有关更多信息,请参阅开发人员指南中的 AWS WAF Classic

有关最新版本的 AWS WAF,请使用 AWS WAFV2 API 并参阅 AWS WAF 开发人员指南。对于最新版本,AWS WAF 具有一组用于区域和全球范围的终端节点。

包含 AWS WAF 将搜索的一个或多个国家/地区。

语法

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

JSON

{ "Type" : "AWS::WAFRegional::GeoMatchSet", "Properties" : { "GeoMatchConstraints" : [ GeoMatchConstraint, ... ], "Name" : String } }

YAML

Type: AWS::WAFRegional::GeoMatchSet Properties: GeoMatchConstraints: - GeoMatchConstraint Name: String

属性

GeoMatchConstraints

GeoMatchConstraint 对象的数组,其中包含您希望 AWS WAF 搜索的国家/地区。

必需:否

类型GeoMatchConstraint 的列表

Update requires: No interruption

Name

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

必需:是

类型:字符串

最低1

最高128

模式.*\S.*

Update requires: Replacement

返回值

Ref

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

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

示例

定义地理约束

以下示例为一条 Web 访问控制列表 (ACL) 规则定义了一组 GeoMatchConstraints。

JSON

"MyGeoConstraints": { "Type": "AWS::WAFRegional::GeoMatchSet", "Properties": { "Name": "GeoMatchSet for restricted countries", "GeoMatchConstraints": [ { "Type" : "Country", "Value" : "AE" }, { "Type" : "Country", "Value" : "ZW" } ] } }

YAML

MyGeoConstraints: Type: "AWS::WAFRegional::GeoMatchSet" Properties: Name: "GeoMatchSet for restricted countries" GeoMatchConstraints: - Type: "Country" Value: "AE" - Type: "Country" Value: "AE"

将 GeoMatchSet 与 Web ACL 规则关联

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

JSON

"MyGeoMatchRule" : { "Type": "AWS::WAFRegional::Rule", "Properties": { "Name": "MyGeoMatchRule", "MetricName" : "MyGeoMatchRule", "Predicates": [ { "DataId" : { "Ref" : "MyGeoConstraints" }, "Negated" : false, "Type" : "GeoMatch" } ] } }

YAML

MyGeoMatchRule: Type: "AWS::WAFRegional::Rule" Properties: Name: "MyGeoMatchRule" MetricName: "MyGeoMatchRule" Predicates: - DataId: Ref: "MyGeoConstraints" Negated: false Type: "GeoMatch"

创建 Web ACL

下面的示例将 MyGeoMatchRule 规则关联到一个 Web ACL。此 Web ACL 允许来自所有国家/地区(MyGeoMatchRule 中定义的国家/地区除外)的请求。

JSON

"MyWebACL": { "Type": "AWS::WAFRegional::WebACL", "Properties": { "Name": "WebACL to block restricted countries", "DefaultAction": { "Type": "ALLOW" }, "MetricName" : "MyWebACL", "Rules": [ { "Action" : { "Type" : "BLOCK" }, "Priority" : 1, "RuleId" : { "Ref" : "MyGeoMatchRule" } } ] } }

YAML

MyWebACL: Type: "AWS::WAFRegional::WebACL" Properties: Name: "WebACL to block restricted countries" DefaultAction: Type: "ALLOW" MetricName: "MyWebACL" Rules: - Action: Type: "BLOCK" Priority: 1 RuleId: Ref: "MyGeoMatchRule"