マネジメントコンソールから非表示にできない Trusted Advisor のチェック項目をAWS CLI で非表示にする
はじめに
要件上、意図して Trusted Advisor 推奨事項に従わない設定でAWSサービスを利用される事があるかと思います。
そういった場合に Trusted Advisor によりチェックされた項目を非表示にする事が可能です。
基本的には各チェック項目の右上にある「非表示 & 更新」というボタンから非表示にする事が可能ですが、チェック項目によっては「非表示」ボタンがグレーアウトしていて、下の画像のチェック項目のように、マネジメントコンソールからの非表示操作ができない場合があります。
このようなケースの場合に、AWS CLI を使用して非表示にする事が可能ですので、手順について当ブログでご紹介させていただきます。
マネジメントコンソールから非表示にできない理由
そもそも、なぜ「非表示 & 更新」ボタンがグレーアウトして操作できなくなっているのかについては以下のとおりとなります。
AWSの仕様により自動的な更新が行われるチェック項目については、手動での更新を実施することができないものとなっています。このため、「非表示 & 更新」ボタンが操作できなくなっています。
例)セキュリティ - AWS Support - Application Load Balancer のセキュリティグループ
このチェックの結果は、1 日に数回自動的に更新され、更新リクエストは許可されません。変更が表示されるまでに数時間かかる場合があります。
AWS CLI 経由で非表示にする方法
今回、例として「IAM SAML 2.0 ID プロバイダー」項目のチェックを非表示にしてみましたので、AWS CLI を用いた手順を記載します。
手順1. 対象の項目のチェック IDを調査
チェック項目の ID は 各チェック項目の AWS ドキュメント[1] に記載があります。
「IAM SAML 2.0 ID プロバイダー」項目のチェック ID は「c2vlfg0p86」でした。
手順2. 対象項目の ARN 情報を取得[2]
以下のコマンド例でチェック項目の ARN を取得します。
$ aws trustedadvisor list-recommendations --region us-east-1 --query 'recommendationSummaries[?checkArn==`arn:aws:trustedadvisor:::check/c2vlfg0p86`]'
手順3. 項目の対象リソースの ARN 情報を取得[3]
以下のコマンド例で対象リソースの ARN を取得します。
$ aws trustedadvisor list-recommendation-resources --recommendation-identifier <手順2 で取得した ARN> --region us-east-1 --query 'recommendationResourceSummaries[].[arn,exclusionStatus,regionCode,status]' --output table
手順4. 非表示操作を実行[4]
以下のコマンド例で非表示操作を実行します。
$ aws trustedadvisor batch-update-recommendation-resource-exclusion --recommendation-resource-exclusions arn=<手順3 で取得した対象リソースの ARN>,isExcluded=true --region us-east-1
マネジメントコンソールで非表示した結果を確認
前項の CLI コマンドを実行後に Trusted Advisor のチェック項目の確認画面を更新すると、非表示設定したチェック項目が一覧に表示されなくなります。
非表示前のチェック項目
まだ、「IAM SAML 2.0 ID プロバイダー」のチェック項目が表示されています。
非表示後のチェック項目
「IAM SAML 2.0 ID プロバイダー」のチェック項目が表示されなくなりました。
AWS CLI を使っても非表示にできないチェック項目もある
弊社ブログ[5]でも紹介しておりますが、残念ながら現時点では一部のチェック項目ではそもそも非表示にできないものもあります。
現時点では、これらのチェックからリソースを除外することはできません。
参考
[1] IAM SAML 2.0 ID プロバイダー
チェック ID
c2vlfg0p86
[2] list-recommendations
[3] list-recommendation-resources
[4] batch-update-recommendation-resource-exclusion
[5] Trusted Advisor でリソースを非表示にする方法を教えてください | DevelopersIO
以上。