获取您 AWS 账户 的凭证报告 - AWS Identity and Access Management

获取您 AWS 账户 的凭证报告

您可以生成和下载列出您账户中所有用户及其各个凭证状态(包括密码、访问密钥和 MFA 设备)的凭证报告。您可以从 AWS Management Console、AWS 开发工具包命令行工具或 IAM API 获取凭证报告。

您可以使用凭证报告帮助您进行审核和合规性工作。您可以使用该报告来审计凭证生命周期要求的效果,如密码和访问密钥更新要求。您可以向外部审核员提供报告,或向审核员授予权限,以便他或她可以直接下载报告。

您可以按每四小时一次的频率生成凭证报告。请求报告时,IAM 先检查在过去四小时内是否生成了 AWS 账户 的报告。如果是,则下载最新的报告。如果账户的最新报告是四小时前生成的,或者账户以前没有报告,则 IAM 将生成并下载新报告。

所需的权限

创建和下载报告需要以下权限:

  • 创建凭证报告:iam:GenerateCredentialReport

  • 下载报告:iam:GetCredentialReport

了解报告格式

凭证报告采用逗号分隔值 (CSV) 文件格式。您可以使用常用电子表格软件打开 CSV 文件以执行分析,也可以构建应用程序以编程方式使用 CSV 文件并执行自定义分析。

CSV 文件包含以下列:

user

用户的友好名称。

arn

用户的 Amazon Resource Name (ARN)。有关 ARN 的更多信息,请参阅 IAM ARN

user_creation_time

创建用户的日期和时间,ISO 8601 日期时间格式

password_enabled

如果用户有密码,则该值为 TRUE。否则为 FALSE。AWS 账户根用户 的值始终为 not_supported

password_last_used

AWS 账户根用户 或用户的密码上次用于登录 AWS 网站的日期和时间,采用 ISO 8601 日期时间格式。捕获用户上次登录时间的 AWS 网站是 AWS Management Console、AWS 论坛和 AWS Marketplace。如果密码在 5 分钟的时间范围内多次使用,则仅在此字段中记录第一次使用。

  • 此字段的值在以下情况下为 no_information

    • 用户的密码从未使用过。

    • 没有与密码关联的登录数据,例如,当用户的密码在 IAM 于 2014 年 10 月 20 日开始跟踪此信息后尚未使用时。

  • 如果用户没有密码,此字段中的值为 N/A (不适用)。

重要

由于服务问题,上次使用密码的数据不包括从 2018 年 5 月 3 日 22:50(太平洋时间)到 2018 年 5 月 23 日 14:08(太平洋时间)之间的密码使用。这会影响 IAM 控制台中显示的上次登录日期和 IAM 凭证报告中以及 GetUser API 操作返回的上次使用密码的日期。如果用户在受影响的时间内登录,则返回的上次使用密码的日期是用户在 2018 年 5 月 3 日之前最后一次登录的日期。对于在 2018 年 5 月 23 日 14:08(太平洋时间)之后登录的用户,所返回的上次使用密码的日期准确无误。

如果您使用上次使用密码的信息来识别未使用的凭证以将其删除(如删除在过去 90 天内未登录过 AWS 的用户),建议您调整评估时段以纳入 2018 年 5 月 23 日之后的日期。或者,如果您的用户使用访问密钥以编程方式访问 AWS,则您可以参阅上次使用访问密钥的信息,因为其中的所有日期都准确无误。

password_last_changed

上次设置用户密码的日期和时间,ISO 8601 日期时间格式。如果用户没有密码,则此字段中的值为 N/A (不适用)。AWS 账户(根)的值始终是 not_supported

password_next_rotation

如果账户的密码策略要求密码轮换,则此字段包含用户需要设置新密码的日期和时间,ISO 8601 日期时间格式。AWS 账户(根)的值始终是 not_supported

mfa_active

如果对用户启用了多重验证 (MFA) 设备,则此值为 TRUE。否则为 FALSE

access_key_1_active

如果用户有访问密钥且访问密钥状态为 Active,则该值为 TRUE。否则为 FALSE

access_key_1_last_rotated

创建或上次更改用户访问密钥的日期和时间,ISO 8601 日期时间格式。如果用户没有活动的访问密钥,则此字段中的值为 N/A (不适用)。

access_key_1_last_used_date

最近使用用户的访问密钥签署 AWS API 请求的日期和时间(采用 ISO 8601 日期时间格式)。如果访问密钥在 15 分钟的时间范围内多次使用,则仅在此字段中记录第一次使用。

此字段的值在这些情况下为 N/A(不适用):

  • 用户没有访问密钥。

  • 访问密钥从未使用过。

  • 访问密钥在 IAM 于 2015 年 4 月 22 日开始跟踪此信息后尚未使用。

access_key_1_last_used_region

