

# 查找未使用的 AWS 凭证
<a name="id_credentials_finding-unused"></a>

为提高您的 AWS 账户 的安全性，请删除不需要的 IAM 用户凭证（即密码和访问密钥）。例如，当用户离开您的组织或不再需要访问 AWS 时，请找到用户所使用的凭证并确保这些凭证不再有效。理想情况下，如果不再需要凭证，可将其删除。您始终可在将来需要这些凭证时创建它们。您至少应该更改密码或停用访问密钥，使以前的用户不再具有访问权限。

当然，*未使用* 这个词可以有多种理解，但通常指在指定时段内没用过的凭证。

## 查找未使用的密码
<a name="finding-unused-passwords"></a>

您可以使用 AWS 管理控制台查看用户的密码使用信息。如果您有大量的用户，则您可以使用控制台下载包含有关每个用户上次使用其控制台密码的时间信息的凭证报告。您还可以从 AWS CLI 或 IAM API 访问信息。

**查找未使用的密码 (控制台)**

1. 登录 AWS 管理控制台，单击 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

1. 在导航窗格中，选择**用户**。

1. 如有必要，请将 **Console last sign-in** 列添加到用户表中：

   1. 在最右侧的表上方，选择设置图标 (![\[Settings icon\]](http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/images/console-settings-icon.console.png))。

   1. 在**选择可见列**中，选择**控制台上次登录**。

   1. 选择**确认**，返回到用户列表。

