在通过控制台添加要使用 AWS Shield Advanced 保护的资源时,“向导”创建了一个 Web ACL 速率限制规则,我可以在控制台中的
- AWS WAF > Web ACL > MyACL > 规则 > MyRateLimitingRule
我如何以编程方式获取(和设置)该规则的详细信息?我尝试使用 CLI 和命令,waf
但wafv2
都没有返回任何有用的信息;我得到的最接近的结果是
aws wafv2 list-available-managed-rule-groups --scope REGIONAL
它至少会返回 AWSManagedRulesCommonRuleSet,它也是可见的,位于 MyRateLimitingRule 上方。CLI 可以返回我需要的内容吗?或者还有其他方法可以获取这些详细信息(也许是一个 Python 脚本转到 API)?
答案1
此脚本提供所需的响应(Bash、AWS CLI、JQ)
#!/bin/bash
web_acl_id () {
aws wafv2 list-web-acls\
--scope REGIONAL |
jq -r ".WebACLs [] |
select (.Name == \"$web_acl_name\") |
.Id"
}
web_acl_rule () {
aws wafv2 get-web-acl\
--name $web_acl_name\
--scope REGIONAL\
--id $(web_acl_id) |
jq ".WebACL.Rules [] |
select (.Name == \"$web_acl_rule_name\")"
}
web_acl_name=MyACL
web_acl_rule_name=MyRateLimitingRule
web_acl_rule