最終アクセス情報を使用して AWS のアクセス許可を調整する - AWS Identity and Access Management

最終アクセス情報を使用して AWS のアクセス許可を調整する

管理者として、IAM リソース (ロール、ユーザー、ユーザーグループまたはポリシー) に必要以上のアクセス許可を付与する可能性があります。IAM は、未使用のアクセス許可を特定して削除できるようにするために、最終アクセス情報を提供します。サービスの最終アクセス情報を使用して、ポリシーを調整し、IAM ID およびポリシーで使用されるサービスとアクションにのみアクセスを許可することができます。これにより、最小権限のベストプラクティスに準拠できるようになります。IAM または AWS Organizations に存在する ID またはポリシーの最終アクセス情報を表示できます。

未使用のアクセスアナライザーを使用して、最終アクセス時間情報を継続的に監視できます。詳しくは、「外部アクセスと未使用のアクセスに関する検出結果」を参照してください。

IAM の最終アクセス情報タイプ

IAM ID の最終アクセス情報には、許可された AWS サービス情報と許可されたアクション情報の 2 つのタイプが表示されます。この情報には、AWS API へのアクセスの試行が行われた日時が含まれます。アクションについては、最終アクセス情報によってサービス管理アクションが報告されます。管理アクションには、作成、削除、および変更アクションが含まれます。IAM の最終アクセス情報の表示方法の詳細については、「IAM の最終アクセス情報を表示する」を参照してください。

IAM ID に付与するアクセス許可に関する意思決定を行うために最終アクセス情報を使用するシナリオ例については、「最終アクセス情報を使用するシナリオ例」を参照してください。

管理アクションの情報の提供方法の詳細については、「最終アクセス情報についての主要事項」を参照してください。

AWS Organizations の最終アクセス情報

管理アカウント認証情報を使用してサインインした場合、組織の IAM エンティティAWS Organizationsまたはポリシーに関してサービスの最終アクセス情報を表示することもできます。AWS Organizations エンティティには、組織のルート、組織単位 (OU)、またはアカウントが含まれています。AWS Organizations の最終アクセス情報には、サービスコントロールポリシー (SCP) によって許可されるサービスに関する情報が含まれます。この情報は、組織またはアカウント内のどのプリンシパル (ルートユーザー、IAM ユーザーまたはロール) が最後にサービスにアクセスしようとしたかを示しています。レポートの詳細と AWS Organizations の最終アクセス情報の表示方法については、「Organizations の最終アクセス情報を表示する」を参照してください。

Organizations エンティティに付与するアクセス許可に関する意思決定を行うために最終アクセス情報を使用するシナリオ例については、「最終アクセス情報を使用するシナリオ例」を参照してください。

最終アクセス情報についての主要事項

