コンソールからAWS Shield Advancedで保護するリソースを追加しているときに、「ウィザード」がWeb ACLレート制限ルールを作成しました。これはコンソールの
- AWS WAF > Web ACL > MyACL > ルール > MyRateLimitingRule
そのルールの詳細をプログラムで取得(および設定)するにはどうすればいいでしょうか?CLIでコマンドwaf
とwafv2
コマンドの両方を使ってみましたが、どちらも役に立つ結果は返ってきませんでした。私が得た最も近いものは
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