亚马逊AWS官方博客

利用 AWS Identity and Access Management (IAM) Access Analyzer 识别意外的资源访问权限

今天,我要跟大家分享我最喜欢的一种公告。也就是说,能为几乎所有基于 AWS 构建产品或服务的人带来更可靠的安全性,并且几乎无需任何配置就能启用,不会产生任何使用费用。我们将推出一项同类首创的新功能,称为 AWS Identity and Access Management (IAM) Access AnalyzerIAM Access Analyzer 从数学角度分析附加到资源的访问权限控制策略,并确定可以公开或者通过其他账户访问哪些资源。它会持续监控 Amazon Simple Storage Service (S3) 存储桶、IAM 角色、AWS Key Management Service (KMS) 密钥、AWS Lambda 函数和 Amazon Simple Queue Service (SQS) 队列的所有策略。使用 IAM Access Analyzer,您可以查看访问权限控制的整体影响,从而确信自己的资源受到妥善保护,不会受到来自账户外部的意外访问。

我们来看几个例子。IAM Access Analyzer 的发现结果可能指明,从源 IP 11.0.0.0/15 发起的 ID 为 123456789012 的 AWS 账户可以访问名为 my-bucket-1 的 S3 存储桶。或者,IAM Access Analyzer 可能会检测到 KMS 密钥策略,该策略允许另一个账户下的用户删除密钥,从而确定可以通过调整策略解决的数据丢失风险。如果发现结果显示目标访问路径,则可以将其存档。

它的工作原理是什么? 如果要亲自动手去使用这种数学运算,感觉就像是噩梦里毫无准备的期末数学考试,IAM Access Analyzer 会评估您的政策,帮您确定如何访问给定资源。至关重要的是,这种分析并非基于历史事件、模式匹配或暴力测试。与上述方式不同,IAM Access Analyzer 会从语义角度理解您的策略。所有可能的访问路径均已通过数学证明进行过验证,并且可以在几秒钟内分析成千上万的策略。这是使用一种称为自动推理的认知科学完成的。IAM Access Analyzer 是第一项由自动推理提供支持的服务,适用于世界各地的构建者,提供 AWS 独有的功能。要开始学习自动推理,我强烈建议观看这段简短的解释视频。如果您想要深入了解详情,请查看 AWS 自动推理组主管 Byron Cook 的有关自动推理的 re:Invent 演讲。如果您真的想要了解这种方法,不妨泡一杯安神的甘菊茶,盖上条毯子,舒服地细细阅读使用 SMT 的基于语义的 AWS 访问策略自动推理 (Semantic-based Automated Reasoning for AWS Access Policies using SMT)。

启用 IAM Access Analyzer 的难度当然要比噩梦里那种毫无准备的期末考试要低得多。整个过程只需要一步。在 IAM 控制台中,从左侧菜单中选择 Access Analyzer,然后单击创建分析器

创建 Access Analyzer

分析器会在创建分析器的账户中生成调查结果。分析器的工作范围也限于创建时定义的区域内,因此,对于您想要查看相应发现结果的每个区域,都应该创建一个分析器。

创建分析器后,显示可访问资源的结果将显示在控制台中。我的账户中有一些值得研究的发现,例如其他账户和联盟用户可以访问的 KMS 密钥和 IAM 角色。查看 Access Analyzer 发现结果

我将单击第一项发现结果,然后查看此 KMS 密钥的访问策略。

Access Analyzer 分析结果

从这里,我们可以看到开放的访问路径以及有关资源和主体的详细信息。我转到 KMS 控制台并确认这确实是预期的访问权限,因此我将这一特殊发现结果存档。

所有 IAM Access Analyzer 发现结果均可在 IAM 控制台内查看,还可以使用 IAM Access Analyzer API 访问。您可以在 S3 控制台中直接查看与 S3 存储桶相关的发现结果。然后可以在 S3 控制台中立即更新存储桶策略,从而关闭开放的访问路径。

S3 中的 Access Analyzer 发现结果

您还可以在 AWS Security Hub 中查看 IAM Access Analyzer 生成的高优先级发现结果,从而确保您注重合规性和安全性的团队成员能够获得全面、单一的事实来源。IAM Access Analyzer 还集成了 CloudWatch Events,通过使用自定义规则,可以轻松自动响应或发送有关发现结果的警报。

现在,您已经了解了 IAM Access Analyzer 如何提供有关云资源访问权限的全面概述,何不立即转到 IAM 并启用这项功能。在云平台中构建产品或服务的最大优势之一是,随着时间的推移,基础设施和工具将不断加强,IAM Access Analyzer 就是一个很好的例子。我之前有没有提到过,它完全是免费的? 启动它,然后给我发送一条推文,分享您发现的一些有趣结果。与往常一样,祝大家能顺利愉快地构建自己的产品和服务!

– Brandon