レポートの最終アクセス情報を使用して IAM アイデンティティまたは組織エンティティのアクセス許可を変更する前に、その情報に関する次の詳細を確認してください。

  • 追跡期間 – 最近のアクティビティは、4 時間以内に IAM コンソールに表示されます。サービス情報の追跡期間は、サービスがアクション情報の追跡を開始した時期に応じて、400 日以上です。Amazon S3 アクション情報の追跡期間は、2020 年 4 月 12 日に始まりました。Amazon EC2、IAM、および Lambda アクションの追跡期間は、2021 年 4 月 7 日から始まりました。その他すべてのサービスの追跡期間は 2023 年 5 月 23 日に開始されました。アクションの最終アクセス情報があるサービスのリストについては、「IAM アクションの最終アクセス情報サービスとアクション」を参照してください。どのリージョンのアクションの最終アクセス情報が参照できるかについての詳細は、「AWS が最終アクセス情報を追跡する場所」を参照してください

  • 報告された試行 – サービスの最終アクセス時間データには、成功したものだけではなく、AWS API へのすべてのアクセスの試行が含まれます。これには、AWS Management Console、いずれかの SDK を通じた AWS API、またはその他のコマンドラインツールを使用して行われたすべての試行が含まれます。サービスの最終アクセス時間データで予期しないエントリが表示されても、リクエストが拒否された可能性があるため、アカウントが侵害されたことを意味するわけではありません。すべての API 呼び出しと、それらが成功したか、アクセスか拒否されたかに関する情報については、権威あるソースとして CloudTrail ログを参照してください。

  • PassRoleiam:PassRole アクションは追跡されず、IAM アクションの最終アクセス情報には含まれません。

  • アクションの最終アクセス情報 — アクションの最終アクセス情報は、IAM ID がアクセスするサービス管理アクションで使用できます。どのアクションの最終アクセス情報が報告されるかについては、「サービスの一覧とアクション」を参照してください。

    注記

    アクセスの最終時間情報は、Amazon S3 データイベントでは使用できません。

  • 管理イベント — IAM は、CloudTrail によってログ記録されるサービス管理イベントのアクション情報を提供します。CloudTrail 管理イベントは、コントロールプレーンオペレーションまたはコントロールプレーンイベントと呼ばれることもあります。管理イベントでは、AWS アカウント のリソースで実行される管理オペレーションについて知ることができます。CloudTrail の管理イベントの詳細については、AWS CloudTrail ユーザーガイドの「Cloudtrail を使用した管理イベントのログ記録」を参照してください。

  • レポート所有者 – レポートを生成するプリンシパル のみがレポートの詳細を表示できます。つまり、AWS Management Consoleで情報を表示するときに、情報が生成されてロードされるのを待たなければならない場合があります。AWS CLI または AWS API を使用してレポートの詳細を取得する場合、認証情報はレポートを生成したプリンシパルの認証情報と一致する必要があります。ロールまたはフェデレーティッドユーザーに対して一時的な認証情報を使用する場合は、同じセッション中にレポートを生成および取得する必要があります。引き受けたロールセッションのプリンシパルの詳細については、「AWS JSON ポリシーの要素: Principal」を参照してください。

  • IAM リソース — IAM の最終アクセス情報には、アカウントの IAM リソース (ロール、ユーザー、IAM グループ、ポリシー) が含まれます。Organizations への最終アクセスに関する情報には、指定された Organizations エンティティのプリンシパル (IAM ユーザー、IAM ロール、または AWS アカウントのルートユーザー) が含まれます。最終アクセス情報には、認証されていない試行は含まれません。

  • IAM ポリシータイプ — IAM の最終アクセス情報には、IAM アイデンティティポリシーで許可されているサービスが含まれます。以下は、ロールにアタッチされたポリシーか、ユーザーに直接、またはグループ経由でアタッチされたポリシーを示します。他のポリシータイプで許可されているアクセスはレポートに含まれていません。除外されたポリシータイプには、リソースベースのポリシー、アクセスコントロールリスト、AWS Organizations SCP、IAM アクセス許可の境界、およびセッションポリシーなどがあります。サービスにリンクされたロールによって提供されるアクセス許可は、リンク先のサービスによって定義され、IAM で変更することはできません。サービスにリンクされたロールの詳細については、「サービスにリンクされたロールの作成」を参照してください。さまざまなポリシータイプを評価してアクセスを許可または拒否する方法については、「ポリシーの評価論理」を参照してください。

  • Organizations ポリシータイプ – AWS Organizations の情報には、Organizations エンティティの継承されたサービスコントロールポリシー (SCP) で許可されているサービスが含まれます。SCP は、Root、OU、またはアカウントに接続されているポリシーです。他のポリシータイプで許可されているアクセスはレポートに含まれていません。除外されたポリシータイプには、アイデンティティベースのポリシー、リソースベースのポリシー、アクセスコントロールリスト、IAM アクセス許可の境界、およびセッションポリシーなどがあります。アクセスを許可または拒否するために各ポリシータイプを評価する方法については、「ポリシーの評価論理」を参照してください。

  • ポリシー ID の指定 – AWS CLI または AWS API を使用して Organizations で最終アクセス情報のレポートを生成する際、オプションでポリシー ID を指定できます。生成されたレポートには、そのポリシーのみで許可されているサービスの情報が含まれます。この情報には、指定した IAM エンティティまたはエンティティの子の最新のアカウントアクティビティが含まれます。詳細については、「aws iam generate-organizations-access-report」または「GenerateOrganizationsAccessReport」を参照してください。

  • Organizations 管理アカウント – サービスの最終アクセス情報を表示するには、組織の管理アカウントにサインインする必要があります。IAM コンソール、AWS CLI、または AWS API を使用して管理アカウントのデータを表示するように選択できます。管理アカウントは SCP によって制限されないため、結果として得られるレポートにすべての AWS サービスがリストされます。CLI または API でポリシー ID を指定した場合、ポリシーは無視されます。サービスごとに、管理アカウントのみの情報がレポートに含まれます。ただし、他の IAM エンティティのレポートによって、管理アカウントのアクティビティに対する情報は返されません。

  • Organizations 設定 – 管理者は、Organizations のデータを生成する前に組織のルートで SCP を有効にする必要があります。

必要なアクセス許可

AWS Management Console で最終アクセス情報を表示するには、必要なアクセス許可を付与するポリシーが必要です。

IAM 情報のアクセス許可

IAM コンソールを使用して、 ユーザー、ロール、またはポリシーの最終アクセス情報を表示するには、以下のアクションを含むポリシーが必要です。

  • iam:GenerateServiceLastAccessedDetails

  • iam:Get*

  • iam:List*

