Cloudformation 的最低权限 AWS IAM 策略
Posted
技术标签:
【中文标题】Cloudformation 的最低权限 AWS IAM 策略【英文标题】:Least privilege AWS IAM policy for cloudformation 【发布时间】:2017-06-09 11:41:15 【问题描述】:对于小型 CloudFormation 和 CodePipeline 模板,我们可以“尝试 - 测试”以获得所需角色的最低权限 IAM 策略。
这通常涉及:
从最低限度的政策开始 创建堆栈 失败 - 堆栈没有权限访问 someService:someAction 将服务操作添加到策略中 更新堆栈并重试这种方法对于较大的 CloudFormation 模板来说太耗时了。 您如何制定最低权限 IAM 政策?
想法:
允许“*”,然后从 cloudtrail 中抓取事件,并为列出的事件构建映射到其等效角色 - 然后将角色减少到仅在 cloudtrail 日志中列出的角色。
如果您可以将操作隔离到用户名,这会有所帮助
https://github.com/byu-oit-appdev/aws-cloudwatch-parse
访问顾问
【问题讨论】:
也许这有帮助:***.com/questions/51596254/… 【参考方案1】:Grant least privilege 是一个有据可查的IAM Best Practice。文档建议逐步添加特定权限,使用Access Advisor 选项卡来确定应用程序实际使用了哪些服务(可能在测试阶段使用更广泛的权限集):
从最小的权限集开始并根据需要授予额外的权限更安全,而不是从过于宽松的权限开始,然后尝试收紧它们。
定义正确的权限集需要进行一些研究,以确定特定任务所需的内容、特定服务支持的操作以及执行这些操作所需的权限。
Access Advisor 选项卡可以对此有所帮助,只要您检查用户、组、角色或策略,您就可以在 IAM 控制台摘要页面上使用该选项卡。此选项卡包含有关用户、组、角色或使用策略的任何人实际使用哪些服务的信息。您可以使用此信息来识别不必要的权限,以便您可以优化您的 IAM 策略以更好地遵守最小权限原则。如需更多信息,请参阅Service Last Accessed Data。
这种方法类似于为特定 IAM 角色/应用程序生成的 API 事件抓取 CloudTrail,但后者可能更难以过滤整个事件流以查找相关事件,而 Access Advisor 列表是已为您过滤。
【讨论】:
以上是关于Cloudformation 的最低权限 AWS IAM 策略的主要内容,如果未能解决你的问题,请参考以下文章
如何从无服务器 cli 设置 Cloudformation 完全访问权限
AWS学习笔记--利用CloudFormation管理AWS资源
AWS - 如何使用 CDK/CloudFormation 将服务链接角色传递给自动缩放组?