Trusted Advisor API でチェック項目の除外設定を行う方法
はじめに
かつまたです。
Trusted Advisorを利用している中で、特定のリソースに対するチェック項目を検出しないようにしたい、または非表示にしたいなどの要件が発生することはありませんか?
以下ブログのようにマネジメントコンソールから特定リソースに対して除外設定を実施することもできますが、除外設定ボタンがグレーアウトしており、マネジメントコンソールからでは設定できないチェック項目も存在します。
本ブログでは、マネジメントコンソールから除外設定ができないチェック項目に対して、AWS CLIでTrusted Advisor APIを用いて特定のリソースに対して、除外設定を実施する手順をご紹介します。
やってみる
今回は「セキュリティ」カテゴリの「IAM Access Analyzer の外部アクセス」に対して、特定のリージョンの検出を除外する設定を実施しました。
- list-recommendationsコマンドで、除外したい対象の項目のARNを取得します。
aws trustedadvisor list-recommendations \
--region us-east-1 \
--query 'recommendationSummaries[?contains(name, `IAM Access Analyzer`)].arn' \
--output table
--queryで特定のチェック項目を検索する方法として、以下の方法を用いました。
[?contains(name,
対象チェック項目の特定のキーワード
)]
出力結果例
- 1 で取得したARNを用いて、list-recommendation-resourcesコマンドで、対象のリソース項目のARN一覧を確認します。
aws trustedadvisor list-recommendation-resources \
--recommendation-identifier "{1で取得したARN}" \
--region us-east-1 \
--query 'recommendationResourceSummaries[].[arn,awsResourceId,regionCode]' \
--output table
出力結果例
- 2で取得したリージョンごとのARNを用いて、batch-update-recommendation-resource-exclusionコマンドで、対象の項目を除外可能です。
isExcludedフラグをtrueに設定して特定のチェック項目を除外します。
aws trustedadvisor batch-update-recommendation-resource-exclusion \
--recommendation-resource-exclusions arn="{リージョン固有のARN}",isExcluded=true \
--region us-east-1
上記をap-northeast-2リージョンに対して実行したのちに、マネジメントコンソールを確認すると、項目が非表示となっていることが確認できました。
- (オプション)除外した項目を再び有効にする場合は、以下のコマンドを実行します。
aws trustedadvisor batch-update-recommendation-resource-exclusion \
--recommendation-resource-exclusions arn="{リージョン固有ARN}",isExcluded=false \
--region us-east-1
マネジメントコンソール上でも再び表示されました。
おわりに
無効化したいTrusted Advisor項目について、無効化の必要性やセキュリティリスクについて十分に検討した上で、本ブログの操作を実施いただくことを推奨します。
ご覧いただきありがとうございました。
参考資料
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。