使用 AWS CLI 的 AWS WAFV2 範例 - AWS Command Line Interface

使用 AWS CLI 的 AWS WAFV2 範例

下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 AWS WAFV2 來執行動作,並實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。

每個範例均包含完整原始程式碼的連結,您可在連結中找到如何在內容中設定和執行程式碼的相關指示。

主題

動作

以下程式碼範例顯示如何使用 associate-web-acl

AWS CLI

將 Web ACL 與區域 AWS 資源建立關聯

下列 associate-web-acl 範例會將指定的 web ACL 與 Application Load Balancer 建立關聯。

aws wafv2 associate-web-acl \ --web-acl-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test-cli/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --resource-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/waf-cli-alb/1ea17125f8b25a2a \ --region us-west-2

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS WAF、 AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的將 Web ACL 與 AWS 資源關聯或取消關聯

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 AssociateWebAcl

以下程式碼範例顯示如何使用 check-capacity

AWS CLI

取得規則集所使用的容量

以下 check-capacity 會擷取規則集的容量需求,其中包含速率型規則陳述式,以及包含巢狀規則的 AND 規則陳述式。

aws wafv2 check-capacity \ --scope REGIONAL \ --rules file://waf-rule-list.json \ --region us-west-2

檔案的內容://waf-rule-list.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" } }, { "Name":"rate-rule", "Priority":1, "Statement":{ "RateBasedStatement":{ "Limit":1000, "AggregateKeyType":"IP" } }, "Action":{ "Block":{ } }, "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"rate-rule" } } ]

輸出:

{ "Capacity":15 }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的 AWS WAF Web ACL 容量單位 (WCU)

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CheckCapacity

以下程式碼範例顯示如何使用 create-ip-set

AWS CLI

建立用於 Web ACL 和規則群組的 IP 集

下列 create-ip-set 命令會建立具有單一地址範圍規格的 IP 集。

aws wafv2 create-ip-set \ --name testip \ --scope REGIONAL \ --ip-address-version IPV4 \ --addresses 198.51.100.0/16

輸出:

