【问题标题】:AWS IAM role creation for serverless framework - Best Practice为无服务器框架创建 AWS IAM 角色 - 最佳实践
【发布时间】:2020-02-10 05:16:11
【问题描述】:

我在公司管理 AWS 安全。

默认情况下,我们不向开发人员提供 IAM 角色创建权限。

但问题来了,对于使用无服务器框架部署工作负载的开发人员,我们应该如何处理?

我们是否应该允许他们创建 IAM 角色并使用无服务器框架来管理这些角色的权限?或者我们应该为此预先创建自定义角色并要求开发人员在serverless.yml 中使用该角色 ARN,还是应该使用 IAM 权限边界?

有人可以帮忙吗?

【问题讨论】:

    标签: amazon-web-services serverless-framework


    【解决方案1】:

    定制无服务器所需的权限真的很难。在我看来,开发人员至少应该拥有完全的 AWS 访问权限来测试环境,以便学习和实验。如果您担心生产资源的意外损坏,您只能通过 CICD 工具对生产进行更改。您可能仍需要临时授予开发人员执行初始配置的权限。

    【讨论】:

    • 感谢@Arunmainthan,由于内部政策,我们甚至无法提供对开发环境的完全访问权限,因为我们从安全角度将开发环境视为生产环境。
    • 查看 David Przybilla link.medium.com/KxQz953xV1 的“无服务器框架:最小 IAM 角色权限”。我自己没试过。
    【解决方案2】:

    您想要做的是使用 AWS 提供的 Permissions Boundary 功能。借助此功能,开发人员/无服务器堆栈将拥有的有效权限是 IAM 角色和权限边界中定义的策略的intersection

    例如,假设您允许您的开发人员为 Lambda 函数创建 IAM 角色和策略。您还定义了仅具有 S3 读取访问权限的权限边界。现在,如果开发人员要使用 AdministratorAccess 策略创建具有 Lambda 权限的无服务器堆栈,他们将必须在角色中包含权限边界,并且您的 Lambda 函数将拥有的有效权限只是 S3 读取访问。

    有一个很好的 blog post 在 CloudFormation 中解释了这个实现,您可以修改它以使用无服务器模板。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-11-09
      • 1970-01-01
      • 2016-11-02
      • 2020-08-25
      • 1970-01-01
      • 1970-01-01
      • 2020-05-30
      • 2017-12-31
      • 2014-03-06
      相关资源
      最近更新 更多