首页 文章

用于cloudformation的AWS IAM策略的最小权限

提问于
浏览
4

对于小型CloudFormation和CodePipeline模板,我们可以“尝试 - 测试”以获得所需角色的最低权限IAM策略 .

这通常涉及:

  • 从最小的政策开始

  • 创建堆栈

  • 它失败了 - stack没有someService的权限:someAction

  • 将服务操作添加到策略

  • 更新堆栈,然后重试

对于较大的CloudFormation模板,此方法过于耗时 .
你是如何发展 Least Privilege IAM Policies 的?

思路:

  • 允许“*”然后刮取cloudtrail以查找事件并将列出的事件的 Map 构建为其等效角色 - 然后将角色减少到仅仅列在cloudtrail日志中的角色 .

  • 如果您可以将操作隔离到用户名,这会有所帮助

  • https://github.com/byu-oit-appdev/aws-cloudwatch-parse

  • Access Advisor

1 回答

  • 3

    Grant least privilege是一个有据可查的IAM Best Practice . 文档建议逐步添加特定权限,使用Access Advisor选项卡确定应用程序实际使用哪些服务(可能在测试阶段使用更广泛的权限集):

    从最小的权限集开始并根据需要授予其他权限更安全,而不是从过于宽松的权限开始,然后尝试收紧它们 . 定义正确的权限集需要进行一些研究,以确定特定任务所需的内容,特定服务支持的操作以及执行这些操作所需的权限 . 可以帮助解决此问题的一个功能是Access Advisor选项卡,只要您检查用户,组,角色或策略,就可以在IAM控制台“摘要”页面上找到该选项卡 . 此选项卡包含有关用户,组,角色或使用策略的任何人实际使用哪些服务的信息 . 您可以使用此信息来标识不必要的权限,以便您可以优化IAM策略以更好地遵循最小权限原则 . 有关更多信息,请参阅服务上次访问数据 .

    此方法类似于为特定IAM角色/应用程序生成的API事件抓取CloudTrail,尽管后者可能更难以过滤整个事件流以查找相关事件,而Access Advisor列表已经过滤您 .

相关问题