AWS WAF Web ACL 规则 - 以编程方式获取详细信息

AWS WAF Web ACL 规则 - 以编程方式获取详细信息

在通过控制台添加要使用 AWS Shield Advanced 保护的资源时,“向导”创建了一个 Web ACL 速率限制规则,我可以在控制台中的

  • AWS WAF > Web ACL > MyACL > 规则 > MyRateLimitingRule

我如何以编程方式获取(和设置)该规则的详细信息?我尝试使用 CLI 和命令,wafwafv2都没有返回任何有用的信息;我得到的最接近的结果是

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

相关内容