{ "Summary":{ "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/ipset/testip/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"", "Name":"testip", "LockToken":"447e55ac-0000-0000-0000-86b67c17f8b5", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的 IP 集合和規則運算式模式集

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreateIpSet

以下程式碼範例顯示如何使用 create-regex-pattern-set

AWS CLI

建立用於 Web ACL 和規則群組的規則運算式模式集

下列 create-regex-pattern-set 命令會以兩個指定的規則運算式模式建立規則運算式模式集。

aws wafv2 create-regex-pattern-set \ --name regexPatterSet01 \ --scope REGIONAL \ --description 'Test web-acl' \ --regular-expression-list '[{"RegexString": "/[0-9]*/"},{"RegexString": "/[a-z]*/"}]'

輸出:

{ "Summary":{ "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/regexpatternset/regexPatterSet01/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"Test web-acl", "Name":"regexPatterSet01", "LockToken":"0bc01e21-03c9-4b98-9433-6229cbf1ef1c", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的 IP 集合和規則運算式模式集

以下程式碼範例顯示如何使用 create-rule-group

AWS CLI

建立用於 Web ACL 中的自訂規則群組

下列 create-rule-group 命令會建立自訂規則群組以供區域使用。群組的規則陳述式是以 JSON 格式的檔案提供。

aws wafv2 create-rule-group \ --name "TestRuleGroup" \ --scope REGIONAL \ --capacity 250 \ --rules file://waf-rule.json \ --visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=TestRuleGroupMetrics \ --region us-west-2

檔案的內容://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/rulegroup/TestRuleGroup/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"", "Name":"TestRuleGroup", "LockToken":"7b3bcec2-374e-4c5a-b2b9-563bf47249f0", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的管理自己的規則群組

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreateRuleGroup

以下程式碼範例顯示如何使用 create-web-acl

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

檔案的內容://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

以下程式碼範例顯示如何使用 delete-ip-set

AWS CLI

刪除 IP 集合

以下 delete-ip-set 會刪除指定的 IP 集。此呼叫需要一個您可以從呼叫取得的 ID、list-ip-sets,以及一個您可以從呼叫、list-ip-setsget-ip-set 取得的鎖定權杖。

aws wafv2 delete-ip-set \ --name test1 \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --lock-token 46851772-db6f-459d-9385-49428812e357

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的 IP 集合和規則運算式模式集

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteIpSet

以下程式碼範例顯示如何使用 delete-logging-configuration

AWS CLI

停用 Web ACL 記錄

以下 delete-logging-configuration 會從指定的 Web ACL 中移除任何記錄組態。

aws wafv2 delete-logging-configuration \ --resource-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的記錄 Web ACL 流量資訊

以下程式碼範例顯示如何使用 delete-regex-pattern-set

AWS CLI

刪除規則運算式模式集

以下 delete-regex-pattern-set 更新所指定規則運算式模式集的設定。此呼叫需要一個您可以從呼叫取得的 ID、list-regex-pattern-sets,以及一個您可以從呼叫 list-regex-pattern-sets 或呼叫 get-regex-pattern-set 取得的鎖定權杖。

aws wafv2 delete-regex-pattern-set \ --name regexPatterSet01 \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --lock-token 0bc01e21-03c9-4b98-9433-6229cbf1ef1c

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的 IP 集合和規則運算式模式集

以下程式碼範例顯示如何使用 delete-rule-group

AWS CLI

刪除自訂規則群組

以下 delete-rule-group 會刪除指定的自訂規則群組。此呼叫需要一個您可以從呼叫取得的 ID、list-rule-groups,以及一個您可以從呼叫 list-rule-groups 或呼叫 get-rule-group 取得的鎖定權杖。

aws wafv2 delete-rule-group \ --name TestRuleGroup \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --lock-token 7b3bcec2-0000-0000-0000-563bf47249f0

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的管理自己的規則群組

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteRuleGroup

以下程式碼範例顯示如何使用 delete-web-acl

AWS CLI

刪除 Web ACL

下列 delete-web-acl 會將指定的 Web ACL 從您的帳戶中刪除。只有當 Web ACL 未與任何資源關聯時,才能將其刪除。此呼叫需要一個您可以從呼叫取得的 ID、list-web-acls,以及一個您可以從呼叫 list-web-acls 或呼叫 get-web-acl 取得的鎖定權杖。

aws wafv2 delete-web-acl \ --name test \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --lock-token ebab4ed2-155e-4c9a-9efb-e4c45665b1f5

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 管理人員指南》中的管理和使用 Web 存取控制清單 (Web ACL)

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteWebAcl

以下程式碼範例顯示如何使用 describe-managed-rule-group

AWS CLI

擷取受管規則群組的描述

以下 describe-managed-rule-group 會擷取 AWS 受管規則群組的描述。

aws wafv2 describe-managed-rule-group \ --vendor-name AWS \ --name AWSManagedRulesCommonRuleSet \ --scope REGIONAL

輸出:

{ "Capacity": 700, "Rules": [ { "Name": "NoUserAgent_HEADER", "Action": { "Block": {} } }, { "Name": "UserAgent_BadBots_HEADER", "Action": { "Block": {} } }, { "Name": "SizeRestrictions_QUERYSTRING", "Action": { "Block": {} } }, { "Name": "SizeRestrictions_Cookie_HEADER", "Action": { "Block": {} } }, { "Name": "SizeRestrictions_BODY", "Action": { "Block": {} } }, { "Name": "SizeRestrictions_URIPATH", "Action": { "Block": {} } }, { "Name": "EC2MetaDataSSRF_BODY", "Action": { "Block": {} } }, { "Name": "EC2MetaDataSSRF_COOKIE", "Action": { "Block": {} } }, { "Name": "EC2MetaDataSSRF_URIPATH", "Action": { "Block": {} } }, { "Name": "EC2MetaDataSSRF_QUERYARGUMENTS", "Action": { "Block": {} } }, { "Name": "GenericLFI_QUERYARGUMENTS", "Action": { "Block": {} } }, { } "Name": "GenericLFI_URIPATH", "Action": { "Block": {} } }, { "Name": "GenericLFI_BODY", "Action": { "Block": {} } }, { "Name": "RestrictedExtensions_URIPATH", "Action": { "Block": {} } }, { "Name": "RestrictedExtensions_QUERYARGUMENTS", "Action": { "Block": {} } }, { "Name": "GenericRFI_QUERYARGUMENTS", "Action": { "Block": {} } }, { "Name": "GenericRFI_BODY", "Action": { "Block": {} } }, { "Name": "GenericRFI_URIPATH", "Action": { "Block": {} } }, { "Name": "CrossSiteScripting_COOKIE", "Action": { "Block": {} } }, { "Name": "CrossSiteScripting_QUERYARGUMENTS", "Action": { "Block": {} } }, { "Name": "CrossSiteScripting_BODY", "Action": { "Block": {} } }, { "Name": "CrossSiteScripting_URIPATH", "Action": { "Block": {} } } ] }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的管理規則群組

以下程式碼範例顯示如何使用 disassociate-web-acl

AWS CLI

取消 Web ACL 與區域 AWS 資源的關聯

下列 disassociate-web-acl 範例會從指定的 Application Load Balancer 中移除任何現有的 Web ACL 關聯。

aws wafv2 disassociate-web-acl \ --resource-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/waf-cli-alb/1ea17125f8b25a2a \ --region us-west-2

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS WAF、 AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的將 Web ACL 與 AWS 資源關聯或取消關聯

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DisassociateWebAcl

以下程式碼範例顯示如何使用 get-ip-set

AWS CLI

擷取特定 IP 集

以下 get-ip-set 會擷取具有指定名稱、範圍和 ID 的 IP 集。您可以從命令 create-ip-setlist-ip-sets 中取得 IP 集的 ID。

aws wafv2 get-ip-set \ --name testip \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

輸出:

{ "IPSet":{ "Description":"", "Name":"testip", "IPAddressVersion":"IPV4", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE1111", "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/ipset/testip/a1b2c3d4-5678-90ab-cdef-EXAMPLE1111", "Addresses":[ "192.0.2.0/16" ] }, "LockToken":"447e55ac-2396-4c6d-b9f9-86b67c17f8b5" }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的 IP 集合和規則運算式模式集

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetIpSet

以下程式碼範例顯示如何使用 get-logging-configuration

AWS CLI

擷取 Web ACL 的記錄組態

以下 get-logging-configuration 會擷取所指定 Web ACL 的記錄組態。

aws wafv2 get-logging-configuration \ --resource-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 \ --region us-west-2

輸出:

{ "LoggingConfiguration":{ "ResourceArn":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "RedactedFields":[ { "Method":{ } } ], "LogDestinationConfigs":[ "arn:aws:firehose:us-west-2:123456789012:deliverystream/aws-waf-logs-custom-transformation" ] } }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的記錄 Web ACL 流量資訊

以下程式碼範例顯示如何使用 get-rate-based-statement-managed-keys

AWS CLI

擷取由速率型規則封鎖的 IP 位址清單

以下 get-rate-based-statement-managed-keys 會擷取目前由用於區域應用程式的速率型規則所封鎖的 IP 地址。

aws wafv2 get-rate-based-statement-managed-keys \ --scope REGIONAL \ --web-acl-name testwebacl2 \ --web-acl-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --rule-name ratebasedtest

輸出:

{ "ManagedKeysIPV4":{ "IPAddressVersion":"IPV4", "Addresses":[ "198.51.100.0/32" ] }, "ManagedKeysIPV6":{ "IPAddressVersion":"IPV6", "Addresses":[ ] } }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的速率型規則陳述式

以下程式碼範例顯示如何使用 get-regex-pattern-set

AWS CLI

擷取特定規則運算式模式集

以下 get-regex-pattern-set 會擷取具有指定名稱、範圍、區域和 ID 的規則運算式模式集。您可以從命令 create-regex-pattern-setlist-regex-pattern-sets 中取得規則運算式模式集的 ID。

aws wafv2 get-regex-pattern-set \ --name regexPatterSet01 \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --region us-west-2

輸出:

{ "RegexPatternSet":{ "Description":"Test web-acl", "RegularExpressionList":[ { "RegexString":"/[0-9]*/" }, { "RegexString":"/[a-z]*/" } ], "Name":"regexPatterSet01", "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/regexpatternset/regexPatterSet01/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }, "LockToken":"c8abf33f-b6fc-46ae-846e-42f994d57b29" }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的 IP 集合和規則運算式模式集

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetRegexPatternSet

以下程式碼範例顯示如何使用 get-rule-group

AWS CLI

擷取特定自訂規則群組

以下 get-rule-group 會擷取具有指定名稱、範圍和 ID 的自訂規則群組。您可以從命令 create-rule-grouplist-rule-groups 取得規則群組的 ID。

aws wafv2 get-rule-group \ --name ff \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

輸出:

{ "RuleGroup":{ "Capacity":1, "Description":"", "Rules":[ { "Priority":0, "Action":{ "Block":{ } }, "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"jj" }, "Name":"jj", "Statement":{ "SizeConstraintStatement":{ "ComparisonOperator":"LE", "TextTransformations":[ { "Priority":0, "Type":"NONE" } ], "FieldToMatch":{ "UriPath":{ } }, "Size":7 } } } ], "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"ff" }, "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/rulegroup/ff/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name":"ff" }, "LockToken":"485458c9-1830-4234-af31-ec4d52ced1b3" }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的管理自己的規則群組

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetRuleGroup

以下程式碼範例顯示如何使用 get-sampled-requests

AWS CLI

擷取 Web ACL 的 Web 請求範例

以下 get-sampled-requests 會擷取指定 Web ACL、規則指標和時間範圍的範例 Web 請求。

aws wafv2 get-sampled-requests \ --web-acl-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test-cli/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --rule-metric-name AWS-AWSManagedRulesSQLiRuleSet \ --scope=REGIONAL \ --time-window StartTime=2020-02-12T20:00Z,EndTime=2020-02-12T21:10Z \ --max-items 100

輸出:

{ "TimeWindow": { "EndTime": 1581541800.0, "StartTime": 1581537600.0 }, "SampledRequests": [ { "Action": "BLOCK", "Timestamp": 1581541799.564, "RuleNameWithinRuleGroup": "AWS#AWSManagedRulesSQLiRuleSet#SQLi_BODY", "Request": { "Country": "US", "URI": "/", "Headers": [ { "Name": "Host", "Value": "alb-test-1EXAMPLE1.us-east-1.elb.amazonaws.com" }, { "Name": "Content-Length", "Value": "7456" }, { "Name": "User-Agent", "Value": "curl/7.53.1" }, { "Name": "Accept", "Value": "/" }, { "Name": "Content-Type", "Value": "application/x-www-form-urlencoded" } ], "ClientIP": "198.51.100.08", "Method": "POST", "HTTPVersion": "HTTP/1.1" }, "Weight": 1 }, { "Action": "BLOCK", "Timestamp": 1581541799.988, "RuleNameWithinRuleGroup": "AWS#AWSManagedRulesSQLiRuleSet#SQLi_BODY", "Request": { "Country": "US", "URI": "/", "Headers": [ { "Name": "Host", "Value": "alb-test-1EXAMPLE1.us-east-1.elb.amazonaws.com" }, { "Name": "Content-Length", "Value": "7456" }, { "Name": "User-Agent", "Value": "curl/7.53.1" }, { "Name": "Accept", "Value": "/" }, { "Name": "Content-Type", "Value": "application/x-www-form-urlencoded" } ], "ClientIP": "198.51.100.08", "Method": "POST", "HTTPVersion": "HTTP/1.1" }, "Weight": 3 }, { "Action": "BLOCK", "Timestamp": 1581541799.846, "RuleNameWithinRuleGroup": "AWS#AWSManagedRulesSQLiRuleSet#SQLi_BODY", "Request": { "Country": "US", "URI": "/", "Headers": [ { "Name": "Host", "Value": "alb-test-1EXAMPLE1.us-east-1.elb.amazonaws.com" }, { "Name": "Content-Length", "Value": "7456" }, { "Name": "User-Agent", "Value": "curl/7.53.1" }, { "Name": "Accept", "Value": "/" }, { "Name": "Content-Type", "Value": "application/x-www-form-urlencoded" } ], "ClientIP": "198.51.100.08", "Method": "POST", "HTTPVersion": "HTTP/1.1" }, "Weight": 1 }, { "Action": "BLOCK", "Timestamp": 1581541799.4, "RuleNameWithinRuleGroup": "AWS#AWSManagedRulesSQLiRuleSet#SQLi_BODY", "Request": { "Country": "US", "URI": "/", "Headers": [ { "Name": "Host", "Value": "alb-test-1EXAMPLE1.us-east-1.elb.amazonaws.com" }, { "Name": "Content-Length", "Value": "7456" }, { "Name": "User-Agent", "Value": "curl/7.53.1" }, { "Name": "Accept", "Value": "/" }, { "Name": "Content-Type", "Value": "application/x-www-form-urlencoded" } ], "ClientIP": "198.51.100.08", "Method": "POST", "HTTPVersion": "HTTP/1.1" }, "Weight": 1 } ], "PopulationSize": 4 }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的檢視 Web 請求的範例

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetSampledRequests

以下程式碼範例顯示如何使用 get-web-acl-for-resource

AWS CLI

擷取與 AWS 資源關聯的 Web ACL

以下 get-web-acl-for-resource 會擷取與指定資源相關聯之 Web ACL 的 JSON。

aws wafv2 get-web-acl-for-resource \ --resource-arn arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/waf-cli-alb/1ea17125f8b25a2a

輸出:

{ "WebACL":{ "Capacity":3, "Description":"", "Rules":[ { "Priority":1, "Action":{ "Block":{ } }, "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"testrule01" }, "Name":"testrule01", "Statement":{ "AndStatement":{ "Statements":[ { "ByteMatchStatement":{ "PositionalConstraint":"EXACTLY", "TextTransformations":[ { "Priority":0, "Type":"NONE" } ], "SearchString":"dGVzdHN0cmluZw==", "FieldToMatch":{ "UriPath":{ } } } }, { "SizeConstraintStatement":{ "ComparisonOperator":"EQ", "TextTransformations":[ { "Priority":0, "Type":"NONE" } ], "FieldToMatch":{ "QueryString":{ } }, "Size":0 } } ] } } } ], "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"test01" }, "DefaultAction":{ "Allow":{ } }, "Id":"9a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ", "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test01/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ", "Name":"test01" } }

如需詳細資訊,請參閱《AWS WAF、 AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的將 Web ACL 與 AWS 資源關聯或取消關聯

以下程式碼範例顯示如何使用 get-web-acl

AWS CLI

擷取 Web ACL

以下 get-web-acl 會擷取具有指定名稱、範圍和 ID 的 Web ACL。您可以從命令 create-web-acllist-web-acls 取得 Web ACL 的 ID。

aws wafv2 get-web-acl \ --name test01 \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

輸出:

{ "WebACL":{ "Capacity":3, "Description":"", "Rules":[ { "Priority":1, "Action":{ "Block":{ } }, "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"testrule01" }, "Name":"testrule01", "Statement":{ "AndStatement":{ "Statements":[ { "ByteMatchStatement":{ "PositionalConstraint":"EXACTLY", "TextTransformations":[ { "Priority":0, "Type":"NONE" } ], "SearchString":"dGVzdHN0cmluZw==", "FieldToMatch":{ "UriPath":{ } } } }, { "SizeConstraintStatement":{ "ComparisonOperator":"EQ", "TextTransformations":[ { "Priority":0, "Type":"NONE" } ], "FieldToMatch":{ "QueryString":{ } }, "Size":0 } } ] } } } ], "VisibilityConfig":{ "SampledRequestsEnabled":true, "CloudWatchMetricsEnabled":true, "MetricName":"test01" }, "DefaultAction":{ "Allow":{ } }, "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test01/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name":"test01" }, "LockToken":"e3db7e2c-d58b-4ee6-8346-6aec5511c6fb" }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 管理人員指南》中的管理和使用 Web 存取控制清單 (Web ACL)

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 GetWebAcl

以下程式碼範例顯示如何使用 list-available-managed-rule-groups

AWS CLI

擷取受管規則群組

以下 list-available-managed-rule-groups 會傳回目前可用於 Web ACL 的所有受管規則群組清單。

aws wafv2 list-available-managed-rule-groups \ --scope REGIONAL

輸出:

{ "ManagedRuleGroups": [ { "VendorName": "AWS", "Name": "AWSManagedRulesCommonRuleSet", "Description": "Contains rules that are generally applicable to web applications. This provides protection against exploitation of a wide range of vulnerabilities, including those described in OWASP publications and common Common Vulnerabilities and Exposures (CVE)." }, { "VendorName": "AWS", "Name": "AWSManagedRulesAdminProtectionRuleSet", "Description": "Contains rules that allow you to block external access to exposed admin pages. This may be useful if you are running third-party software or would like to reduce the risk of a malicious actor gaining administrative access to your application." }, { "VendorName": "AWS", "Name": "AWSManagedRulesKnownBadInputsRuleSet", "Description": "Contains rules that allow you to block request patterns that are known to be invalid and are associated with exploitation or discovery of vulnerabilities. This can help reduce the risk of a malicious actor discovering a vulnerable application." }, { "VendorName": "AWS", "Name": "AWSManagedRulesSQLiRuleSet", "Description": "Contains rules that allow you to block request patterns associated with exploitation of SQL databases, like SQL injection attacks. This can help prevent remote injection of unauthorized queries." }, { "VendorName": "AWS", "Name": "AWSManagedRulesLinuxRuleSet", "Description": "Contains rules that block request patterns associated with exploitation of vulnerabilities specific to Linux, including LFI attacks. This can help prevent attacks that expose file contents or execute code for which the attacker should not have had access." }, { "VendorName": "AWS", "Name": "AWSManagedRulesUnixRuleSet", "Description": "Contains rules that block request patterns associated with exploiting vulnerabilities specific to POSIX/POSIX-like OS, including LFI attacks. This can help prevent attacks that expose file contents or execute code for which access should not been allowed." }, { "VendorName": "AWS", "Name": "AWSManagedRulesWindowsRuleSet", "Description": "Contains rules that block request patterns associated with exploiting vulnerabilities specific to Windows, (e.g., PowerShell commands). This can help prevent exploits that allow attacker to run unauthorized commands or execute malicious code." }, { "VendorName": "AWS", "Name": "AWSManagedRulesPHPRuleSet", "Description": "Contains rules that block request patterns associated with exploiting vulnerabilities specific to the use of the PHP, including injection of unsafe PHP functions. This can help prevent exploits that allow an attacker to remotely execute code or commands." }, { "VendorName": "AWS", "Name": "AWSManagedRulesWordPressRuleSet", "Description": "The WordPress Applications group contains rules that block request patterns associated with the exploitation of vulnerabilities specific to WordPress sites." }, { "VendorName": "AWS", "Name": "AWSManagedRulesAmazonIpReputationList", "Description": "This group contains rules that are based on Amazon threat intelligence. This is useful if you would like to block sources associated with bots or other threats." } ] }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的管理規則群組

以下程式碼範例顯示如何使用 list-ip-sets

AWS CLI

擷取 IP 集清單

以下 list-ip-sets 會擷取該帳戶其具有區域範圍的所有 IP 集。

aws wafv2 list-ip-sets \ --scope REGIONAL

輸出:

{ "IPSets":[ { "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/ipset/testip/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"", "Name":"testip", "LockToken":"0674c84b-0304-47fe-8728-c6bff46af8fc", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 " } ], "NextMarker":"testip" }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的 IP 集合和規則運算式模式集

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListIpSets

以下程式碼範例顯示如何使用 list-logging-configurations

AWS CLI

擷取區域的所有記錄組態清單

以下 list-logging-configurations 會擷取範圍限定在 us-west-2 區域中供區域使用之 Web ACL 的所有記錄組態。

aws wafv2 list-logging-configurations \ --scope REGIONAL \ --region us-west-2

輸出:

{ "LoggingConfigurations":[ { "ResourceArn":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test-2/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "RedactedFields":[ { "QueryString":{ } } ], "LogDestinationConfigs":[ "arn:aws:firehose:us-west-2:123456789012:deliverystream/aws-waf-logs-test" ] }, { "ResourceArn":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "RedactedFields":[ { "Method":{ } } ], "LogDestinationConfigs":[ "arn:aws:firehose:us-west-2:123456789012:deliverystream/aws-waf-logs-custom-transformation" ] } ] }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的記錄 Web ACL 流量資訊

以下程式碼範例顯示如何使用 list-regex-pattern-sets

AWS CLI

擷取規則運算式模式集清單

下列 list-regex-pattern-sets 會擷取區域 us-west-2 中所定義帳戶的所有規則運算式模式集。

aws wafv2 list-regex-pattern-sets \ --scope REGIONAL \ --region us-west-2

輸出:

{ "NextMarker":"regexPatterSet01", "RegexPatternSets":[ { "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/regexpatternset/regexPatterSet01/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"Test web-acl", "Name":"regexPatterSet01", "LockToken":"f17743f7-0000-0000-0000-19a8b93bfb01", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } ] }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的 IP 集合和規則運算式模式集

以下程式碼範例顯示如何使用 list-resources-for-web-acl

AWS CLI

擷取與 Web ACL 相關聯的資源

以下 list-resources-for-web-acl 會擷取目前與區域 us-west-2 中所指定 Web ACL 相關聯的 API Gateway REST API 資源。

aws wafv2 list-resources-for-web-acl \ --web-acl-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/TestWebAcl/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --resource-type API_GATEWAY \ --region us-west-2

輸出:

{ "ResourceArns": [ "arn:aws:apigateway:us-west-2::/restapis/EXAMPLE111/stages/testing" ] }

如需詳細資訊,請參閱《AWS WAF、 AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的將 Web ACL 與 AWS 資源關聯或取消關聯

以下程式碼範例顯示如何使用 list-rule-groups

AWS CLI

擷取自訂規則群組清單

以下 list-rule-groups 會擷取為所指定範圍和區域位置的帳戶定義的所有自訂規則群組。

aws wafv2 list-rule-groups \ --scope REGIONAL \ --region us-west-2

輸出:

{ "RuleGroups":[ { "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/rulegroup/TestRuleGroup/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"", "Name":"TestRuleGroup", "LockToken":"1eb5ec48-0000-0000-0000-ee9b906c541e", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }, { "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/rulegroup/test/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Description":"", "Name":"test", "LockToken":"b0f4583e-998b-4880-9069-3fbe45738b43", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" } ], "NextMarker":"test" }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的管理自己的規則群組

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListRuleGroups

以下程式碼範例顯示如何使用 list-tags-for-resource

AWS CLI

擷取 AWS WAF 資源的所有標籤

以下 list-tags-for-resource 會擷取所指定 Web ACL 的所有標籤鍵值對清單。

aws wafv2 list-tags-for-resource \ --resource-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/testwebacl2/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

輸出:

{ "NextMarker":"", "TagInfoForResource":{ "ResourceARN":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/testwebacl2/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "TagList":[ ] } }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的 AWS WAF 入門

以下程式碼範例顯示如何使用 list-web-acls

AWS CLI

擷取範圍的 Web ACL

以下 list-web-acls 會擷取為所指定範圍的帳戶定義的所有 Web ACL。

aws wafv2 list-web-acls \ --scope REGIONAL

輸出:

{ "NextMarker":"Testt", "WebACLs":[ { "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/Testt/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Description":"sssss", "Name":"Testt", "LockToken":"7f36cb30-74ef-4cff-8cd4-a77e1aba1746", "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } ] }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 管理人員指南》中的管理和使用 Web 存取控制清單 (Web ACL)

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListWebAcls

以下程式碼範例顯示如何使用 put-logging-configuration

AWS CLI

將記錄組態新增至 Web ACL

以下 put-logging-configuration 會將 Amazon Kinesis Data Firehose 記錄組態 aws-waf-logs-custom-transformation 新增至指定的 Web ACL,其中日誌中沒有任何已修訂的欄位。

aws wafv2 put-logging-configuration \ --logging-configuration ResourceArn=arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test-cli/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111,LogDestinationConfigs=arn:aws:firehose:us-west-2:123456789012:deliverystream/aws-waf-logs-custom-transformation \ --region us-west-2

輸出:

{ "LoggingConfiguration":{ "ResourceArn":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/test-cli/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "LogDestinationConfigs":[ "arn:aws:firehose:us-west-2:123456789012:deliverystream/aws-waf-logs-custom-transformation" ] } }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的記錄 Web ACL 流量資訊

以下程式碼範例顯示如何使用 tag-resource

AWS CLI

將標籤新增至 AWS WAF 資源

下列 tag-resource 範例會將具有 Name 的索引鍵且值設定為 AWSWAF 的標籤新增至指定的 Web API。

aws wafv2 tag-resource \ --resource-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/apiGatewayWebAcl/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --tags Key=Name,Value=AWSWAF

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的 AWS WAF 入門

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 TagResource

以下程式碼範例顯示如何使用 untag-resource

AWS CLI

將標籤從 AWS WAF 資源中移除

下列 untag-resource 範例會將具有索引鍵 KeyName 的標籤從指定的 Web ACL 中移除。

aws wafv2 untag-resource \ --resource-arn arn:aws:wafv2:us-west-2:123456789012:regional/webacl/apiGatewayWebAcl/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --tag-keys "KeyName"

此命令不會產生輸出。

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的 AWS WAF 入門

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UntagResource

以下程式碼範例顯示如何使用 update-ip-set

AWS CLI

修改現有 IP 集的設定

以下 update-ip-set 會更新所指定 IP 集的設定。此呼叫需要一個您可以從呼叫取得的 ID、list-ip-sets,以及一個您可以從呼叫、list-ip-setsget-ip-set 取得的鎖定權杖。此呼叫也會傳回鎖定權杖,供您用於後續更新。

aws wafv2 update-ip-set \ --name testip \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --addresses 198.51.100.0/16 \ --lock-token 447e55ac-2396-4c6d-b9f9-86b67c17f8b5

輸出:

{ "NextLockToken": "0674c84b-0304-47fe-8728-c6bff46af8fc" }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的 IP 集合和規則運算式模式集

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UpdateIpSet

以下程式碼範例顯示如何使用 update-regex-pattern-set

AWS CLI

修改現有規則運算式模式集的設定

以下 update-regex-pattern-set 更新所指定規則運算式模式集的設定。此呼叫需要一個您可以從呼叫取得的 ID、list-regex-pattern-sets,以及一個您可以從呼叫、list-regex-pattern-setsget-regex-pattern-set 取得的鎖定權杖。此呼叫也會傳回鎖定權杖,供您用於後續更新。

aws wafv2 update-regex-pattern-set \ --name ExampleRegex \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --regular-expression-list RegexString="^.+$" \ --lock-token ed207e9c-82e9-4a77-aadd-81e6173ab7eb

輸出:

{ "NextLockToken": "12ebc73e-fa68-417d-a9b8-2bdd761a4fa5" }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的 IP 集合和規則運算式模式集

以下程式碼範例顯示如何使用 update-rule-group

AWS CLI

更新自訂規則群組

以下 update-rule-group 會變更現有自訂規則群組的可見性組態。此呼叫需要一個您可以從呼叫取得的 ID、list-rule-groups,以及一個您可以從呼叫、list-rule-groupsget-rule-group 取得的鎖定權杖。此呼叫也會傳回鎖定權杖,供您用於後續更新。

aws wafv2 update-rule-group \ --name TestRuleGroup \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --lock-token 7b3bcec2-0000-0000-0000-563bf47249f0 \ --visibility-config SampledRequestsEnabled=false,CloudWatchMetricsEnabled=false,MetricName=TestMetricsForRuleGroup \ --region us-west-2

輸出:

{ "NextLockToken": "1eb5ec48-0000-0000-0000-ee9b906c541e" }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 開發人員指南》中的管理自己的規則群組

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UpdateRuleGroup

以下程式碼範例顯示如何使用 update-web-acl

AWS CLI

更新 Web ACL

下列 update-web-acl 會變更現有 Web ACL 的設定。此呼叫需要一個您可以從呼叫取得的 ID、list-web-acls,以及一個您可以從呼叫 get-web-acl 取得的鎖定權杖和其他設定。此呼叫也會傳回鎖定權杖,供您用於後續更新。

aws wafv2 update-web-acl \ --name TestWebAcl \ --scope REGIONAL \ --id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --lock-token 2294b3a1-0000-0000-0000-a3ae04329de9 \ --default-action Block={} \ --visibility-config SampledRequestsEnabled=false,CloudWatchMetricsEnabled=false,MetricName=NewMetricTestWebAcl \ --rules file://waf-rule.json \ --region us-west-2

輸出:

{ "NextLockToken": "714a0cfb-0000-0000-0000-2959c8b9a684" }

如需詳細資訊,請參閱《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 管理人員指南》中的管理和使用 Web 存取控制清單 (Web ACL)

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UpdateWebAcl