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

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

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

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

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

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

管理アクションの情報の提供方法の詳細については、「最終アクセス時間情報について知っておくべきこと」を参照してください。

AWS Organizations の最終アクセス時間情報

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

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

最終アクセス時間情報について知っておくべきこと

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

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

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

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

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

  • 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 を指定できます。生成されたレポートには、そのポリシーのみで許可されているサービスの情報が含まれます。この情報には、指定した Organizations エンティティまたはエンティティの子の最新のアカウントアクティビティが含まれます。詳細については、「aws iam generate-organizations-access-report」または「GenerateOrganizationsAccessReport」を参照してください。

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

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

必要なアクセス許可

AWS マネジメントコンソール で最終アクセス時間情報を表示するには、必要なアクセス許可を付与するポリシーが必要です。

IAM 情報のアクセス許可

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

  • iam:GenerateServiceLastAccessedDetails

  • iam:Get*

  • iam:List*

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

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

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

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

  • 最後に特定の S3 アクションを使用しようとした時間

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

  • iam:GenerateServiceLastAccessedDetails

  • iam:GetServiceLastAccessedDetails

  • iam:GetServiceLastAccessedDetailsWithEntities

  • iam:ListPoliciesGrantingServiceAccess

次のようなポリシーを作成する方法を示します。 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 のサービスの最終アクセス時間情報の表示が許可されます。さらに、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 マネジメントコンソールの最終アクセス時間情報のテーブルが空になる可能性もあります。または、AWS CLI または AWS API リクエストにより、空の情報セットまたは null フィールドが返される可能性があります。このような場合は、次の点を確認してください。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

リージョン名 リージョン 追跡開始日
米国東部 (オハイオ) 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 日
アジアパシフィック (ソウル) 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 年 18 月 12 日
中東 (バーレーン) me-south-1 2019 年 7 月 29 日
アフリカ (ケープタウン) af-south-1 2020 年 4 月 22 日
南米 (サンパウロ) sa-east-1 2015 年 12 月 11 日

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

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