IAM の最終アクセス情報を表示する - AWS Identity and Access Management

IAM の最終アクセス情報を表示する

AWS Management Console、AWS CLI、または AWS API を使用して、IAM の最終アクセス情報を表示できます。最終アクセス情報が表示されるサービスとそのアクションのリストを参照してください。最終アクセス情報の詳細については、「最終アクセス情報を使用して AWS のアクセス許可を調整する」を参照してください。

IAM では、次の各タイプのリソースに関する情報を表示できます。いずれの場合も、情報には、指定された報告期間に許可されたサービスが含まれます。

  • ユーザー – ユーザーが許可された各サービスへのアクセスを最後に試みた時間を表示します。

  • ユーザーグループ – グループメンバーが許可された各サービスへのアクセスを最後に試みた時間に関する情報を表示します。また、このレポートには、アクセスを試みたメンバーの合計数も表示されます。

  • ロール – 許可された各サービスへのアクセスにおいて、ユーザーが最後にロールを使用した時間を表示します。

  • ポリシー – ユーザーまたはロールが許可された各サービスへのアクセスを最後に試みた時間に関する情報を表示します。また、このレポートには、アクセスを試みたエンティティの合計数も表示されます。

注記

IAM のリソースに関するアクセス情報を表示する前に、情報のレポート期間、レポート対象のエンティティ、評価対象のポリシータイプをご確認ください。詳細については、「最終アクセス情報についての主要事項」を参照してください。

IAM の情報の表示 (コンソール)

IAM コンソールの [アクセスアドバイザー] タブで、IAM の最終アクセス情報を表示できます。

IAM の情報を表示するには (コンソール)
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで、[ユーザーグループ]、[ユーザー]、[ロール]、または [ポリシー] を選択します。

  3. 任意のユーザー、ユーザーグループ、ロール、またはポリシーの名前をクリックして、その[概要] ページを開き、[アクセスアドバイザー] タブを選択します。選択したリソースに基づき、次の情報を表示します。

    • ユーザーグループ – ユーザーグループメンバー (ユーザー) がアクセスできるサービスのリストを表示します。また、メンバーが最後にサービスにアクセスした日時、使用したユーザーグループポリシー、リクエストを行ったユーザーグループメンバーも表示できます。ポリシーの名前を選択して、ポリシーが管理ポリシーかインラインユーザーグループポリシーかを確認します。ユーザーグループメンバーの名前を選択して、ユーザーグループのすべてのメンバーと、サービスへの最終アクセス時間を選択します。

    • ユーザー – ユーザーがアクセスできるサービスのリストを表示します。また、最後にサービスにアクセスした日時と現在ユーザーに関連付けられているポリシーも表示できます。ポリシーの名前を選択して、そのポリシーが管理ポリシー、インラインユーザーポリシー、ユーザーグループのインラインポリシーのいずれであるかを確認します。

    • ロール – ロールでアクセスできるサービス、サービスへのロールの最終アクセス時間、および使用したポリシーのリストを表示します。ポリシーの名前を選択して、ポリシーが管理ポリシーかインラインロールポリシーかを確認します。

    • ポリシー – ポリシーで許可されたアクションを含むサービスのリストを表示します。また、サービスにアクセスするために最後にポリシーが使用された日時と、ポリシーを使用したエンティティ (ユーザーまたはロール) も表示できます。最終アクセス日には、別のポリシーを通じてこのポリシーへのアクセスが許可された日付も含まれます。エンティティの名前を選択して、このポリシーがアタッチされているエンティティや、サービスへの最終アクセス時間を確認します。

  4. テーブルの [サービス] 列で、アクションの最終アクセス情報を含むサービスの名前のいずれかを選択し、IAM エンティティがアクセスしようとした管理アクションのリストを表示します。AWS リージョン と、ユーザーが最後にアクションを実行しようとした日時を示すタイムスタンプを表示できます。

  5. [最終アクセス日] の列は、アクションの最終アクセス情報を含むサービスとサービスの管理アクションに表示されます。この列で返される可能性のある次の結果を確認します。これらの結果は、サービスやアクションが許可されているかどうか、アクセスされたかどうか、および最終アクセス情報が AWS によって追跡されているかどうかによって異なります。

    <数値> 日前

    追跡期間中にサービスまたはアクションが使用されてから経過した日数。サービスの追跡期間は、過去 400 日間です。Amazon S3 アクションの追跡期間は、2020 年 4 月 12 日に開始しました。Amazon EC2 IAM および Lambda アクションの追跡期間は、2021 年 4 月 7 日に開始しました。その他すべてのサービスの追跡期間は 2023 年 5 月 23 日に開始されました。各 AWS リージョン の追跡開始日の詳細については、「AWS が最終アクセス情報を追跡する場所」を参照してください。

    追跡期間内にアクセスがない

    追跡対象のサービスまたはアクションが、追跡期間中にエンティティによって使用されていません。

    リストに表示されないアクションに対するアクセス許可を持っている可能性があります。これは、アクションの追跡情報が現在 AWS に含められていない場合に発生することがあります。追跡情報がないことだけに基づいてアクセス許可を決定しないでください。代わりに、この情報を使用して、最小限の権限を付与するという全体的な戦略を通知し、サポートすることをお勧めします。ポリシーをチェックして、アクセスレベルが適切であることを確認します。

