amazon-web-services - IAM 用户创建 lambda 函数的权限
问题描述
提前感谢您的帮助!
因此,作为 root 用户,我能够设置 IAM 角色并使用它来创建和运行 lambda 函数。但是,我希望我的组织中的用户能够做到这一点。因此,我设置了一些 IAM 用户并为他们分配了以下权限:
但是,当我以 IAM 用户身份登录 AWS 时,我似乎对创建角色/策略等(创建 lambda 函数所需的)无能为力。我收到以下错误:
用户:arn:aws:iam:::user/xxxxx 无权在资源上执行:iam:GetAccountSummary。
但我给用户 IAMFullAccess。这样做的正确方法是什么?
解决方案
首先,要非常小心地为用户分配对服务的“完全”访问权限。
通过您分配的这些权限,您的用户将能够:
- 删除所有 RDS 数据库
- 终止所有 EC2 实例
- 删除所有 CodeCommit 存储库
- 删除所有 Lambda 函数
- 删除所有 IAM 用户(包括您的登录名!)
- 授予自己对您的 AWS 账户执行任何操作的权限!
最佳实践方法是系统管理员创建 IAM 角色以供 Lambda 函数使用,然后对其进行审查以确认它没有提供过多的权限。然后,他们将授予特定用户权限,以便能够将角色分配给 Lambda 函数。我认为没有理由为他们分配所有这些权限(例如 RDS、EC2)只是为了编写一个 Lambda 函数。
其次,如果您希望将权限分配给多个 IAM 用户,最好将权限分配给一个IAM Group,然后将该组与每个用户相关联。这样,您可以在一个位置调整权限,而不必单独对每个用户进行调整。
至于您收到错误的原因,可能是通过更高级别账户的AWS Organizations规则对您的账户进行了限制。否则,您似乎分配了相当大的权限,不应该收到此错误。
推荐阅读
- python - 如何在 syslog.gz 中删除,同时使用 grep 查找行?- Linux
- python - 在 scikit-learn 中使用 DecisionTreeClassifier 修复 100% 准确率
- reactjs - 从哪里导入 Firebase 存储项目的类型参考 - React Typescript?
- c# - POST 数据空模型
- winforms - 没有为一个或多个必需参数提供值。查询中的错误是什么
- php - 在结帐过程中或购物车上动态更新费用“名称”
- javascript - 负前瞻 RegEx 限制为确切的字符数
- elixir - 在 config.exs 中解析整数和布尔可配置变量
- javascript - 如何配置 eslint 以对 Javascript 中的对象强制执行 Haskell/Elm 记录样式?
- django - 基于自定义 SQL 和自定义 Django 函数创建检查约束