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

少なくとも、MyRateLimitingRule の上に表示されている AWSManagedRulesCommonRuleSet を返します。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

関連情報