在透過控制台新增要使用 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 是否可以傳回我需要的內容,或者有其他方法來取得這些詳細資訊(可能是存取 API 的 Python 腳本)?
答案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