これらのアクセス許可では、ユーザーは、以下を表示することができます。

  • 管理ポリシーにアタッチされているユーザー、グループ、またはロール

  • ユーザーまたはロールがアクセスできるサービス

  • 最後にサービスにアクセスした時間

  • 最後に特定の Amazon EC2、IAM、Lambda、または Amazon S3 アクションを使用しようとした時間

AWS CLI または AWS API を使用して IAM の最終アクセス情報を表示するには、使用するオペレーションに一致するアクセス許可も必要です。

  • iam:GenerateServiceLastAccessedDetails

  • iam:GetServiceLastAccessedDetails

  • iam:GetServiceLastAccessedDetailsWithEntities

  • iam:ListPoliciesGrantingServiceAccess

この例では、IAM の最終アクセス情報の表示を許可する ID ベースのポリシーを作成する方法を示します。さらに、IAM のすべてのへの読み取り専用アクセスが許可されます。このポリシーは、プログラムおよびコンソールアクセスのアクセス許可を定義します。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:GenerateServiceLastAccessedDetails", "iam:Get*", "iam:List*" ], "Resource": "*" }

AWS Organizations 情報のアクセス許可

IAM コンソールを使用して Organizations のルート、OU、またはアカウントエンティティのレポートを表示するには、以下のアクションを含むポリシーが必要です。

  • iam:GenerateOrganizationsAccessReport

  • iam:GetOrganizationsAccessReport

  • organizations:DescribeAccount

  • organizations:DescribeOrganization

  • organizations:DescribeOrganizationalUnit

  • organizations:DescribePolicy

  • organizations:ListChildren

  • organizations:ListParents

  • organizations:ListPoliciesForTarget

  • organizations:ListRoots

  • organizations:ListTargetsForPolicy

AWS CLI または AWS API を使用して Organizations のサービスの最終アクセス情報を表示するには、以下のアクションを含むポリシーが必要です。

  • iam:GenerateOrganizationsAccessReport

  • iam:GetOrganizationsAccessReport

  • organizations:DescribePolicy

  • organizations:ListChildren

  • organizations:ListParents

  • organizations:ListPoliciesForTarget

  • organizations:ListRoots

  • organizations:ListTargetsForPolicy

この例では、組織のサービスの最終アクセス情報の閲覧を許可する ID ベースのポリシーを作成する方法を示します。さらに、Organizations のすべてのへの読み取り専用アクセスが許可されます。このポリシーは、プログラムおよびコンソールアクセスのアクセス許可を定義します。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:GenerateOrganizationsAccessReport", "iam:GetOrganizationsAccessReport", "organizations:Describe*", "organizations:List*" ], "Resource": "*" } }

また、iam:OrganizationsPolicyId 条件キーを使用して、特定の Organizations ポリシーのみのレポートの生成を許可することもできます。ポリシーの例については、「IAM: Organizations ポリシーのサービスの最終アクセス情報を表示」を参照してください。

IAM および Organizations エンティティのトラブルシューティングアクティビティ

場合によっては、AWS Management Consoleの最終アクセス情報のテーブルが空になる可能性もあります。または、AWS CLI または AWS API リクエストにより、空の情報セットまたは null フィールドが返される可能性があります。このような場合は、次の点を確認してください。

  • アクションの最終アクセス情報については、表示される予定のアクションがリストに返されないことがあります。これは、IAM アイデンティティがアクションのアクセス許可を持っていないか、最終アクセス情報のアクションを AWS がまだ追跡していないために発生します。

  • IAM ユーザーの場合は、直接またはグループメンバーシップで、インラインポリシーまたは管理ポリシーが 1 つ以上アタッチされていることを確認します。

  • IAM グループの場合は、グループにインラインポリシーまたは管理ポリシーが 1 つ以上アタッチされていることを確認します。

  • IAM グループの場合は、サービスにアクセスするためにグループのポリシーを使用したメンバーのサービスの最終アクセス情報のみ、レポートにより返されます。メンバーが他のポリシーを使用していたかどうかを確認するには、そのユーザーの最終アクセス情報を確認します。

  • IAM ロールの場合は、ロールにインラインポリシーまたは管理ポリシーが 1 つ以上アタッチされていることを確認します。

  • IAM エンティティ (ユーザーまたはロール) の場合は、そのエンティティのアクセス許可に影響する可能性のある他のポリシータイプを確認します。このポリシータイプには、リソースベースのポリシー、アクセスコントロールリスト、AWS Organizations ポリシー、IAM アクセス許可の境界、またはセッションポリシーなどがあります。詳細については、「ポリシータイプ」または「単一のアカウント内のリクエストのポリシー評価」を参照してください。

  • IAM ポリシーで、指定した管理ポリシーが、1 人以上のユーザー、メンバーを持つグループ、またはロールに関連付けられていることを確認します。

  • Organizations エンティティ (ルート、OU、またはアカウント) の場合は、Organizations 管理アカウント認証情報を使用してサインインしていることを確認します。

  • SCP が組織のルートで有効になっていることを確認します。

  • アクション最終アクセス時間情報は、IAM アクションの最終アクセス情報サービスとアクション にリストされているアクションでのみ使用できます。

