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

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

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

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

IAM エンティティの最終アクセス情報には、許可された AWS サービス情報と許可されたアクション情報の 2 つのタイプが表示されます。情報には、試行が行われた日時が含まれます。アクション最終アクセス情報は、Amazon EC2、IAM、Lambda、および Amazon S3 の管理アクションで使用できます。管理アクションには、作成、削除、および変更アクションが含まれます。 の最終アクセス情報の表示方法の詳細については、「IAM の最終アクセス情報の表示」を参照してください。

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

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

AWS Organizations の最終アクセス情報

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

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

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

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

  • 追跡期間 – 最近のアクティビティは通常、4 時間以内に IAM コンソールに表示されます。サービス情報の追跡期間は、過去 400 日間です。Amazon S3 アクション情報の追跡期間は、2020 年 4 月 12 日に始まりました。Amazon EC2、IAM、および Lambda アクションの追跡期間は、2021 年 4 月 7 日から始まりました。詳細については、「AWS が最終アクセス情報を追跡する場所」を参照してください。

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

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

  • アクション最終アクセス情報 — アクションの最終アクセス情報は、IAM エンティティがアクセスする Amazon EC2、IAM、Lambda、および Amazon S3 の管理アクションで使用できます。IAM は、CloudTrail によって記録される Amazon EC2、IAM、Lambda、および Amazon S3 管理イベントのアクション情報を提供します。CloudTrail 管理イベントは、コントロールプレーンオペレーションまたはコントロールプレーンイベントと呼ばれることもあります。管理イベントでは、AWS アカウントのリソースで実行される管理オペレーションについて知ることができます。CloudTrail の管理イベントの詳細については、「Logging Management Events with Cloudtrail」を参照してください。

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

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

  • 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 管理アカウント – サービスの最終アクセス情報を表示するには、組織の管理アカウントにサインインする必要があります。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 の最終アクセス情報の表示を許可する IAM ポリシーを作成する方法を示します。さらに、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

この例では、Organizations サービスの最終アクセス情報の表示を許可する IAM ポリシーを作成する方法を示します。さらに、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 アクセス許可の境界、またはセッションポリシーなどがあります。詳細については、「ポリシータイプ」または「単一アカウント内のポリシーを評価する」を参照してください。

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

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

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

  • 最終アクセス情報は、一部の Amazon EC2、IAM、Lambda、Amazon S3 アクションでのみ使用できます。

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

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

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

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

  • アクション情報 – Amazon S3 管理アクションの追跡期間は、2020 年 4 月 12 日に始まりました。Amazon EC2、IAM、および Lambda の管理アクションの追跡期間は、2021 年 4 月 7 日に始まりました。リージョンがアクションのサポートを後日に開始した場合、その日付はリージョンのアクションの追跡開始日でもあります。

リージョン名 リージョン 追跡開始日
米国東部 (オハイオ) us-east-2 2017 年 10 月 27 日
米国東部 (バージニア北部) us-east-1 2015 年 10 月 1 日
米国西部 (北カリフォルニア) us-west-1 2015 年 10 月 1 日
米国西部 (オレゴン) us-west-2 2015 年 10 月 1 日
アジアパシフィック (香港) ap-east-1 2019 年 4 月 24 日
アジアパシフィック (ムンバイ) ap-south-1 2016 年 6 月 27 日
Asia Pacific (Seoul) 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-north-1 2018 年 12 月 12 日
欧州 (アイルランド) eu-west-1 2015 年 10 月 1 日
欧州 (ロンドン) eu-west-2 2017 年 10 月 28 日
ヨーロッパ (ミラノ) eu-south-1 2020 年 4 月 28 日
欧州 (パリ) eu-west-3 2017 年 12 月 18 日
中東 (バーレーン) me-south-1 2019 年 7 月 29 日
アフリカ (ケープタウン) af-south-1 2020 年 4 月 22 日
南米 (サンパウロ) sa-east-1 2015 年 12 月 11 日

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

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