首页 > 解决方案 > IAM 用户创建 lambda 函数的权限

问题描述

提前感谢您的帮助!

因此,作为 root 用户,我能够设置 IAM 角色并使用它来创建和运行 lambda 函数。但是,我希望我的组织中的用户能够做到这一点。因此,我设置了一些 IAM 用户并为他们分配了以下权限:

在此处输入图像描述 但是,当我以 IAM 用户身份登录 AWS 时,我似乎对创建角色/策略等(创建 lambda 函数所需的)无能为力。我收到以下错误:

用户:arn:aws:iam:::user/xxxxx 无权在资源上执行:iam:GetAccountSummary。

但我给用户 IAMFullAccess。这样做的正确方法是什么?

标签: amazon-web-servicesaws-lambdaamazon-iam

解决方案


首先,要非常小心地为用户分配对服务的“完全”访问权限。

通过您分配的这些权限,您的用户将能够:

  • 删除所有 RDS 数据库
  • 终止所有 EC2 实例
  • 删除所有 CodeCommit 存储库
  • 删除所有 Lambda 函数
  • 删除所有 IAM 用户(包括您的登录名!)
  • 授予自己对您的 AWS 账户执行任何操作的权限!

最佳实践方法是系统管理员创建 IAM 角色以供 Lambda 函数使用,然后对其进行审查以确认它没有提供过多的权限。然后,他们将授予特定用户权限,以便能够将角色分配给 Lambda 函数。我认为没有理由为他们分配所有这些权限(例如 RDS、EC2)只是为了编写一个 Lambda 函数。

其次,如果您希望将权限分配给多个 IAM 用户,最好将权限分配给一个IAM Group,然后将该组与每个用户相关联。这样,您可以在一个位置调整权限,而不必单独对每个用户进行调整。

至于您收到错误的原因,可能是通过更高级别账户的AWS Organizations规则对您的账户进行了限制。否则,您似乎分配了相当大的权限,不应该收到此错误。


推荐阅读