将 CreateWebAcl 与 CLI 配合使用 - AWS SDK 代码示例

AWS 文档 SDK 示例 GitHub 存储库中还有更多 AWS SDK 示例。

CreateWebAcl 与 CLI 配合使用

以下代码示例演示如何使用 CreateWebAcl

CLI
AWS CLI

创建 Web ACL

以下 create-web-acl 命令创建供区域使用的 Web ACL。Web ACL 的规则声明在 JSON 格式的文件中提供。

aws wafv2 create-web-acl \ --name TestWebAcl \ --scope REGIONAL \ --default-action Allow={} \ --visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=TestWebAclMetrics \ --rules file://waf-rule.json \ --region us-west-2

file://waf-rule.json 的内容:

[ { "Name":"basic-rule", "Priority":0, "Statement":{ "AndStatement":{ "Statements":[ { "ByteMatchStatement":{ "SearchString":"example.com", "FieldToMatch":{ "SingleHeader":{ "Name":"host" } }, "TextTransformations":[ { "Priority":0, "Type":"LOWERCASE" } ], "PositionalConstraint":"EXACTLY" } }, { "GeoMatchStatement":{ "CountryCodes":[ "US", "IN" ] } } ] } }, "Action":{ "Allow":{ } }, "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"basic-rule" } } ]

输出:

{ "Summary":{ "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/TestWebAcl/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"", "Name":"TestWebAcl", "LockToken":"2294b3a1-eb60-4aa0-a86f-a3ae04329de9", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } }

有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的管理和使用 Web 访问控制列表(Web ACL)

  • 有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateWebAcl

PowerShell
Tools for PowerShell V4

示例 1:此命令创建一个名为“waf-test”的新 Web ACL。请注意,根据服务 API 文档,“DefaultAction”是必需的属性。因此,应指定“-DefaultAction_Allow”和/或“-DefaultAction_Block”的值。由于“-DefaultAction_Allow”和“-DefaultAction_Block”不是必需的属性,因此可以将值“@{}”用作占位符,如上例所示。

New-WAF2WebACL -Name "waf-test" -Scope REGIONAL -Region eu-west-1 -VisibilityConfig_CloudWatchMetricsEnabled $true -VisibilityConfig_SampledRequestsEnabled $true -VisibilityConfig_MetricName "waf-test" -Description "Test" -DefaultAction_Allow @{}

输出

ARN : arn:aws:wafv2:eu-west-1:139480602983:regional/webacl/waf-test/19460b3f-db14-4b9a-8e23-a417e1eb007f Description : Test Id : 19460b3f-db14-4b9a-8e23-a417e1eb007f LockToken : 5a0cd5eb-d911-4341-b313-b429e6d6b6ab Name : waf-test
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet Reference (V4)》中的 CreateWebAcl

Tools for PowerShell V5

示例 1:此命令创建一个名为“waf-test”的新 Web ACL。请注意,根据服务 API 文档,“DefaultAction”是必需的属性。因此,应指定“-DefaultAction_Allow”和/或“-DefaultAction_Block”的值。由于“-DefaultAction_Allow”和“-DefaultAction_Block”不是必需的属性,因此可以将值“@{}”用作占位符,如上例所示。

New-WAF2WebACL -Name "waf-test" -Scope REGIONAL -Region eu-west-1 -VisibilityConfig_CloudWatchMetricsEnabled $true -VisibilityConfig_SampledRequestsEnabled $true -VisibilityConfig_MetricName "waf-test" -Description "Test" -DefaultAction_Allow @{}

输出

ARN : arn:aws:wafv2:eu-west-1:139480602983:regional/webacl/waf-test/19460b3f-db14-4b9a-8e23-a417e1eb007f Description : Test Id : 19460b3f-db14-4b9a-8e23-a417e1eb007f LockToken : 5a0cd5eb-d911-4341-b313-b429e6d6b6ab Name : waf-test
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet Reference (V5)》中的 CreateWebAcl