はじめに
2025年6月17日に、AWSのIAM Access Analyzerの分析機能の中に、組織内のリソースに対してどのようなアクセスが行われたかを検出することを目的とした内部アクセス分析新機能が追加されました。
この内部アクセス分析機能を用いることで、例えばIAMのポリシーや、SCP(サービスコントロールポリシー)、RCP(リソースコントロールポリシー)等でかけたアクセス制限が正しくかかっているか等といった、ポリシー定義の評価もできそうです。
今回、この新機能を試してみましたので、機能の所感や気づきを纏めてみました。
内部アクセス分析機能のセットアップ
まずはAWSマネジメントコンソールに入り、IAMのダッシュボードを開きます。今回、左側の「アクセスレポート」セクションの「Access Analyzer」の下に「リソース分析 新規」という項目(赤枠参照)が追加されています。
この「リソース分析 新規」をクリックすると、下記の画面に遷移します。
ここで赤枠部分の「内部アナライザーを作成」をクリックし、アナライザーの作成画面に遷移します。
新たに「Resource Analysis - Internal access」という項目が追加になっているので、今回はこれを選択します。アナライザーの名前は任意のネーミングを付与します。
信頼ゾーンでは、「組織全体」もしくは「ログオン中のアカウント」のいずれかを選択することが可能です。私はAWS Organizationsを使用しており、AWSアカウントも3個保有してますので、今回は「組織全体」を選択しました。そして、分析対象のリソースを選定するために「リソースを追加する」プルダウンメニューから「Add resources from selected accounts」を選択します。
AWS Resource Explorerサービスを使用している場合には、使用しているリソース一覧をCSVファイルにエクスポートすることができますので、「Add resources by uploading a CSV」を選択し、エクスポートしたCSVファイルをアップロードする方法をとることも可能です。
IAM Access Analyzerで内部アクセス分析が行える対象リソースは、下記6種類のリソースとなっています。
- Amazon S3 buckets
- Amazon S3 directory buckets
- Amazon RDS DB snapshots
- Amazon RDS DB cluster snapshots
- Amazon DynamoDB streams
- Amazon DynamoDB tables
これら全てを分析することも可能ですし、この中からいくつかをピックアップして分析することも可能です。今回は「All supported resouce types」を選択し、全てを分析することにしました。また、どのアカウントのリソースに対する内部分析を行うかを指定することができます。アカウントID番号を個別に入力する方法も可能ですが、「Select from organization」を選択して、組織構造を表示し、対象のアカウントに対するチェックボックスをオンにする方法をお奨めします。その後、右下の「Add resources」ボタンを押下します。すると、下記の図にみられるように、分析対象のリソースタイプの一覧が表示されます。
※私はAWS Organizationsに登録しているアカウントが3個ありますので、アカウント数 x リソースタイプ数 = 3 x 6 = 18個になります。
今回追加された内部アクセス分析は、図の赤枠にも見られるように、1か月あたりにモニタリングされるリソース数に応じて課金が発生します。東京リージョンの場合は、1か月あたり、(9$ x リソース数)分の課金が発生します。分析対象のリソース数が多かったり、組織全体での内部アクセス分析を行うような場合には、それなりの料金が発生し得る可能性がありますので、例えば1年に2回(上半期に1回、下半期に1回)、もしくは、四半期に1回程度の利用に留めたほうが良いかなと思いました。
さいごに右下の「アナライザーを作成」ボタンを押下し、内部アクセス分析アナライザーを作成します。その後、下記画面の赤枠部分にみられるように、作成がエラーにならなければOKです。
その後、画面左側のメニューにある「アナライザーの設定」をクリックし、設定画面に遷移した後、下記画面の赤枠にみられるように、アナライザイーのステータスが「アクティブ」になっていれば、内部分析アクセスアナライザーの作成は完了しています。(ステータスが「作成中」の場合は、何度か画面をリフレッシュ(右回り矢印ボタンを押下)してみて、「アクティブ」に変更される迄お待ちください。)
アナライザー作成完了後、画面左側のメニューにある「Resource analysis 新規」をクリックして、リソース分析画面に遷移します。
分析結果の確認
分析されたリソース数の確認
分析が完了すると、下記のような結果が出力されます。
画面赤枠部分にみられるように、実際に分析された対象リソース数は計11個(3アカウント分の総計)となります。この場合、1か月あたり、(9$ × 11リソース)分の課金が発生することになります。
※私の場合は、登録しているAWSクレジットの料金が結構あるので、実質無料で良かったです。
分析されたリソースへのアクセス数の確認
IAMの画面左側のメニューから「アクセスアナライザー」をクリックすると、下記のようなグラフィカルな画面が表示されます。
アクセス数としては、画面赤枠部分にみられるように、計194回のアクセスがあったようです。このアクセス数(194)をクリックすると、次のような画面に遷移します。
アクセスレベルの確認
上記、検出結果の表に表示されている検出結果ID列のリンクをクリックすると、詳細確認画面が表示されます。(下記はサンプル)
画面の右側にはアクセスレベルが表示されます。この例では、RDS DBスナップショットに対する現在のアクセス権が表示されています。今回は特にSCPやRCPでの制限はかけていないので、アクセスレベルは容認扱いとしていますが、もしSCPやRCPでアクセス制限をかけているにも関わらず、期待されたアクセスレベルとなっていないことが確認された場合には、SCPやRCPのポリシー定義を今一度ご確認いただき、ポリシー定義を修正→再分析を実施し、アクセスレベルの設定が想定通りになることをご確認ください。
機能を使用してみての気づき
今回、内部アクセス分析機能を使用してみて気づいたのが、削除し忘れていたリソースがあることに気づかせてくれた良い機能だと感じました。(本来想定された使い方ではないですが。)
本年2月~3月にかけて、VPCのリソースエンドポイント、サービスネットワークエンドポイントの機能検証をみっちり実施していた際に、RDSを何度も使用していました。検証終了後は、RDSリソースは削除していたのに、今回の内部アクセス分析機能を試してみたところ、RDSのスナップショットが分析対象リソースの中に表示されました。その為、「消したはずなのに、なぜ一覧に出ている?これは、過去の履歴からもモニタリングしてくれたのだろうか?」と思いましたが、RDSのダッシュボードに遷移して確認したところ、なんとスナップショットが残っていることがわかりました。その場でスナップショットは削除しましたが、今回の新機能を試してみなければ気づけなかったかもしれません。
さいごに
今回は、2025年6月17日に発表されたIAM Access Analyzerの内部アクセス分析機能を試してみて、機能の所感や気づきをご紹介しました。他のIAM Access Analyzerと違って、課金額がそれなりにかかるのが多少デメリットかなという気もしましたが、昨今のサイバーセキュリティー等のセキュリティー事故のニュースを聞くと、内部アクセスとはいえ、組織のリソースへのアクセスが正しく行われているか否かの評価は、より重要になってくると思います。セキュリティーの監査も次第に厳しいものになっていくことが予想されますので、この内部アクセス分析機能を上手く活用して、アクセス権限設定の妥当性評価・設定の見直しに繋げていければなと思っています。