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

2019 年 12 月 12 日

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

今天,我要跟大家分享我最喜欢的一种公告。也就是说,能为几乎所有基于 AWS 构建产品或服务的人带来更可靠的安全性,并且几乎无需任何配置就能启用,不会产生任何使用费用。我们将推出一项同类首创的新功能,称为 AWS Identity and Access Management (IAM) Access Analyzer。IAM 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 就是一个很好的例子。我之前有没有提到过,它完全是免费的? 启动它,然后给我发送一条推文,分享您发现的一些有趣结果。与往常一样,祝大家能顺利愉快地构建自己的产品和服务!


本文转载自 AWS 技术博客。


原文链接:https://amazonaws-china.com/cn/blogs/china/identify-unintended-resource-access-with-aws-identity-and-access-management-iam-access-analyzer/


2019 年 12 月 12 日 13:50236

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布
暂无评论
发现更多内容

【思考】-产品等级与市场定位匹配

superman

定位 产品定位

一个典型的大型互联网应用系统使用了哪些技术方案和手段(作业)

互金从业者X

系统结构:作业

行下一首歌

极客大学架构师训练营

谈一谈年终奖中的那些坑

张小方

程序员 面试 offer 薪资 年终奖

揭秘金山云云游戏PaaS服务平台背后的视频编码技术

Geek_116789

点赞功能,你用 MySQL 还是 Redis ?

Java小咖秀

MySQL redis 分布式 分布式系统 经验

一文读懂 TypeScript 泛型及应用

阿宝哥

Java typescript 前端

聊一聊 HashMap

江城子

Java hashmap

如何构建你自己的 JVM (2) HelloWorld

孤星可

Java JVM 深入理解JVM

Redis系列(四):天天用着Redis集群,主从同步该知道吧?集群工作原理是否需要了解下?

z小赵

Java redis 高并发 高并发系统设计

架构师训练营第四周感悟

张锐

极客大学

week 04 作业

Safufu

分布式系统架构学习总结(第四周)

~就这样~

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十四)编写测试-内建扩展

编程道与术

Java 编程 TDD 单元测试 JUnit

架构训练营 0 期总结 -- 第四周

互金从业者X

区块链系列教程之:比特币中的共识

程序那些事

比特币 区块链 共识与信任 分叉

架构师训练营总结 -4

River Tree

学习 极客大学架构师训练营

中国人口红利将转化成工程师红利,但是这到底是谁的红利?是程序员的悲哀还是无奈?

非著名程序员

程序员 程序员人生 工程师 工程师红利 无代码开发

k8s 上运行我们的 springboot 服务之——flume同步数据到到clickHouse

柠檬

k8s log Clickhouse SpringBoot 2

week 04 总结

Safufu

架构师训练营 第四周 学习总结

亮灯

从0-1学习项目方案设计

赵孔磊

关于系统架构学习总结

imicode

Homework- 典型的大型互联网应用系统

River Tree

Homework 大型互联网应用系统

架构师训练营第4周作业

aoeiuvzcs

一文彻底掌握二叉查找树(多组动图)

淡蓝色

Java 数据结构 算法

ARTS 第 4 周

乌拉里

慧点OA转战政企市场,钉钉们羡慕么?

人称T客

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

~就这样~

系统架构知识总结

史慧君

环信荣登36氪WISE2020企服金榜-智能客服榜首

DT极客

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