[アップデート] IAM Access Analyzer の未使用のアクセス分析でアカウント/タグを除外指定して検出範囲をカスタマイズ出来るようになりました
いわさです。
IAM Access Analyzer を使うと IAM リソースの様々な分析を行うことが出来ます。
機能のひとつに未使用の IAM ユーザーやロール、権限を検出する機能があります。
未使用の IAM リソースの存在に気がつくことが出来て良いのですが、こちらは追加料金の発生する有償オプションとなっており、有効化にあたっては少し注意が必要です。
リソースあたり 0.20 USD/月 が発生します。例えば、AWS Organizations 導入環境など大量の IAM リソースが存在する環境に対して有効化した場合、次のように地味に無視出来ない料金になってきたりします。
必要な範囲だけ検出対象に出来るように
コストをどうにかする場合、従来は一部のメンバーアカウントでのみ個別有効化するなどくらいしか出来なかったのですが、先日のアップデートで分析範囲をカスタマイズ出来るようになりました。具体的には AWS アカウント、あるいはタグを指定することで「検出対象から除外する条件」を追加で指定出来るようになりました。
こちらを設定して実際に検出結果を確認してみましたので紹介します。
アナライザーの作成あるいは管理設定から
今回の除外条件の設定はアナライザーの新規作成時にも設定出来ますし、あるいは既存アナライザーに対しての変更もいつでも可能です。
アナライザーには無料の外部アクセス分析と、有料の未使用のアクセス分析がありますが、前者の外部アクセス分析については今回のアップデートの範囲外となってます。
今回のアップデートで次の 2 つの設定エリアが追加されています。
「分析から AWS アカウントを除外」と「タグを持つIAM ユーザーとロールを除外」です。
なお、組織対象のアナライザーの場合はアカウントとタグの除外が指定出来ますが、対象アカウント用のアナライザーの場合でもタグ除外機能は使うことが出来ます。これは良いですね。
組織からアカウントを除外
従来は組織を対象にして有効化した場合は管理アカウントを含む全 AWS アカウントが対象となっていました。
今回のアップデートで除外する AWS アカウントを個別に指定出来るようになっています。
指定方法は 2 つあり、ひとつは個別に AWS アカウント ID を入力する方法です。
もうひとつはアカウントを除外選択する方法です。
どちらの場合でも今後組織に追加された新しいアカウントは除外対象となっていないので、必要に応じて追加の除外設定をしましょう。
タグを持つ IAM ユーザーとロールを除外
従来は対象 AWS アカウント内の全ての IAM ユーザーとロールが検出対象としてカウントされていたのですが、特定のタグキー(オプションで値も指定可能)を持つエンティティを除外出来るようになります。
イメージどおりですが、対象のタグキーと値を複数指定する形です。
普段からタグ運用を意識する必要はありますが、例えばスイッチロール用のアカウントだけを検出対象にしたいとか色々なユースケースに対応出来そうです。
既存アナライザーの設定内容を確認
アナライザーに対する除外設定はアナライザー管理から確認出来ます。
本日時点だと「Exclusion」というタブの中で AWS アカウント、タグの条件を確認出来ます。
検出結果の確認
今回 Organizations 導入環境化で、AWS アカウントを除外指定してアナライザーを作成してみました。
メンバーアカウントのうち除外指定されたものは次のように検出されなくなっています。
除外指定されていないアカウントは通常どおり検出されました。良さげ。
さいごに
本日は IAM Access Analyzer の未使用のアクセス分析でアカウント/タグを除外指定して検出範囲をカスタマイズ出来るようになったので試してみました。
用途的に分析スコープを絞ることが出来る場合は、IAM Access Analyzer のコスト最適化が出来るのでぜひ試してみてください。