AWS Identity and Access Management
ユーザーガイド

サービスの最終アクセス時間データを使用したアクセス許可の調整

IAM または AWS Organizations でエンティティまたはポリシーに関してサービスの最終アクセス時間データを表示できます。このデータは、アカウントの IAM ポリシーまたはエンティティ (ユーザーまたはロール) に使用できます。IAM のデータには、IAM エンティティで許可されているサービスがいつ最後にアクセスを試みたかに関する情報が含まれます。レポートと、IAM のサービスの最終アクセス時間データを表示する方法については、「IAM のサービスの最終アクセス時間データの表示」を参照してください。

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

その後、サービスの最終アクセス時間データを使用して、ポリシーを調整し、エンティティで使用されるサービスにのみアクセスを許可することができます。これにより、 最小権限のベストプラクティスに準拠できるようになります。

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

主要事項

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

  • レポート期間 – 最近のアクティビティは通常 4 時間以内に IAM コンソールに表示されます。IAM は、過去 365 日間のアクティビティを報告しています。対象のリージョンでこの機能のサポートが開始されたのが昨年の場合はこれより少なくなります。詳細については、「データが追跡されるリージョン」を参照してください。

  • 認証された IAM エンティティ – IAM のデータには、アカウント内の認証された IAM エンティティ (ユーザーまたはロール) のみが含まれます。組織 のデータには、指定した 組織 エンティティ内の認証されたプリンシパル (IAM ユーザー、IAM ロール、または AWS アカウントのルートユーザー) のみが含まれます。このデータには、認証されていない試行は含まれません。

  • IAM ポリシータイプ – IAM のデータには、IAM エンティティのポリシーで許可されているサービスが含まれます。以下は、ロールにアタッチされたポリシーか、ユーザーに直接、またはグループ経由でアタッチされたポリシーを示します。他のポリシータイプで許可されているアクセスはレポートに含まれていません。除外されたポリシータイプには、リソースベースのポリシー、アクセスコントロールリスト、AWS Organizations SCP、IAM アクセス許可の境界、およびセッションポリシーなどがあります。アクセスを許可または拒否するために各ポリシータイプを評価する方法については、「ポリシーの評価論理」を参照してください。

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

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

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

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

必要なアクセス許可

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

IAM データのアクセス許可

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

  • iam:GenerateServiceLastAccessedDetails

  • iam:Get*

  • iam:List*

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

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

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

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

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 コンソールを使用して 組織 のルート、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 を使用して 組織 のサービスの最終アクセス時間データを表示するには、以下のアクションを含むポリシーが必要です。

  • iam:GenerateOrganizationsAccessReport

  • iam:GetOrganizationsAccessReport

  • organizations:DescribePolicy

  • organizations:ListChildren

  • organizations:ListParents

  • organizations:ListPoliciesForTarget

  • organizations:ListRoots

  • organizations:ListTargetsForPolicy

次のようなポリシーを作成する方法を示します。この例では、 により、組織 のサービスの最終アクセス時間データの表示が許可されます。さらに、組織 のすべてのへの読み取り専用アクセスが許可されます。このポリシーでは、このアクションをコンソールで実行するために必要なアクセス許可も付与されます。

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

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

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

場合によっては、 AWS マネジメントコンソール サービスの最終アクセス時間データのテーブルが空になる可能性もあります。または、AWS CLI または AWS API リクエストにより、空のデータセットまたは null フィールドが返される可能性があります。このような場合は、次の点を確認してください。

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

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

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

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

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

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

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

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

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

データが追跡されるリージョン

AWS は、ほとんどのリージョンでサービスの最終アクセス時間データを収集します。データは、最大 365 日保存されます。AWS でさらにリージョンを追加すると、AWS の各リージョンにおけるデータの追跡開始日とあわせて、これらのリージョンが以下のテーブルに追加されます。

リージョン名 リージョン 追跡開始日
米国東部 (オハイオ) 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-northeast-1 2015 年 10 月 1 日
アジアパシフィック (ソウル) ap-northeast-2 2016 年 1 月 6 日
アジアパシフィック (シンガポール) ap-southeast-1 2015 年 10 月 1 日
アジアパシフィック (シドニー) ap-southeast-2 2015 年 10 月 1 日
アジアパシフィック (ムンバイ) ap-south-1 2016 年 6 月 27 日
カナダ (中部) 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 (パリ) eu-west-3 2017 年 18 月 12 日
南米 (サンパウロ) sa-east-1 2015 年 12 月 11 日

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