変更したら、アクティビティが IAM コンソールレポートに表示されるまで 4 時間以上かかります。AWS CLI または AWS API を使用する場合は、新しいレポートを生成して更新データを表示する必要があります。

AWS が最終アクセス情報を追跡する場所

AWS は、標準の AWS リージョンの最終アクセス情報を収集します。AWS でさらにリージョンを追加すると、AWS の各リージョンにおける情報の追跡開始日とあわせて、これらのリージョンが以下のテーブルに追加されます。

  • サービス情報 – サービスの追跡期間は過去 400 日以上です。リージョンが過去 400 日以内にこの機能を追跡し始めた場合は、それよりも短くなります。

  • アクション情報 – Amazon S3 管理アクションの追跡期間は、2020 年 4 月 12 日に始まりました。Amazon EC2、IAM、および Lambda の管理アクションの追跡期間は、2021 年 4 月 7 日に始まりました。その他すべてのサービスの管理アクションの追跡期間は、2023 年 5 月 23 日に開始します。リージョンの追跡日が 2023 年 5 月 23 日より後の場合、そのリージョンのアクション最終アクセス日情報は後の日付から開始されます。

リージョン名 リージョン 追跡開始日
米国東部(オハイオ) us-east-2 2017 年 10 月 27 日
米国東部 (バージニア北部) us-east-1 2015 年 10 月 1 日
米国西部(北カリフォルニア) us-west-1 2015 年 10 月 1 日
米国西部(オレゴン) us-west-2 2015 年 10 月 1 日
アフリカ (ケープタウン) af-south-1 2020 年 4 月 22 日
アジアパシフィック (香港) ap-east-1 2019 年 4 月 24 日
アジアパシフィック (ハイデラバード) ap-south-2 2022 年 11 月 22 日
アジアパシフィック (ジャカルタ) ap-southeast-3 2021 年 12 月 13 日
アジアパシフィック (メルボルン) ap-southeast-4 2023 年 1 月 23 日
アジアパシフィック (ムンバイ) ap-south-1 2016 年 6 月 27 日
アジアパシフィック (大阪) ap-northeast-3 2018 年 2 月 11 日
アジアパシフィック (ソウル) ap-northeast-2 2016 年 1 月 6 日
アジアパシフィック (シンガポール) ap-southeast-1 2015 年 10 月 1 日
アジアパシフィック (シドニー) ap-southeast-2 2015 年 10 月 1 日
アジアパシフィック (東京) ap-northeast-1 2015 年 10 月 1 日
カナダ (中部) ca-central-1 2017 年 10 月 28 日
欧州 (フランクフルト) eu-central-1 2015 年 10 月 1 日
欧州 (アイルランド) eu-west-1 2015 年 10 月 1 日
欧州 (ロンドン) eu-west-2 2017 年 10 月 28 日
欧州 (ミラノ) eu-south-1 2020 年 4 月 28 日
欧州 (パリ) eu-west-3 2017 年 12 月 18 日
欧州 (スペイン) eu-south-2 2022 年 11 月 15 日
欧州 (ストックホルム) eu-north-1 2018 年 12 月 12 日
欧州 (チューリッヒ) eu-central-2 2022 年 11 月 8 日
イスラエル (テルアビブ) il-central-1 2023 年 8 月 1 日
中東 (バーレーン) me-south-1 2019 年 7 月 29 日
中東 (アラブ首長国連邦) me-central-1 2022 年 8 月 30 日
南米(サンパウロ) sa-east-1 2015 年 12 月 11 日
AWS GovCloud (米国東部) us-gov-east-1 2023 年 7 月 1 日
AWS GovCloud (米国西部) us-gov-west-1 2023 年 7 月 1 日

前の表にリージョンが記載されていない場合、そのリージョンは、まだ最終アクセス情報を提供していません。

AWS リージョンは地理的な領域内の AWS リソースのコレクションです。リージョンは、パーティションにグループ化されます。標準リージョンは、aws パーティションに属するリージョンです。各パーティションの詳細については、『AWS 全般のリファレンス』の「Amazon Resource Names (ARNs) Format」を参照してください。リージョンの詳細については、『AWS 全般のリファレンス』の「 About AWS Regions」も参照してください。