关于Amazon Web Services:是否可以在用户和EC2实例角色之间重用AWS IAM权限策略?

Is there a way to reuse AWS IAM permissions policy across users and EC2 instance roles?

我开始使用AWS IAM实例角色,这对于升级我们的安全管理非常有用,但是在保持轻量级开发流程方面却增加了一些挑战。

眼前的问题是:

  • 我定义一个AWS实例角色,并将安全策略附加到该角色。该策略指定授予在该角色下启动的新EC2实例的权限,这是一个冗长而复杂的json文档,其规则包括"允许访问S3存储桶x"和"拒绝访问SQS y "。这在EC2上效果很好。

  • 接下来,我想让开发人员在IDE中进行本地开发时,在其本地机器上运行我们的代码,并使用与之前定义的完全相同的安全策略。当开发人员生成新代码时,这很重要,因为我希望他们在WRT中对其进行测试以使其与在生产环境中运行时使用的安全策略完全相同。如果它们使用不同的安全策略运行,则可能会出现问题。

  • 问题是我还没有找到一种方法来做到这一点。可以定义IAM组,并将开发人员加入组中(例如" developers "组)。在该组中,我可以定义一个适用于该组中所有开发人员的IAM安全策略。但是(我发现)无法在实例角色的上下文中重用附加到组的策略。或在组的上下文中使用附加到角色的策略。 (我完全想念这个吗?...)

  • 总而言之,我想要的是:1)一次定义一个安全策略文档。 2)在两个地方重用此文档,一个是在IAM实例角色定义中,另一个是IAM组。

  • 无法执行此操作意味着我必须为每种服务类型(而且我们有很多此类服务)和每种环境维护一个复杂的JSON文档的两个副本(该版本已超出版本控制)。例如舞台/产品)。我可以很容易地看到这是如何成为维护噩梦的。

到目前为止,我想到的最好的办法可能是在版本控制下将策略文档存储在磁盘上,并编写一个使用aws api将策略文档上载到实例角色和组的工具。这有点麻烦,所以我希望多一点敏捷性。

您对我有更好的建议吗?...谢谢!


n


更新

AWS刚刚引入了AWS Identity的托管策略