
IAM Access Analyzerは全部無料ではない、未使用権限は課金対象

IAM Access Analyzerの機能説明では、外部アクセス分析は信頼ゾーンの外に共有されたリソースを、未使用アクセス分析は使われていないIAMロール、認証情報、権限を調べるものとして区別している。前者はリソースの共有設定、後者はIAMエンティティの利用状況が対象になるため、一方の検出結果だけではもう一方の確認は済まない。
AWSの料金案内では、外部アクセスアナライザーは追加料金なし、未使用アクセスアナライザーは分析したIAMロールとIAMユーザーの数に応じてアナライザーごとに課金される。米国東部(バージニア北部)の料金例は、ユーザー10人とロール60個の計70件を月0.20ドルずつ分析し、月14ドルとしている。日本で費用を見積もる際も、検出結果の件数ではなく、分析する対象とアナライザーの数から考える必要がある。
検出対象・料金・リージョン・追跡期間を比べる
設定の違いを一度に把握するには、両方のアナライザーを同じ項目で並べると分かりやすい。外部共有の有無を知りたいのか、使われていない許可を減らしたいのかによって、必要な設定と費用が変わる。
- 検出対象:外部アクセスは、Amazon S3バケットやIAMロールなど、対応するリソースのポリシーが信頼ゾーン外へのアクセスを許す状態を調べる。未使用アクセスは、使われていないロール、IAMユーザーのアクセスキーやパスワード、ロールに付与された未使用のサービス・アクション権限を調べる。
- 料金:外部アクセスの検出には追加料金がかからない。未使用アクセス分析の課金単位は、アナライザーごとに分析されたIAMロールとユーザーであり、見つかった未使用権限の数ではない。
- リージョン:外部アクセスは、監視する対応リソースがあるリージョンごとにアナライザーを作る。未使用アクセスの検出結果はリージョンによって変わらないため、同じ対象を調べる目的で各リージョンに作る必要はない。
- 追跡期間:未使用アクセスでは、指定した期間内の利用状況を基に検出する。外部アクセスではリソースの共有設定を評価するため、未使用権限を判定する追跡期間は設定しない。
外部アクセスの検出結果は、ポリシー上、信頼ゾーンの外側へアクセスを許す経路を示す。外部の相手が実際にアクセスした回数や、その共有が業務上不要かどうかを判定するものではない。未使用アクセスの結果も、権限の利用状況を示すものであり、リソースが組織外に共有されているかを直接示すものではない。
外部共有の確認は信頼ゾーンとリージョンから始める

外部アクセスアナライザーを作る前に、信頼ゾーンを現在のAWSアカウントと組織のどちらにするか決める。アカウントを選べばその外側への共有が対象になる。組織を選んだ場合、同じ組織に属する別アカウントへの共有は信頼ゾーン内として扱われる。確認したい「外部」がアカウント外なのか、組織外なのかによって、同じ共有設定でも検出結果は変わる。
次に、対応リソースが置かれているリージョンを洗い出す。外部アクセスアナライザーが調べるのは、有効にしたリージョン内のリソースに適用されたポリシーだ。Amazon S3バケットなどを別のリージョンでも使っているなら、そのリージョンでも作成する。信頼ゾーンを組織に設定しても、リージョンをまたぐ監視が一つのアナライザーにまとまるわけではない。
作成時には、IAMコンソールの「アクセスアナライザー」から「アナライザー設定」を開き、リソース分析の「外部アクセス」を選ぶ。表示されたリージョンと信頼ゾーンを確認して有効にすれば、公開アクセスや信頼ゾーン外のアカウントへの共有を確認できる。検出結果には対象リソース、外部のアクセス主体、許可された操作が示されるため、意図した共有と修正が必要な共有を分けて判断する。
意図した連携による検出結果まで、直ちに公開事故とみなす必要はない。一方、意図しない共有があれば、対象のリソースポリシーなどを見直す。ここで扱うのはリソース側の公開範囲であり、ロールに残った未使用権限は別の分析対象となる。
未使用アクセスは分析するIAMエンティティの数で見積もる
未使用アクセスを有効にする前に、対象アカウントのIAMロールとIAMユーザーを数える。組織全体を選ぶなら、メンバーアカウントにある対象も含めて考える。ポリシーに書かれた許可の数や、後から表示される検出結果の件数を料金の基礎にすると、見積もりがずれる。
IAMロールとユーザーはリージョンごとに別々の対象として管理されるわけではない。そのため、同じ範囲を分析する未使用アクセスアナライザーを複数のリージョンに作っても、棚卸しの対象は広がらず、アナライザーごとの課金が増える。アカウント単位で始めるか、組織の対象をまとめて分析するかを先に決めておくと、重複した設定を避けやすい。
対象を絞る必要がある場合は、組織向けの設定でアカウントを除外できる。指定したタグを持つIAMロールやユーザーを分析から外す設定もある。ただし、除外した対象には未使用アクセスの検出結果が生成されない。費用を抑えるために除外する場合も、棚卸ししたい権限まで外していないかを、対象範囲と一緒に判断する必要がある。
料金例の単価は米国東部(バージニア北部)で示されたものだ。導入範囲を決めるうえでは、利用する環境に適用される料金と、分析対象になるロール・ユーザーの数を対応させる。サービスにより作られるサービスリンクロールは未使用アクセス分析の対象数に含まれないため、すべてのロールを機械的に合計した数とは差が出る場合がある。
追跡期間を決め、未使用権限の削減につなげる

未使用のアクセスアナライザーの作成手順では、追跡期間に1~365日を設定でき、90日を選んだ例では少なくとも90日前から存在する許可を評価すると説明している。期間中に使われなかった許可が検出されるため、作成されたばかりの権限が直ちに長期間未使用と判定されるわけではない。
短い追跡期間なら、最近使われていない許可を早く候補にできる。その一方、低頻度で使う権限も未使用として現れやすい。長い期間はそうした利用を観察しやすいが、期間全体を通じて存在していない許可は評価されない。期間は、定期作業や例外対応で権限を使う間隔に照らして選ぶ。
IAMコンソールでは「アクセスアナライザー」の「アナライザー設定」から作成画面を開き、プリンシパル分析の「未使用のアクセス」を選ぶ。追跡期間を入力し、現在のアカウントまたは現在の組織を分析対象に指定する。必要な除外設定と表示されたリージョンを確認して作成する。作成や更新の直後は、検出結果が表示されるまで時間がかかる場合がある。
結果を扱うときは、使われていないロール、IAMユーザーのアクセスキーやパスワード、利用中のロールに残る未使用の許可を分ける。ロール自体を廃止する判断と、ロールを残して一部の許可を削る判断では、影響する範囲が違う。検出されたという事実だけで削除を決めず、対象の役割と予定された利用を確認する。
導入順としては、まず必要なリージョンで外部アクセス検出を有効にし、信頼ゾーン外への共有を整理する。その後、IAMロールとユーザーの分析範囲、費用、追跡期間を決めて未使用アクセス分析を作成する。外部共有を直す作業と権限を減らす作業は対象が異なるため、それぞれの検出結果が示す設定に手を入れる。
関連記事:
関連記事
ニュースレターを購読
Web3、AI、暗号資産の最新ニュースを受信箱にお届けします。




