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

时间:2017-01-24 15:36:23

标签: amazon-web-services amazon-iam amazon-cloudformation aws-codepipeline

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

这通常涉及:

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

对于较大的CloudFormation模板,此方法过于耗时 您是如何开发最低权限IAM政策的?

思路:

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

  • Access Advisor

1 个答案:

答案 0 :(得分:3)

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

  

以最小的权限集开始并根据需要授予其他权限更安全,而不是从过于宽松的权限开始,然后尝试收紧它们。

     

定义正确的权限集需要进行一些研究,以确定特定任务所需的内容,特定服务支持的操作以及执行这些操作所需的权限。

     

可以提供帮助的一项功能是Access Advisor标签,只要您检查用户,组,角色或策略,就可以在IAM控制台摘要页上找到该标签。此选项卡包含有关用户,组,角色或使用策略的任何人实际使用哪些服务的信息。您可以使用此信息来标识不必要的权限,以便您可以优化IAM策略以更好地遵循最小权限原则。有关详细信息,请参阅Service Last Accessed Data

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

相关问题