AWS Identity and Access Management
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用上次访问的服务数据优化权限

您可以在 IAM 或 AWS Organizations 中查看实体或策略的上次访问的服务数据。该数据适用于您的账户中的 IAM 策略或实体(用户或角色)。IAM 数据包括有关 IAM 实体上次尝试访问的允许服务以及访问时间的信息。要了解该报告以及如何查看 IAM 的上次访问的服务数据的更多信息,请参阅查看 IAM 的上次访问的服务数据

如果使用主账户凭证登录,您还可以查看组织中的 AWS Organizations 实体或策略的上次访问的服务数据。AWS Organizations 实体包括组织根、组织单位 (OU) 或账户。组织 上次访问的服务数据包括有关 组织 账户中的委托人上次尝试访问的允许服务以及访问时间的信息。要了解该报告以及如何查看 AWS Organizations 的上次访问的服务数据的更多信息,请参阅查看 组织 上次访问的服务数据

然后,您可以使用上次访问的服务数据以优化策略,并仅允许访问您的实体使用的服务。这有助于更好地遵循最小权限的最佳实践。

有关使用上次访问的服务数据确定为 IAM 或 组织 实体授予的权限的示例方案,请参阅使用上次访问的服务数据的示例方案

需知信息

在使用报告中的上次访问的服务数据更改 IAM 或 组织 实体的权限之前,请查看有关该数据的以下详细信息。

  • 报告周期 – 最近的活动通常在 IAM 控制台中显示四小时。如果您的区域在去年开始支持该功能,则 IAM 报告过去 365 天或更少的活动。有关更多信息,请参阅 跟踪数据的区域

  • 经过身份验证的 IAM 实体 – IAM 数据仅包含您的账户中经过身份验证的 IAM 实体(用户或角色)。组织 数据仅包含指定的 组织 实体中经过身份验证的委托人(IAM 用户、IAM 角色或 AWS 账户根用户)。该数据不包括未经身份验证的尝试。

  • IAM 策略类型 – IAM 数据包括 IAM 实体的策略允许的服务。这些是附加到角色或直接或通过组附加到用户的策略。其他策略类型允许的访问权限未包含在您的报告中。排除的策略类型包括基于资源的策略、访问控制列表、AWS Organizations SCP、IAM 权限边界以及会话策略。要了解如何评估不同的策略类型以允许或拒绝访问,请参阅策略评估逻辑

  • 组织 策略类型 – AWS Organizations 数据仅包含 组织 实体继承的服务控制策略 (SCP) 允许的服务。SCP 是附加到根、OU 或账户的策略。其他策略类型允许的访问权限未包含在您的报告中。排除的策略类型包括基于身份的策略、基于资源的策略、访问控制列表、IAM 权限边界以及会话策略。要了解如何评估不同的策略类型以允许或拒绝访问,请参阅策略评估逻辑

  • 指定策略 ID – 在 组织 中使用 AWS CLI 或 AWS API 为上次访问的服务数据生成报告时,您可以选择指定策略 ID。生成的报告仅包含该策略允许的服务的数据。该数据包括指定的 组织 实体或其子实体中的最新账户活动。有关更多信息,请参阅 aws iam generate-organizations-access-reportGenerateOrganizationsAccessReport

  • 组织 主账户 – 您必须使用组织的主账户凭证登录才能查看上次访问的服务数据。您可以选择使用 IAM 控制台、AWS CLI 或 AWS API 查看主账户的数据。生成的报告列出所有 AWS 服务,因为主账户不受 SCP 限制。如果在 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 请求可能会返回空数据集或空字段。在这些情况下,请检查以下问题:

  • 对于 IAM 用户,请确保该用户直接或通过组成员资格附加了至少一个内联或托管策略。

  • 对于 IAM 组,请确认该组附加了至少一个内联或托管策略。

  • 对于 IAM 组,该报告仅返回使用组的策略访问服务的成员的上次访问的服务数据。要了解成员是否使用了其他策略,请查看该用户的上次访问的服务数据。

  • 对于 IAM 角色,请确认该角色附加了至少一个内联或托管策略。

  • 对于 IAM 实体(用户或角色),请检查可能影响该实体的权限的其他策略类型。其中包含基于资源的策略、访问控制列表、AWS Organizations 策略、IAM 权限边界或会话策略。有关更多信息,请参阅 策略类型评估单个账户中的策略

  • 对于 IAM 策略,请确保指定的托管策略附加到至少一个用户、具有成员的组或角色。

  • 对于 组织 实体(根、OU 或账户),请确保您使用 组织 主账户凭证登录。

  • 确认在组织根中启用了 SCP

在进行更改时,请等待至少四小时,以便在 IAM 控制台报告中显示活动。如果您使用 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-west-3 2017 年 12 月 18 日
南美洲(圣保罗) sa-east-1 2015 年 12 月 11 日

如果在上表中未列出某个区域,则表明该区域尚未提供上次访问的服务数据。