IAM の情報の表示(AWS CLI)

AWS CLI を使用して、IAMリソースが AWS サービスおよび Amazon S3、Amazon EC2、IAM、Lambda アクションへのアクセスを試行するために最後に使用された時刻に関する情報を取得できます。IAM リソースには、ユーザー、ユーザーグループ、ロール、またはポリシーを選択できます。

IAM の情報を表示するには (AWS CLI API)
  1. レポートを生成します。レポートで必要な IAM がリクエストに含まれている必要があります。 リソース (ユーザー、ユーザーグループ、ロール、またはポリシー) の ARN がリクエストに含まれている必要があります。レポートで生成する粒度レベルを指定して、いずれかのサービス、またはサービスとアクションの両方のアクセスの詳細を表示できます。リクエストにより job-id が返されます。これを使用して、get-service-last-accessed-details および get-service-last-accessed-details-with-entities オペレーションを使用して、ジョブが完了するまで、job-status をモニタリングできます。

  2. 前のステップの job-id パラメータを使用して、レポートに関する詳細を取得します。

    このオペレーションでは、generate-service-last-accessed-details オペレーションでリクエストしたリソースのタイプと粒度レベルに基づき、次の情報が返されます。

    • ユーザー – 指定したユーザーがアクセスできるサービスのリストを返します。サービスごとに、オペレーションは、ユーザーが最後に試行した日時とユーザーの ARN を返します。

    • ユーザーグループ — 指定したユーザーグループのメンバーがアクセスできるサービスのリストを返します。このユーザーグループにアタッチされたポリシーを使用して、サービスのリストを返します。サービスごとに、オペレーションは、ユーザーグループメンバーが最後に試行した日時を返します。また、そのユーザーの ARN と、サービスにアクセスしようとしたユーザーグループメンバーの合計数も返ります。GetServiceLastAccessedDetailsWithEntities オペレーションを使用して、すべてのメンバーのリストを取得します。

    • ロール – 指定したロールがアクセスできるサービスのリストを返します。サービスごとに、オペレーションは、ロールが最後に試行した日時とロールの ARN を返します。

    • ポリシー – 指定されたポリシーがアクセスを許可するサービスのリストを返します。各サービスについて、オペレーションは、エンティティ (ユーザーまたはロール) が最後にポリシーを使用してサービスにアクセスしようとした日時を返します。また、そのエンティティの ARN とアクセスを試みたエンティティの合計数も返ります。

  3. 特定のサービスにアクセスするためにユーザーグループまたはポリシーのアクセス許可を使用したエンティティについて説明します。このオペレーションは、各エンティティの ARN、ID、名前、パス、タイプ (ユーザーまたはロール)、および最後にサービスにアクセスしようとしたエンティティのリストを返します。このオペレーションは、ユーザーとロールに対しても使用できますが、そのエンティティに関する情報のみが返ります。

  4. 特定のサービスにアクセスする際にアイデンティティ (ユーザー、ユーザーグループ、またはロール) が使用したアイデンティティベースのポリシーについて説明します。アイデンティティとサービスを指定すると、このオペレーションは、アイデンティティが指定されたサービスにアクセスするために使用できるアクセス許可ポリシーのリストを返します。このオペレーションは、ポリシーの現在の状態を示し、生成されたレポートには依存しません。また、他のポリシータイプ (例: リソースベースのポリシー、アクセスコントロールリスト、AWS Organizations ポリシー、IAM アクセス許可の境界、セッションポリシー) は返されません。詳細については、「ポリシータイプ」または「単一アカウント内のポリシーを評価する」を参照してください。

