

# 查看 IAM 的上次访问信息
<a name="access_policies_last-accessed-view-data"></a>

您可以使用 AWS 管理控制台、AWS CLI 或 AWS API 查看 IAM 的上次访问信息。查看将显示上次访问信息的 [服务与操作列表](access_policies_last-accessed-action-last-accessed.md)。有关上次访问信息的更多信息，请参阅[使用上次访问的信息优化 AWS 中的权限](access_policies_last-accessed.md)。

您可以在 IAM 中查看下列资源类型的信息。在每种情况下，该信息包括给定报告周期允许的服务：
+ **用户** - 查看有关用户上次尝试访问每个允许的服务的信息。
+ **User group**（用户组）- 查看有关用户组成员上次尝试访问每个允许的服务的信息。此报告还包括已尝试访问的成员的总数。
+ **Role**（角色）- 查看有关某个人上次使用角色尝试访问每个允许的服务的信息。
+ **Policy**（策略）- 查看有关用户或角色上次尝试访问每个允许的服务的信息。此报告还包括已尝试访问的实体的总数。

**注意**  
在 IAM 中查看资源的访问信息之前，请确保您了解信息的报告周期、报告的实体和已评估的策略类型。有关更多详细信息，请参阅[关于上次访问的信息的知识](access_policies_last-accessed.md#access_policies_last-accessed-know)。

## 查看 IAM（控制台）的信息
<a name="access_policies_last-accessed-viewing"></a>

您可以在 IAM 控制台的**上次访问**选项卡上查看 IAM 的上次访问信息。

**查看 IAM（控制台）的信息**

1. 登录 AWS 管理控制台，然后通过以下网址打开 IAM 控制台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择 **Groups**（组）、**Users**（用户）、**Roles**（角色）或 **Policies**（策略）。

1. 请选择任意用户、用户组、角色或策略名称打开相应的**摘要**页面，然后选择**上次访问时间**选项卡。根据您选择的资源查看以下信息：
   + **User group**（用户组）- 查看用户组成员（用户）可以访问的服务列表。您还可以查看成员上次访问服务的时间、成员使用的用户组策略以及发出请求的用户组成员。请选择策略的名称以了解它是托管策略还是内联用户组策略。请选择用户组成员的名称以查看该用户组的所有成员以及他们上次访问服务的时间。
   + **User**（用户）- 查看用户可以访问的服务列表。您还可以查看这些用户和角色上次访问服务的时间，以及当前与该用户关联的策略。请选择策略的名称以了解它是托管策略、内联用户策略还是用户组的内联策略。
   + **Role**（角色）- 查看角色可以访问的服务的列表、角色上次访问服务的时间以及所使用的策略。选择策略的名称以了解它是托管策略还是内联角色策略。
   + **Policy**（策略）- 查看策略中允许的操作的服务列表。还可以查看上次使用策略访问服务的时间以及使用该策略的实体（用户或角色）。**上次访问**日期还包括通过其他策略授予对此策略的访问权限的时间。选择实体的名称以了解哪些实体已附加此策略以及实体上次访问服务的时间。

1. 在表中的**服务**列中，选择 [包含上次访问操作信息的一种服务](access_policies_last-accessed-action-last-accessed.md) 的名称，以查看 IAM 实体尝试访问的管理操作的列表。您可以查看 AWS 区域以及时间戳（显示某个人上次尝试执行操作的时间）。

1. 对于 [包含上次访问操作信息的服务](access_policies_last-accessed-action-last-accessed.md) 的服务和管理操作，将会显示**上次访问时间**列。查看此列中返回的以下可能结果。这些结果会有所不同，具体取决于是否允许某个服务或操作、是否访问了此服务或操作，以及 AWS 是否跟踪此服务或操作以获取上次访问的信息。  
**<number of> 天前**  
自跟踪周期内使用服务或操作以来的天数。服务的跟踪周期为过去 400 天。Amazon S3 操作的跟踪周期从 2020 年 4 月 12 日开始。Amazon EC2、IAM Lambda 和操作的跟踪周期从 2021 年 4 月 7 日开始。所有其他服务的跟踪周期从 2023 年 5 月 23 日开始计算。要详细了解每个 AWS 区域的跟踪开始日期，请参阅 [AWS 跟踪上次访问信息的位置](access_policies_last-accessed.md#last-accessed_tracking-period)。  
**在跟踪周期间未访问**  
所跟踪的服务或操作在跟踪周期内未被实体使用。

   您可能对未出现在列表中的操作拥有权限。如果 AWS 当前未包含操作的跟踪信息，则可能会发生这种情况。您不应仅出于缺少跟踪信息来做出权限决定。相反，我们建议您使用此信息来告知和支持授予最小权限的总体策略。检查您的策略以确认访问级别是否适当。

## 查看 IAM 的信息 (AWS CLI)
<a name="access_policies_last-accessed-viewing-cli"></a>

您可以使用 AWS CLI 检索有关上次使用 IAM 资源尝试访问 AWS 服务和 Amazon S3、Amazon EC2、IAM 以及 Lambda 操作的信息。IAM 资源可能是用户、用户组、角色或策略。

**查看 IAM 的信息 (AWS CLII)**

1. 生成报告。请求必须包括要报告的 IAM 资源（用户、用户组、角色或策略）的 ARN。您可以指定要在报告中生成的粒度级别，以查看服务或服务和操作的访问详细信息。该请求返回一个 `job-id`，您之后可在 `get-service-last-accessed-details` 和 `get-service-last-accessed-details-with-entities` 操作中使用它来监控 `job-status`，直到作业完成。
   + [aws iam generate-service-last-accessed-details](https://docs.aws.amazon.com/cli/latest/reference/iam/generate-service-last-accessed-details.html)

1. 检索有关使用上一步中的 `job-id` 参数的报告的详细信息。
   + [aws iam get-service-last-accessed-details](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-last-accessed-details.html)

   此操作根据您在 `generate-service-last-accessed-details` 操作中请求的资源类型和粒度级别返回以下信息：
   + **User**（用户）- 返回指定用户可访问的服务的列表。对于每个服务，此操作返回用户上次尝试的日期和时间以及用户的 ARN。
   + **用户组** — 返回指定用户组的成员可使用附加到用户组的策略访问的服务列表。对于每个服务，此操作返回任何用户组成员（用户）上次尝试的日期和时间。它还返回该用户的 ARN 以及已尝试访问服务的用户组成员的总数。使用 [GetServiceLastAccessedDetailsWithEntities](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLastAccessedDetailsWithEntities.html) 操作可检索所有成员的列表。
   + **Role**（角色）- 返回指定角色可访问的服务的列表。对于每个服务，此操作返回角色上次尝试的日期和时间以及角色的 ARN。
   + **Policy**（策略）- 返回指定策略允许访问的服务的列表。对于每个服务，此操作返回实体（用户或角色）上次尝试使用策略访问服务的日期和时间。它还返回实体的 ARN 以及已尝试访问的实体的总数。

1. 了解有关在尝试访问特定服务时使用用户组或策略权限的实体的更多信息。此操作返回具有每个实体的 ARN、ID、名称、路径、类型（用户或角色）的实体列表以及实体上次尝试访问服务的时间。您还可以对用户和角色使用此操作，但它仅返回有关该实体的信息。
   + [aws iam get-service-last-accessed-details-with-entities](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-last-accessed-details-with-entities.html)

1. 了解有关在尝试访问特定服务时身份（用户、用户组或角色）使用的基于身份的策略的更多信息。在指定身份和服务时，此操作返回身份可用于访问指定服务的权限策略的列表。此操作提供策略的当前状态，而不依赖于生成的报告。它也不返回其他策略类型，例如基于资源的策略、访问控制列表、AWS Organizations 策略、IAM 权限边界或会话策略。有关更多信息，请参阅 [策略类型](access_policies.md#access_policy-types) 或 [对单个账户内的请求进行策略评估](reference_policies_evaluation-logic_policy-eval-basics.md)。
   + [aws iam list-policies-granting-service-access](https://docs.aws.amazon.com/cli/latest/reference/iam/list-policies-granting-service-access.html)

## 查看 IAM 的信息 (AWS API)
<a name="access_policies_last-accessed-viewing-api"></a>

您可以使用 AWS API 检索有关上次使用 IAM 资源尝试访问 AWS 服务和 Amazon S3、Amazon EC2、IAM 以及 Lambda 操作的信息。IAM 资源可能是用户、用户组、角色或策略。您可以指定要在报告中生成的粒度级别，以查看服务或服务和操作的详细信息。

**查看 IAM 的信息 (AWS API)**

1. 生成报告。请求必须包括要报告的 IAM 资源（用户、用户组、角色或策略）的 ARN。它返回一个 `JobId`，您之后可在 `GetServiceLastAccessedDetails` 和 `GetServiceLastAccessedDetailsWithEntities` 操作中使用它来监控 `JobStatus`，直到作业完成。
   + [GenerateServiceLastAccessedDetails](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GenerateServiceLastAccessedDetails.html)

1. 检索有关使用上一步中的 `JobId` 参数的报告的详细信息。
   + [GetServiceLastAccessedDetails](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLastAccessedDetails.html)

   此操作根据您在 `GenerateServiceLastAccessedDetails` 操作中请求的资源类型和粒度级别返回以下信息：
   + **User**（用户）- 返回指定用户可访问的服务的列表。对于每个服务，此操作返回用户上次尝试的日期和时间以及用户的 ARN。
   + **用户组** — 返回指定用户组的成员可使用附加到用户组的策略访问的服务列表。对于每个服务，此操作返回任何用户组成员（用户）上次尝试的日期和时间。它还返回该用户的 ARN 以及已尝试访问服务的用户组成员的总数。使用 [GetServiceLastAccessedDetailsWithEntities](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLastAccessedDetailsWithEntities.html) 操作可检索所有成员的列表。
   + **Role**（角色）- 返回指定角色可访问的服务的列表。对于每个服务，此操作返回角色上次尝试的日期和时间以及角色的 ARN。
   + **Policy**（策略）- 返回指定策略允许访问的服务的列表。对于每个服务，此操作返回实体（用户或角色）上次尝试使用策略访问服务的日期和时间。它还返回实体的 ARN 以及已尝试访问的实体的总数。

1. 了解有关在尝试访问特定服务时使用用户组或策略权限的实体的更多信息。此操作返回具有每个实体的 ARN、ID、名称、路径、类型（用户或角色）的实体列表以及实体上次尝试访问服务的时间。您还可以对用户和角色使用此操作，但它仅返回有关该实体的信息。
   + [GetServiceLastAccessedDetailsWithEntities](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLastAccessedDetailsWithEntities.html)

1. 了解有关在尝试访问特定服务时身份（用户、用户组或角色）使用的基于身份的策略的更多信息。在指定身份和服务时，此操作返回身份可用于访问指定服务的权限策略的列表。此操作提供策略的当前状态，而不依赖于生成的报告。它也不返回其他策略类型，例如基于资源的策略、访问控制列表、AWS Organizations 策略、IAM 权限边界或会话策略。有关更多信息，请参阅 [策略类型](access_policies.md#access_policy-types) 或 [对单个账户内的请求进行策略评估](reference_policies_evaluation-logic_policy-eval-basics.md)。
   + [ListPoliciesGrantingServiceAccess](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListPoliciesGrantingServiceAccess.html)