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

这通常涉及:

  • 从最小策略开始
  • 创建堆栈
  • 失败,-堆栈没有someService:someAction
  • 的权限
  • 将服务操作添加到策略
  • 更新堆栈,然后重试

  • 对于较大的CloudFormation模板,此方法太耗时。
    您如何开发最低权限IAM策略

    想法:
  • 允许使用“*”,然后为事件抓取cloudtrail并为列出的事件构建映射到其等效角色-然后将角色减少为仅在cloudtrail日志中列出的角色。
  • 如果您可以将操作隔离到一个用户名,则可以帮助
  • https://github.com/byu-oit-appdev/aws-cloudwatch-parse
  • 访问顾问
  • 最佳答案

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

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

    07-24 09:38
    查看更多