本文档仅适用于 AWS CLI 版本 1。有关 AWS CLI 版本 2 的相关文档,请参阅版本 2 用户指南。
使用 AWS CLI 的 AWS WAFV2示例
以下代码示例演示了如何通过将 AWS Command Line Interface与 AWS WAFV2 结合使用,来执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示如何使用 associate-web-acl
。
- AWS CLI
-
将 Web ACL 与区域 AWS 资源相关联
以下
associate-web-acl
示例将指定 Web ACL 与应用程序负载均衡器相关联。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-arnarn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/waf-cli-alb/1ea17125f8b25a2a
\ --regionus-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
\ --rulesfile://waf-rule-list.json
\ --regionus-west-2
file://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
\ --scopeREGIONAL
\ --ip-address-versionIPV4
\ --addresses198.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
\ --scopeREGIONAL
\ --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 集和正则表达式模式集。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 CreateRegexPatternSet
。
-
以下代码示例演示如何使用 create-rule-group
。
- AWS CLI
-
创建用于 Web ACL 的自定义规则组
以下
create-rule-group
命令创建供区域使用的自定义规则组。该组的规则声明以 JSON 格式的文件提供。aws wafv2 create-rule-group \ --name
"TestRuleGroup"
\ --scopeREGIONAL
\ --capacity250
\ --rulesfile://waf-rule.json
\ --visibility-configSampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=TestRuleGroupMetrics
\ --regionus-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/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
\ --scopeREGIONAL
\ --default-actionAllow={}
\ --visibility-configSampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=TestWebAclMetrics
\ --rulesfile://waf-rule.json
\ --regionus-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
。
-
以下代码示例演示如何使用 delete-ip-set
。
- AWS CLI
-
删除 IP 集
以下
delete-ip-set
命令删除指定 IP 集。此调用需要一个 ID(可以从调用list-ip-sets
中获取)和一个锁定令牌(可以从调用list-ip-sets
和get-ip-set
中获取)。aws wafv2 delete-ip-set \ --name
test1
\ --scopeREGIONAL
\ --ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111
\ --lock-token46851772-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 流量日志。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteLoggingConfiguration
。
-
以下代码示例演示如何使用 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
\ --scopeREGIONAL
\ --ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111
\ --lock-token0bc01e21-03c9-4b98-9433-6229cbf1ef1c
此命令不生成任何输出。
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的 IP 集和正则表达式模式集。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DeleteRegexPatternSet
。
-
以下代码示例演示如何使用 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
\ --scopeREGIONAL
\ --ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111
\ --lock-token7b3bcec2-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
\ --scopeREGIONAL
\ --ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111
\ --lock-tokenebab4ed2-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
\ --nameAWSManagedRulesCommonRuleSet
\ --scopeREGIONAL
输出:
{ "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 开发人员指南》中的托管规则组。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeManagedRuleGroup
。
-
以下代码示例演示如何使用 disassociate-web-acl
。
- AWS CLI
-
取消 Web ACL 与区域 AWS 资源的关联
以下
disassociate-web-acl
示例从指定应用程序负载均衡器中删除任何现有 Web ACL 关联。aws wafv2 disassociate-web-acl \ --resource-arn
arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/waf-cli-alb/1ea17125f8b25a2a
\ --regionus-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-set
和list-ip-sets
中获取 IP 集的 ID。aws wafv2 get-ip-set \ --name
testip
\ --scopeREGIONAL
\ --ida1b2c3d4-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
\ --regionus-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 流量日志。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetLoggingConfiguration
。
-
以下代码示例演示如何使用 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-nametestwebacl2
\ --web-acl-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111
\ --rule-nameratebasedtest
输出:
{ "ManagedKeysIPV4":{ "IPAddressVersion":"IPV4", "Addresses":[ "198.51.100.0/32" ] }, "ManagedKeysIPV6":{ "IPAddressVersion":"IPV6", "Addresses":[ ] } }
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的基于速率的规则声明。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetRateBasedStatementManagedKeys
。
-
以下代码示例演示如何使用 get-regex-pattern-set
。
- AWS CLI
-
检索特定正则表达式模式集
以下
get-regex-pattern-set
命令检索具有指定名称、范围、区域和 ID 的正则表达式模式集。可以从命令create-regex-pattern-set
和list-regex-pattern-sets
中获取正则表达式模式集的 ID。aws wafv2 get-regex-pattern-set \ --name
regexPatterSet01
\ --scopeREGIONAL
\ --ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111
\ --regionus-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-group
和list-rule-groups
中获取规则组的 ID。aws wafv2 get-rule-group \ --name
ff
\ --scopeREGIONAL
\ --ida1b2c3d4-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-nameAWS-AWSManagedRulesSQLiRuleSet
\ --scope=REGIONAL \ --time-windowStartTime=2020-02-12T20:00Z,EndTime=2020-02-12T21:10Z
\ --max-items100
输出:
{ "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 资源关联或取消关联。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetWebAclForResource
。
-
以下代码示例演示如何使用 get-web-acl
。
- AWS CLI
-
检索 Web ACL
以下
get-web-acl
命令检索具有指定名称、范围和 ID 的 Web ACL。可以从命令create-web-acl
和list-web-acls
中获取 Web ACL 的 ID。aws wafv2 get-web-acl \ --name
test01
\ --scopeREGIONAL
\ --ida1b2c3d4-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 开发人员指南》中的托管规则组。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListAvailableManagedRuleGroups
。
-
以下代码示例演示如何使用 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
命令检索 Web ACL 的所有日志记录配置,这些配置仅供us-west-2
区域的用户使用。aws wafv2 list-logging-configurations \ --scope
REGIONAL
\ --regionus-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 流量日志。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListLoggingConfigurations
。
-
以下代码示例演示如何使用 list-regex-pattern-sets
。
- AWS CLI
-
检索正则表达式模式集列表
以下
list-regex-pattern-sets
命令检索在区域us-west-2
中定义的账户的所有正则表达式模式集。aws wafv2 list-regex-pattern-sets \ --scope
REGIONAL
\ --regionus-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 集和正则表达式模式集。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListRegexPatternSets
。
-
以下代码示例演示如何使用 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-typeAPI_GATEWAY
\ --regionus-west-2
输出:
{ "ResourceArns": [ "arn:aws:apigateway:us-west-2::/restapis/EXAMPLE111/stages/testing" ] }
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的将 Web ACL 与 AWS 资源关联或取消关联。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListResourcesForWebAcl
。
-
以下代码示例演示如何使用 list-rule-groups
。
- AWS CLI
-
检索自定义规则组列表
以下
list-rule-groups
命令检索为指定范围和区域位置的账户定义的所有自定义规则组。aws wafv2 list-rule-groups \ --scope
REGIONAL
\ --regionus-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 入门。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListTagsForResource
。
-
以下代码示例演示如何使用 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
\ --regionus-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 流量日志。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 PutLoggingConfiguration
。
-
以下代码示例演示如何使用 tag-resource
。
- AWS CLI
-
向 AWS WAF 资源中添加标签
以下
tag-resource
示例向指定的 Web ACL 中添加具有Name
键且值设为AWSWAF
的标签。aws wafv2 tag-resource \ --resource-arn
arn:aws:wafv2:us-west-2:123456789012:regional/webacl/apiGatewayWebAcl/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
\ --tagsKey=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
示例从指定 Web ACL 中删除具有KeyName
键的标签。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-sets
和get-ip-set
中获取)。此调用还返回一个可用于后续更新的锁定令牌。aws wafv2 update-ip-set \ --name
testip
\ --scopeREGIONAL
\ --ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111
\ --addresses198.51.100.0/16
\ --lock-token447e55ac-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-sets
和get-regex-pattern-set
中获取)。此调用还返回一个可用于后续更新的锁定令牌。aws wafv2 update-regex-pattern-set \ --name
ExampleRegex
\ --scopeREGIONAL
\ --ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111
\ --regular-expression-list RegexString="^.+$" \ --lock-tokened207e9c-82e9-4a77-aadd-81e6173ab7eb
输出:
{ "NextLockToken": "12ebc73e-fa68-417d-a9b8-2bdd761a4fa5" }
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的 IP 集和正则表达式模式集。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateRegexPatternSet
。
-
以下代码示例演示如何使用 update-rule-group
。
- AWS CLI
-
更新自定义规则组
以下
update-rule-group
命令更改现有自定义规则组的可见性配置。此调用需要一个 ID(可以从调用list-rule-groups
中获取)和一个锁定令牌(可以从调用list-rule-groups
和get-rule-group
中获取)。此调用还返回一个可用于后续更新的锁定令牌。aws wafv2 update-rule-group \ --name
TestRuleGroup
\ --scopeREGIONAL
\ --ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111
\ --lock-token7b3bcec2-0000-0000-0000-563bf47249f0
\ --visibility-configSampledRequestsEnabled=false,CloudWatchMetricsEnabled=false,MetricName=TestMetricsForRuleGroup
\ --regionus-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
\ --scopeREGIONAL
\ --ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111
\ --lock-token2294b3a1-0000-0000-0000-a3ae04329de9
\ --default-actionBlock={}
\ --visibility-configSampledRequestsEnabled=false,CloudWatchMetricsEnabled=false,MetricName=NewMetricTestWebAcl
\ --rulesfile://waf-rule.json
\ --regionus-west-2
输出:
{ "NextLockToken": "714a0cfb-0000-0000-0000-2959c8b9a684" }
有关更多信息,请参阅《AWS WAF、AWS Firewall Manager 和 AWS Shield Advanced 开发人员指南》中的管理和使用 Web 访问控制列表(Web ACL)。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UpdateWebAcl
。
-