了解 IAM Access Analyzer 调查发现的工作原理
本主题介绍了 IAM Access Analyzer 中用于帮助您熟悉访问分析器如何监控对 AWS 资源的访问的概念和术语。
外部访问调查发现
对于在信任区域之外共享的每个资源实例,仅生成一次外部访问调查发现。每当修改基于资源的策略时,IAM Access Analyzer 都会分析策略。如果更新的策略共享结果中已标识的资源,但具有不同的权限或条件,则会为该资源共享实例生成新结果。如果第一个调查发现中的访问被删除,则该调查发现的状态将更新为已解决。
所有调查发现保持活动状态,直到您将其存档或删除生成调查发现的访问。在删除访问时,调查发现状态将更新为已解决。
注意
修改策略后,IAM Access Analyzer 可能需要 30 分钟来分析资源,然后更新外部访问调查发现。资源控制策略(RCP)更改不会触发对调查发现中报告的资源进行重新扫描。IAM Access Analyzer 会在下一个定期扫描期间(24 小时内)分析新策略或更新后的策略。
IAM Access Analyzer 如何生成外部访问的调查发现
AWS Identity and Access Management Access Analyzer 使用一种名为 Zelkova
Zelkova 将 IAM 策略转换为等效逻辑语句,并通过一套通用和专用逻辑求解器(可满足性模理论)运行它们。IAM Access Analyzer 反复将 Zelkova 应用于策略,使用越来越具体的查询来根据策略内容表征策略允许的访问类型。有关可满足性模理论的更多信息,请参阅可满足性模理论
对于外部访问分析器,IAM Access Analyzer 不会检查访问日志来确定外部实体是否实际访问了您信任区域内的资源。相反,当基于资源的策略允许访问资源时,它会生成调查发现,无论该资源是否被外部实体访问。
此外,IAM Access Analyzer 在做出决定时不会考虑任何外部账户的状态。如果其指示账户 111122223333 可以访问您的 Amazon S3 存储桶,则它没有有关该账户中的用户、角色、服务控制策略(SCP)或其他相关配置的任何信息。这是为了保护客户隐私,因为 IAM Access Analyzer 不知道谁拥有其他账户。这也是为了安全起见,因为即使当前没有可以使用它的活跃主体,了解潜在的外部访问也很重要。
IAM Access Analyzer 仅考虑外部用户不能直接影响的或对授权有影响的某些 IAM 条件键。有关 IAM Access Analyzer 考虑的条件键的示例,请参阅 IAM Access Analyzer 筛选条件键。
IAM Access Analyzer 当前不会报告来自 AWS 服务 主体或内部服务账户的调查发现。在极少数情况下,它无法完全确定策略语句是否授予对外部实体的访问权限,它会错误地声明一个假阳性结果。这是因为 IAM Access Analyzer 旨在提供您账户中资源共享的全面视图,并减少假阴性结果。
未使用的访问调查发现
根据创建分析器时指定的天数,为选定账户或组织内的 IAM 实体生成未使用的访问调查发现。如果满足以下条件之一,则分析器下次扫描实体时会生成新的调查发现:
-
角色在指定的天数内处于非活动状态。
-
未使用的权限、未使用的用户密码或未使用的用户访问密钥超过指定的天数。
注意
未使用的访问调查发现只能通过 ListFindingsV2 API 操作获得。
IAM Access Analyzer 如何生成未使用访问的调查发现
若要分析未使用访问,即使您已经创建了分析器来为资源生成外部访问调查发现,也必须为角色创建一个单独的未使用访问调查发现分析器。
创建未使用访问分析器后,IAM Access Analyzer 会查看访问活动来识别未使用访问。IAM Access Analyzer 会检查 AWS 组织和账户中所有角色、用户访问密钥和用户密码的上次访问信息。这可以帮助识别未使用访问。
对于活跃的 IAM 角色和用户,IAM Access Analyzer 使用 IAM 服务和操作的上次访问信息来识别未使用的权限。这样,您就可以在 AWS 组织和账户级别扩展审查过程。您还可以使用上次访问的操作信息来深入调查各个角色。这样可更精细地了解哪些特定权限未被利用。
通过创建专用于未使用访问的分析器,您可以全面查看和识别 AWS 环境中的未使用访问,从而补充现有外部访问分析器生成的调查结果。