是否有工具可以告诉我创建Cloudformation模板所需的权限?

时间:2019-05-06 11:35:10

标签: permissions amazon-cloudformation

我的团队正在努力使我们的服务及其基础架构模板化。

我们发现,确定执行或更新给定Cloudformation模板所需的权限集非常耗时。我们的过程是:

  1. 创建具有权限cloudformation:CreateStack和/或cloudformation:UpdateStack的用户
  2. 让该用户尝试创建/更新指定的堆栈
  3. 观察缺少的权限导致堆栈操作失败
  4. 将该权限添加到用户
  5. 转到2。

替代方法是创建一个具有无限权限的“上帝用户”,并让该用户执行创建/更新-这似乎违反了Principle Of Least Privilege

或者,是否有工具可以列出“给定用户在过去N分钟内行使了哪些权限?”。如果存在这样的工具,我们可以创建“上帝用户”,让他们执行模板,然后创建一个范围更广的用户,该用户恰好具有上帝用户使用的权限。

1 个答案:

答案 0 :(得分:1)

没有简单的方法/工具来执行此操作。

您可以尝试以下两种方法-

  1. 使用具有管理员权限的用户创建堆栈。完成后,等待15-20分钟以使CloudTrail填充。现在,在CloudTrail中列出“事件源”-“ cloudformation.amazonaws.com”进行的API调用。那应该大致是所有需要的API调用。当您继续向资源中添加功能时,可能需要进行一些其他操作才能进行其他操作。同样,您将需要以这种方式解决这一问题。

  2. 创建一个CFN service role,并为此角色添加管理员权限。使用此角色创建/更新/删除堆栈。仅允许IAM用户iam:PassRole和cloudformation:*。但是,用户将可以使用CFN创建不同的资源。

  3. 使用服务目录并创建产品。服务目录产品是CFN模板,可以由特定用户/角色/组启动。用户不需要权限来创建/修改堆栈/产品中的资源。最终用户也无法更改产品以添加更多资源。这是一段介绍这些内容的精彩视频:https://www.youtube.com/watch?v=A9kKy6WhqVA

希望这对您有帮助...