При добавлении ресурсов для защиты с помощью AWS Shield Advanced через консоль, «мастер» создал правило ограничения скорости Web ACL, которое я вижу в консоли под
- AWS WAF > Веб-списки контроля доступа > 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