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 是否可以傳回我需要的內容,或者有其他方法來取得這些詳細資訊(可能是存取 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

相關內容