1. **Console last sign-in**（控制台上次登录时间）列显示用户上次通过控制台登录 AWS 的日期。您可以利用该信息查找超过指定时间段未使用密码登录的用户。对于从未使用密码登录的用户，该列显示 **Never**。**None** 表示没有密码的用户。最近未使用的密码可能适合做删除处理。
**重要**  
由于服务问题，上次使用密码的数据不包括从 2018 年 5 月 3 日 22:50（太平洋时间）到 2018 年 5 月 23 日 14:08（太平洋时间）之间的密码使用。这会影响 IAM 控制台中显示的[上次登录](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_finding-unused.html)日期和 [IAM 凭证报告](https://docs.aws.amazon.com/IAM/latest/UserGuide/SupportedTypes.xmlid_credentials_getting-report.html)中以及 [GetUser API 操作](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetUser.html)返回的上次使用密码的日期。如果用户在受影响的时间内登录，则返回的上次使用密码的日期是用户在 2018 年 5 月 3 日之前最后一次登录的日期。对于在 2018 年 5 月 23 日 14:08（太平洋时间）之后登录的用户，所返回的上次使用密码的日期准确无误。  
如果您使用上次使用密码的信息来识别未使用的凭证以将其删除（如删除在过去 90 天内未登录过 AWS 的用户），建议您调整评估时段以纳入 2018 年 5 月 23 日之后的日期。或者，如果您的用户使用访问密钥以编程方式访问 AWS，则您可以参阅上次使用访问密钥的信息，因为其中的所有日期都准确无误。

**通过下载凭证报告查找未使用的密码 (控制台)**

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

1. 在导航窗格中，选择**凭证报告**。

1. 选择 **Download Report** 以下载名为 `status_reports_<date>T<time>.csv` 的逗号分隔值 (CSV) 文件。第五列包含具有日期或下列项之一的 `password_last_used` 列：
   + **N/A** - 根本未获得密码的用户。
   + **no\$1information** - 自 在 2014 年 10 月 20 日 IAM 开始跟踪密码使用期限以来未使用其密码的用户。

**查找未使用的密码 (AWS CLI)**  
运行以下命令查找未使用的密码：
+ `[aws iam list-users](https://docs.aws.amazon.com/cli/latest/reference/iam/list-users.html)` 返回用户列表，每个用户均有一个 `PasswordLastUsed` 值。如果缺少此值，则用户未获得密码或自 IAM 在 2014 年 10 月 20 日开始跟踪密码使用期限以来未使用密码。

**查找未使用的密码 (AWS API)**  
调用以下操作查找未使用的密码：
+  ` [ListUsers](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListUsers.html)` 返回用户集合，每个用户均有一个 `<PasswordLastUsed>` 值。如果缺少此值，则用户未获得密码或自 IAM 在 2014 年 10 月 20 日开始跟踪密码使用期限以来未使用密码。

有关用于下载凭证报告的命令的信息，请参阅[获取凭证报告 (AWS CLI)](id_credentials_getting-report.md#getting-credential-reports-cliapi)。

## 查找未使用的访问密钥
<a name="finding-unused-access-keys"></a>

您可以使用 AWS 管理控制台查看用户的访问密钥使用信息。如果您有大量的用户，则您可以使用控制台下载凭证报告，以查找每个用户上次使用其访问密钥的时间。您还可以从 AWS CLI 或 IAM API 访问信息。

**查找未使用的访问密钥 (控制台)**

1. 登录 AWS 管理控制台，单击 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

1. 在导航窗格中，选择**用户**。

1. 如有必要，将 **Access key last used** 列添加到用户表中：

   1. 在最右侧的表上方，选择设置图标 (![\[Settings icon\]](http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/images/console-settings-icon.console.png))。

   1. 在**选择可见列**中，选择**上次使用的访问密钥**。

   1. 选择**确认**，返回到用户列表。

1. **Access key last used (访问密钥上次使用)** 列显示用户上次以编程方式访问 AWS 以来经过的天数。您可以利用该信息查找超过指定时间段未使用访问密钥的用户。对于没有访问密钥的用户，该列显示 **–**。最近未使用的访问密钥可能适合做删除处理。

**通过下载凭证报告来查找未使用的访问密钥 (控制台)**

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

1. 在导航窗格中，选择**凭证报告**。

1. 选择 **Download Report** 以下载名为 `status_reports_<date>T<time>.csv` 的逗号分隔值 (CSV) 文件。列 11 至 13 包含访问密钥 1 的上次使用日期、区域和服务信息。列 16 至列 18 包含访问密钥 2 的相同信息。如果用户没有访问密钥或用户自 IAM 在 2015 年 4 月 22 日开始跟踪访问密钥使用期限以来未使用访问密钥，则值为 **N/A**。

**查找未使用的访问密钥 (AWS CLI)**  
运行以下命令查找未使用的访问密钥：
+ `[aws iam list-access-keys](https://docs.aws.amazon.com/cli/latest/reference/iam/list-access-keys.html)` 返回有关用户的访问密钥的信息，包括 `AccessKeyID`。
+ `[aws iam get-access-key-last-used](https://docs.aws.amazon.com/cli/latest/reference/iam/get-access-key-last-used.html)` 采用访问密钥 ID 并返回输出，包括 `LastUsedDate`、`Region` (上次在其中使用访问密钥) 和上一次请求的服务的 `ServiceName`。如果缺少 `LastUsedDate`，则自 IAM 在 2015 年 4 月 22 日开始跟踪访问密钥使用期限以来未使用访问密钥。

**查找未使用的访问密钥 (AWS API)**  
调用以下操作查找未使用的访问密钥：
+ `[ListAccessKeys](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccessKeys.html)` 返回与指定用户关联的访问密钥的 `AccessKeyID` 值的列表。
+ `[GetAccessKeyLastUsed](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccessKeyLastUsed.html)` 采用访问密钥 ID 并返回值的集合。包括 `LastUsedDate`、`Region` (上次在其中使用访问密钥) 和上次请求的服务的 `ServiceName`。如果缺少此值，则用户未获得访问密钥或自 IAM 在 2015 年 4 月 22 日开始跟踪访问密钥使用期间以来未使用访问密钥。

有关用于下载凭证报告的命令的信息，请参阅[获取凭证报告 (AWS CLI)](id_credentials_getting-report.md#getting-credential-reports-cliapi)。