IAM の情報の表示 (AWS API)

AWS APIを使用して、IAMリソースが AWS サービスおよび Amazon S3、Amazon EC2、IAM、Lambda アクションへのアクセスを試行するために最後に使用された時刻に関する情報を取得できます。IAM リソースには、ユーザー、ユーザーグループ、ロール、またはポリシーを選択できます。レポートで生成する粒度レベルを指定して、いずれかのサービス、またはサービスとアクションの両方の詳細を表示できます。

IAM の情報を表示するには (AWS API)
  1. レポートを生成します。レポートで必要な IAM リソース (ユーザー、グループ、ロール、またはポリシー) の ARN がリクエストに含まれている必要があります。JobId が返ります。これを使用して、GetServiceLastAccessedDetails および GetServiceLastAccessedDetailsWithEntities オペレーションを使用して、ジョブが完了するまで、JobStatus をモニタリングできます。

  2. 前のステップの JobId パラメータを使用して、レポートに関する詳細を取得します。

    このオペレーションでは、GenerateServiceLastAccessedDetails オペレーションでリクエストしたリソースのタイプと粒度レベルに基づき、次の情報が返されます。

    • ユーザー – 指定したユーザーがアクセスできるサービスのリストを返します。サービスごとに、オペレーションは、ユーザーが最後に試行した日時とユーザーの ARN を返します。

    • ユーザーグループ — 指定したユーザーグループのメンバーがアクセスできるサービスのリストを返します。このユーザーグループにアタッチされたポリシーを使用して、サービスのリストを返します。サービスごとに、オペレーションは、ユーザーグループメンバーが最後に試行した日時を返します。また、そのユーザーの ARN と、サービスにアクセスしようとしたユーザーグループメンバーの合計数も返ります。GetServiceLastAccessedDetailsWithEntities オペレーションを使用して、すべてのメンバーのリストを取得します。

    • ロール – 指定したロールがアクセスできるサービスのリストを返します。サービスごとに、オペレーションは、ロールが最後に試行した日時とロールの ARN を返します。

    • ポリシー – 指定されたポリシーがアクセスを許可するサービスのリストを返します。各サービスについて、オペレーションは、エンティティ (ユーザーまたはロール) が最後にポリシーを使用してサービスにアクセスしようとした日時を返します。また、そのエンティティの ARN とアクセスを試みたエンティティの合計数も返ります。

  3. 特定のサービスにアクセスするためにユーザーグループまたはポリシーのアクセス許可を使用したエンティティについて説明します。このオペレーションは、各エンティティの ARN、ID、名前、パス、タイプ (ユーザーまたはロール)、および最後にサービスにアクセスしようとしたエンティティのリストを返します。このオペレーションは、ユーザーとロールに対しても使用できますが、そのエンティティに関する情報のみが返ります。

  4. 特定のサービスにアクセスする際にアイデンティティ (ユーザー、ユーザーグループ、またはロール) が使用したアイデンティティベースのポリシーについて説明します。アイデンティティとサービスを指定すると、このオペレーションは、アイデンティティが指定されたサービスにアクセスするために使用できるアクセス許可ポリシーのリストを返します。このオペレーションは、ポリシーの現在の状態を示し、生成されたレポートには依存しません。また、他のポリシータイプ (例: リソースベースのポリシー、アクセスコントロールリスト、AWS Organizations ポリシー、IAM アクセス許可の境界、セッションポリシー) は返されません。詳細については、「ポリシータイプ」または「単一アカウント内のポリシーを評価する」を参照してください。