何がしたいのか
AWS Config のルールを名前で検索したいです。
AWS Config ルールのコンソール画面には検索窓がなく、名前等でフィルタできません。
こうしたらできた
検索方法
AWS CLI を使って一覧化する(AWS CLI の利用設定済み前提)。
ConfigRuleId、ConfigRuleName、ConfigRuleStateを一覧表示。
コマンド
変数
SEARCH_STRING={検索したい単語}
AWS CLI
aws configservice describe-config-rules --output json | jq -r '.ConfigRules[] | select(.ConfigRuleName | contains("'"$SEARCH_STRING"'")) | [.ConfigRuleId, .ConfigRuleName, .ConfigRuleState] | @tsv'
サンプル
ルール名に「tag」がつく config rule を探す。
% SEARCH_STRING=tag
% aws configservice describe-config-rules --output json | jq -r '.ConfigRules[] | select(.ConfigRuleName | contains("'"$SEARCH_STRING"'")) | [.ConfigRuleId, .ConfigRuleName, .ConfigRuleState] | @tsv'
config-rule-wnod5z required-tags ACTIVE
config-rule-yabmkx securityhub-ecr-XXX ACTIVE
config-rule-xmuqst securityhub-fsx-XXX ACTIVE
config-rule-odxr2a securityhub-neptune-XXX ACTIVE
config-rule-qveleo securityhub-rds-XXX ACTIVE
config-rule-uejkbj securityhub-rds-XXX ACTIVE
securityhub が邪魔な場合は grep で除外。
% SEARCH_STRING=tag
% aws configservice describe-config-rules --output json | jq -r '.ConfigRules[] | select(.ConfigRuleName | contains("'"$SEARCH_STRING"'")) | [.ConfigRuleId, .ConfigRuleName, .ConfigRuleState] | @tsv' | grep -v "securityhub"
config-rule-wnod5z required-tags ACTIVE
詳細確認
ここまでだと、idと名前と状態しかわかりません。
ルールの詳細をこのままコマンドで確認してもよいのですが、詳細はコンソールで確認したい場合は、確認したルール名を以下のリンクに追記してブラウザから直接飛べばOK。
リンク
https://{リージョン}.console.aws.amazon.com/config/home?region={リージョン}#/rules/details?configRuleName={ルール名}
サンプル
リージョンや名前は変えてください。
https://ap-northeast-1.console.aws.amazon.com/config/home?region=ap-northeast-1#/rules/details?configRuleName=required-tags