[アップデート]IAM Access Analyzerで新たなタイプのアナライザーであるInternal Accessが追加されました

[アップデート]IAM Access Analyzerで新たなタイプのアナライザーであるInternal Accessが追加されました

Clock Icon2025.06.18

お疲れさまです。とーちです。

IAM Access Analyzerで新たな機能が追加されたというアップデートがありました。直近、仕事でこのサービスを触っていたので個人的にはhotなアップデートです。

https://aws.amazon.com/jp/about-aws/whats-new/2025/06/iam-access-analyzer-aws-organization-access-resources/

さっそくどんな機能なのか見ていきたいと思います。

今回のアップデートについて

従来のIAM Access Analyzerでは、「外部アクセス」と「未使用アクセス」の2つのアナライザータイプが提供されていました。外部アクセスでは組織外等からのアクセスを検出し、未使用アクセスでは使われていないIAMロールや権限を特定できました。

今回のアップデートで新たに「Internal Access(内部アクセス)」というアナライザータイプが追加されました。これはどういったものかというと、AWSアカウント上の特定のリソース種別のリソースに対して、そのリソースにアクセスできるIAMプリンシパル(IAMユーザーやIAMロール等)を特定できる機能になっています。

外部アクセスの組織アナライザーではOrganizations組織内のIAMプリンシパルについては検出対象外となっていましたが、Internal Accessはそこを一部補完する形になるかなと思います。

現時点で分析対象となるリソース種別は以下の通りです。

  • Amazon DynamoDB ストリーム
  • Amazon DynamoDB テーブル
  • Amazon RDS DB クラスタースナップショット
  • Amazon RDS DB スナップショット
  • Amazon S3 バケット
  • Amazon S3 Express One Zone ディレクトリバケット

Organizations環境で複数のアカウントを管理している場合、アカウント間での意図しないクロスアカウントアクセスを見つけるのに活躍しそうです。

料金について

2025/6/18時点では、日本の料金ページにはInternal Access Analyzerの料金は記載されていませんが、英語の料金ページには記載があります。画面下にスクロールし、言語からEnglishを選択すると英語の料金ページが表示されます。

料金ページによると 分析対象の1リソースにつき 月額 9 USD かかるとのことで料金が高騰しやすいサービスになっていますので、検証などで使われる際はご注意ください。この後の記載で、実際の検証の中で分析対象リソースを選択する際に「All supported resource types」を選んでしまっていますが、対象リソースはよく選定し 最小限のリソースにのみ使用することをおすすめします。

CleanShot 2025-06-18 at 14.43.27.png

実際に試してみる

それでは早速、Internal Access Analyzerを使ってみましょう。今回は以下の条件で実施していきます。

  • AWS Organizations環境下で実施
  • IAM Access Analyzerはメンバーアカウントに委任済みなので、委任管理アカウントで作業実施

まずは、マネージメントコンソールからIAMの画面を開き、アクセスアナライザーを選択しましょう。既に画面がかなり変わってますね。グラフ等の表示が追加されています。以下の画面で「アナライザーを作成」を押します。

alt text

続いて分析のタイプを選びます。 Resource analysis - Internal access という項目が今回追加された新たなタイプのアナライザーです。

alt text

続いてアナライザーの詳細を設定します。ここでは、任意のアナライザー名と信頼ゾーンを指定します。

alt text

信頼ゾーンの選択

信頼ゾーンは自アカウントのみかOrganizations組織単位で有効化するかを選択します。信頼ゾーンにより以下のように検出結果が異なってきます。

  • Organizations組織単位: Organizations組織内のプリンシパル(IAM ユーザーまたはロール)が選択したリソースにアクセスできる場合に検出結果が生成
  • 自アカウントのみ: 自アカウント内のプリンシパル(IAM ユーザーまたはロール)が選択したリソースにアクセスできる場合に検出結果が生成

今回は「Organizations組織単位」で設定を進めます。

次に分析対象リソースの追加を行います。ここで追加したリソースがInternal accessで調査される対象となります。下記画面のように「リソースを追加する」を押すと3つの選択肢が出てきます。

alt text

それぞれ分析対象リソースをどのように追加するかを表しており、以下のような意味合いになります。

  • Add resources from selected accounts: AWSアカウント単位で分析対象を追加します
  • Add resources by pasting in resource ARN: ARNを指定することで分析対象を追加します。ARNは複数入力可能です。
  • Add resources by uploading a CSV: CSVファイルをアップロードすることで分析対象を追加します。AWS Resource Explorerを使用するとアカウント内のリソースをCSV ファイルにエクスポートできるのですが、それをそのままアップロードできるようです。