最近在其中使用访问密钥的 AWS 区域。如果访问密钥在 15 分钟的时间范围内多次使用,则仅在此字段中记录第一次使用。

此字段的值在这些情况下为 N/A(不适用):

  • 用户没有访问密钥。

  • 访问密钥从未使用过。

  • 上次使用访问密钥是在 IAM 于 2015 年 4 月 22 日开始跟踪此信息之前。

  • 上次使用的服务不是区域特定的服务,如 Amazon S3。

access_key_1_last_used_service

最近使用访问密钥访问的 AWS 服务。此字段的值使用服务的命名空间,例如 s3 表示 Amazon S3,ec2 表示 Amazon EC2。如果访问密钥在 15 分钟的时间范围内多次使用,则仅在此字段中记录第一次使用。

此字段的值在这些情况下为 N/A(不适用):

  • 用户没有访问密钥。

  • 访问密钥从未使用过。

  • 上次使用访问密钥是在 IAM 于 2015 年 4 月 22 日开始跟踪此信息之前。

access_key_2_active

如果用户有第二个访问密钥且第二个键的状态为 Active,则该值为 TRUE。否则为 FALSE

注意

用户最多可以有两个访问密钥,为方便轮换,可以首先更新密钥,然后再删除之前的密钥。有关更新访问密钥的更多信息,请参阅 更新访问密钥

access_key_2_last_rotated

创建或上次更改用户第二个访问密钥的日期和时间,采用 ISO 8601 日期时间格式。如果用户没有第二个活动的访问密钥,则此字段中的值为 N/A (不适用)。

access_key_2_last_used_date

最近使用用户的第二个访问密钥签署 AWS API 请求的日期和时间(采用 ISO 8601 日期时间格式)。如果访问密钥在 15 分钟的时间范围内多次使用,则仅在此字段中记录第一次使用。

此字段的值在这些情况下为 N/A(不适用):

  • 用户没有第二个访问密钥。

  • 用户的第二个访问密钥从未使用过。

  • 上次使用用户的第二个访问密钥是在 IAM 于 2015 年 4 月 22 日开始跟踪此信息之前。

access_key_2_last_used_region

最近在其中使用用户的第二个访问密钥的 AWS 区域。如果访问密钥在 15 分钟的时间范围内多次使用,则仅在此字段中记录第一次使用。此字段的值在这些情况下为 N/A(不适用):

  • 用户没有第二个访问密钥。

  • 用户的第二个访问密钥从未使用过。

  • 上次使用用户的第二个访问密钥是在 IAM 于 2015 年 4 月 22 日开始跟踪此信息之前。

  • 上次使用的服务不是区域特定的服务,如 Amazon S3。

access_key_2_last_used_service

最近使用用户的第二个访问密钥访问的 AWS 服务。此字段的值使用服务的命名空间,例如 s3 表示 Amazon S3,ec2 表示 Amazon EC2。如果访问密钥在 15 分钟的时间范围内多次使用,则仅在此字段中记录第一次使用。此字段的值在这些情况下为 N/A(不适用):

  • 用户没有第二个访问密钥。

  • 用户的第二个访问密钥从未使用过。

  • 上次使用用户的第二个访问密钥是在 IAM 于 2015 年 4 月 22 日开始跟踪此信息之前。

cert_1_active

如果用户有 X.509 签名证书且证书状态为 Active,则该值为 TRUE。否则为 FALSE

cert_1_last_rotated

创建或上次更改用户签名证书的日期和时间,ISO 8601 日期时间格式。如果用户没有活动的签名证书,则此字段中的值为 N/A (不适用)。

cert_2_active

如果用户有第二个 X.509 签名证书且证书状态为 Active,则该值为 TRUE。否则为 FALSE

注意

用户最多可以有两个 X.509 签名证书,以便于进行证书轮换。

cert_2_last_rotated

创建或上次更改用户第二个签名证书的日期和时间,ISO 8601 日期时间格式。如果用户没有第二个活动的签名证书,则此字段中的值为 N/A (不适用)。

获取凭证报告(控制台)

您可以使用 AWS Management Console下载逗号分隔值 (CSV) 文件形式的凭证报告。

下载凭证报告(控制台)
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择凭证报告

  3. 选择下载报告

获取凭证报告 (AWS CLI)

下载凭证报告 (AWS CLI)
  1. 生成凭证报告。AWS 存储单个报告。如果存在报告,生成凭证报告将覆盖以前的报告。aws iam generate-credential-report

  2. 查看上次生成的报告:aws iam get-credential-report

获取凭证报告 (AWS API)

下载凭证报告 (AWS API)
  1. 生成凭证报告。AWS 存储单个报告。如果存在报告,生成凭证报告将覆盖以前的报告。GenerateCredentialReport

  2. 查看上次生成的报告:GetCredentialReport