IAM Access Analyzer の検出結果の仕組みを理解する - AWS Identity and Access Management

IAM Access Analyzer の検出結果の仕組みを理解する

このトピックでは、AWS リソースへのアクセスを IAM Access Analyzer でモニタリングする方法の理解に役立つ IAM Access Analyzer の概念と用語について説明します。

外部アクセスの検出結果

外部アクセスの検出結果は、信頼ゾーンの外部で共有されているリソースのインスタンスごとに 1 回だけ生成されます。リソースベースのポリシーが変更されるたびに、IAM Access Analyzer はポリシーを分析します。更新されたポリシーが共有しているリソースが、結果内で識別済みであっても、アクセス許可や条件が異なっている場合は、そのリソース共有のインスタンスに対して新しい結果が生成されます。最初の結果でアクセスが削除されると、その結果のステータスは [解決済み] に更新されます。

すべての検出結果のステータスは、結果をアーカイブするか、結果を生成したアクセスを削除するまでは、[アクティブ] のままです。アクセスを削除すると、結果のステータスは [解決済み] に更新されます。

注記

ポリシーが変更されてから IAM Access Analyzer がリソースを分析して外部アクセスの結果を更新するまで、最大で 30 分かかる場合があります。

IAM Access Analyzer が外部アクセスの検出結果を生成する方法

AWS Identity and Access Management Access Analyzer は Zelkova と呼ばれるテクノロジーを使用して IAM ポリシーを分析し、 リソースへの外部アクセスを識別します。

Zelkova は、IAM ポリシーを同等の論理ステートメントに変換し、汎用および特殊な論理ソルバー (充足可能性モジュロ理論) のスイートを使用して実行します。IAM Access Analyzerは、ポリシーの内容に基づいて、許可されるアクセスのタイプをより具体的に特徴づけるために、Zelkova を繰り返し適用し、クエリを徐々に詳細化していきます。充足可能性モジュロ理論の詳細については、「Satisfiability Modulo Theories」を参照してください。

外部アクセス アナライザーの場合、IAM Access Analyzer はアクセスログを調べて、外部エンティティが信頼ゾーン内のリソースに実際にアクセスしたかどうかを判断しません。代わりに、リソースベースのポリシーがリソースへのアクセスを許可している場合、Access Analyzer は外部のエンティティがそのリソースにアクセスしたかどうかにかかわらず検出結果を生成します。

さらに、IAM Access Analyzer は、決定を行う際に外部アカウントの状態を考慮しません。アカウント 111122223333 が Amazon S3 バケットにアクセスできることを示していても、そのアカウントのユーザー、ロール、サービスコントロールポリシー (SCP)、またはその他の関連する設定に関する情報はありません。これは、顧客のプライバシーのためです (IAM Access Analyzer は誰が他のアカウントを所有しているかについて関知しません)。これはセキュリティ上の理由からでもあります。アクティブなプリンシパルが存在していなくても、潜在的な外部アクセスについて知っておくことは重要です。

IAM Access Analyzer は、外部ユーザーが直接影響できない、または認可に影響を与える特定の IAM 条件キーのみを考慮します。IAM Access Analyzer が考慮する条件キーの例については、「IAM Access Analyzer フィルターキーにアクセスする」を参照してください。

現在、IAM Access Analyzer は AWS のサービス プリンシパルまたは内部サービスアカウントからの検出結果を報告しません。まれに、ポリシーステートメントが外部エンティティにアクセスを許可するかどうかを Access Analyzer で十分に判断できない場合は、誤検知結果を宣言してしまうことがあります。これは、IAM Access Analyzer がアカウント内のリソース共有の包括的なビューを提供し、誤検知を最小限に抑えるように設計されているためです。

未使用のアクセスに関する検出結果

アナライザーの作成時に指定された日数に基づいて、選択したアカウントまたは組織内の IAM エンティティについて、未使用のアクセスに関する検出結果が生成されます。以下のいずれかの条件が満たされている場合、次にアナライザーがエンティティをスキャンしたときに、新しい結果が生成されます。

  • 指定された日数の間、ロールが非アクティブである。

  • 未使用のアクセス許可、未使用のユーザーパスワード、または未使用のユーザーアクセスキーが、指定された日数を超えている。

注記

未使用のアクセスの検出結果は、ListFindingsV2 API アクションを使用してのみ利用可能です。

IAM Access Analyzer が未使用のアクセスに関する検出結果を生成する方法

未使用アクセスを分析するには、リソースの外部アクセスの検出結果を生成するアナライザーを既に作成している場合でも、ロールに関する未使用のアクセスの結果用のアナライザーを作成する必要があります。

未使用のアクセス アナライザーを作成すると、IAM Access Analyzer はアクセスアクティビティを確認して、使用されていないアクセス権限を特定します。IAM Access Analyzer は AWS 組織およびアカウント内のすべてのロール、ユーザーアクセスキー、ユーザーパスワードについて、最終アクセス時間情報を検査します。これにより、未使用のアクセスを識別できます。

アクティブな IAM ロールとユーザーについては、IAM Access Analyzer は IAM サービスとアクションの最終アクセス時間情報を使用して、未使用のアクセス許可を特定します。これにより、AWS 組織レベルやアカウントレベルでレビュープロセスを拡張できます。また、アクションの最終アクセス情報を使用して、個々のロールをより詳細に調査することもできます。これにより、どの特定のアクセス許可が使用されていないかをより詳細に把握できます。

未使用のアクセス専用のアナライザーを作成することで、AWS 環境全体で未使用のアクセスを包括的に確認および識別し、既存の外部アクセスアナライザーによって生成された検出結果を補完できます。