【问题标题】:Least privilege AWS IAM policy for cloudformationCloudformation 的最低权限 AWS IAM 策略
【发布时间】:2017-06-09 11:41:15
【问题描述】:
对于小型 CloudFormation 和 CodePipeline 模板,我们可以“尝试 - 测试”以获得所需角色的最低权限 IAM 策略。
这通常涉及:
- 从最低限度的政策开始
- 创建堆栈
- 失败 - 堆栈没有权限访问 someService:someAction
- 将服务操作添加到策略中
- 更新堆栈并重试
这种方法对于较大的 CloudFormation 模板来说太耗时了。
您如何制定最低权限 IAM 政策?
想法:
【问题讨论】:
标签:
amazon-web-services
amazon-iam
amazon-cloudformation
aws-codepipeline
【解决方案1】:
Grant least privilege 是一个有据可查的IAM Best Practice。文档建议逐步添加特定权限,使用Access Advisor 选项卡来确定应用程序实际使用了哪些服务(可能在测试阶段使用更广泛的权限集):
从最小的权限集开始并根据需要授予额外的权限更安全,而不是从过于宽松的权限开始,然后尝试收紧它们。
定义正确的权限集需要进行一些研究,以确定特定任务所需的内容、特定服务支持的操作以及执行这些操作所需的权限。
Access Advisor 选项卡可以对此有所帮助,只要您检查用户、组、角色或策略,您就可以在 IAM 控制台摘要页面上使用该选项卡。此选项卡包含有关用户、组、角色或使用策略的任何人实际使用哪些服务的信息。您可以使用此信息来识别不必要的权限,以便您可以优化您的 IAM 策略以更好地遵守最小权限原则。如需更多信息,请参阅Service Last Accessed Data。
这种方法类似于为特定 IAM 角色/应用程序生成的 API 事件抓取 CloudTrail,但后者可能更难以过滤整个事件流以查找相关事件,而 Access Advisor 列表是已为您过滤。