今回は「Add resources from selected accounts」でやってみます。こちらを選択すると以下のように分析対象のAWSアカウントを選択する画面となります。OU単位で選択できると嬉しかったのですが、少なくともこの画面からだとアカウント単位での選択になるようですね。なお、管理アカウントも分析対象として選択することができました。

alt text

画面の上部にどの種別のリソースを選択するかを決める項目があります。

alt text

  • 「All supported resource types」を選ぶとInternal accessでサポートされている全てのリソースが分析対象となります。
  • 「Define specific resource types」を選ぶと分析対象のリソース種別を表示された中から選択することができます。今回は「All supported resource types」にしてみました。

アカウント等を選択した後に「Add resources」ボタンを押すと分析対象リソースが以下のように追加されたことが確認できます。

alt text

作成するアナライザーに対してタグなどの設定もできますが今回は上記の設定のみでアナライザーを作成します。

alt text

分析結果の確認

この状態でしばらく待つと分析結果が表示されます。公式ドキュメントによると結果が表示されるまでに数分または数時間かかる場合があるとのことです。また初回スキャン後は、24時間ごとに再スキャンされるとのこと。

今回は10分かかるかかからないかくらいで検出結果が表示されました。検出結果は以下の通り操作すれば確認できます。

alt text
alt text

分析対象アカウントは2アカウントとしたのですが、以下の通りかなり多くの分析結果が出ていますね。

alt text

どうやら個別のリソースごとに対象リソースにアクセスできるプリンシパル全てが一つ一つの検出結果として表示されているようです。そのため強い権限を持つIAMプリンシパルが多いと検出結果も自然と多くなりそうですね。サービスリンクロール等が対象リソースにアクセスできる場合も検出結果に含まれてしまうのでこういったものはアーカイブルールで除外したほうが良さそうです。

alt text

検出結果の詳細確認

試しに検出結果IDをクリックすると以下のような画面がでます。

alt text

大まかに説明すると以下のような構成になっています。

  • Finding ID部分: 画面一番左のFinding IDで始まる部分は、分析対象リソースのリソース名やARN、所有アカウントを表しています
  • Principal部分: その横のPrincipal (IAM ロール)で始まる部分は、対象リソースに対してアクセスできるプリンシパルの情報が表示されています
  • Resource control policy部分: Resource control policy (RCP) restrictionで始まる部分は、RCPやSCP等のポリシーを含めて権限を評価したかどうかを表しています。APIドキュメントを読む限りでは以下の4つのステータスがあるようです。
ステータス 意味
NOT_APPLICABLE ポリシーが存在しない、または適用対象外
APPLICABLE ポリシーは存在するが、評価に含めていない
APPLIED ポリシーを評価に含めて権限を計算済み
FAILED_TO_EVALUATE ポリシー評価中にエラーが発生
  • Access level部分: 画面一番右のAccess levelで始まる列はどのような操作を対象のプリンシパルが行うことができるかを表していますね。操作できるアクションが全て記載されているように見えるのでとても分かりやすいです

アーカイブ機能

また画面上部の「Archive」ボタンを押すと対象の検出結果をアーカイブできるようになっています。

alt text

Archiveすると、その検出結果を「確認済み」としてマークできます。問題のないアクセスだと確認したものをArchiveしておけば、新しい検出結果だけに集中して確認作業ができるようになります。

アーカイブした検出結果は以下のようにステータスで選択することで確認することができます。

alt text

アーカイブルールの設定

またアーカイブルールは以下の内部アナライザーの設定画面から作成することができます。

alt text

以下のように特定の項目の値に基づき自動アーカイブするルールを作成できます。今回はプリンシパルARNがAWSControlTowerExecutionの検出結果をアーカイブするルールを作ってみました。

alt text

すると以下のように既存の検出結果が即座にアーカイブが実行されました。またこのルールが有効である間は新たな検出結果が発生した際も自動でアーカイブされます。

alt text

詳細については、以下のページにある表の一番右の「Supported analyzer types」でどのタイプのアナライザーでサポートされているかが確認できます。

https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-filter-keys.html

まとめ

今回は新たに追加されたIAM Access AnalyzerのInternal Access機能を実際に試してみました。従来の外部アクセス分析では見えなかった組織内のアクセスパターンを可視化できるという点で、厳格なセキュリティルールがある組織などで重宝されるかもしれないですね。

以上、とーちでした。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.