拥有LambdaFullAccess仍无法创建Python函数,需补充哪些AWS权限?
LambdaFullAccess权限不足以完成全量Lambda操作?创建示例函数的IAM权限问题
是的,LambdaFullAccess权限策略不足以覆盖所有Lambda相关操作——你遇到的报错就是典型情况:当在控制台创建Python示例函数时,Lambda会自动尝试为函数创建关联的IAM执行角色(即报错里的service-role/testPython-role),而这个创建角色的动作属于IAM服务的操作,不在LambdaFullAccess的权限范围内。
解决办法
你有三种选择来实现无阻碍使用Lambda:
1. 最小权限方案(推荐,遵循AWS最佳实践)
创建一个自定义IAM策略,仅授予创建和配置Lambda执行角色所需的必要权限,示例策略内容如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:AttachRolePolicy", "iam:PassRole" ], "Resource": "arn:aws:iam::642045430519:role/service-role/*" } ] }
将这个自定义策略附加到你的IAM用户/身份上,既能允许Lambda自动创建所需的执行角色,又遵循了最小权限原则。
2. 快速测试方案(仅适合学习/测试环境)
直接为用户附加IAMFullAccess策略——这个策略会授予所有IAM操作权限,能快速解决问题,但权限过于宽泛,绝对不要在生产环境使用。
3. 绕开自动创建角色的方式
如果你不想额外添加IAM权限,可以手动提前创建好Lambda执行角色:
- 登录IAM控制台,创建新角色,选择Lambda作为可信实体
- 为角色附加
AWSLambdaBasicExecutionRole策略(用于日志输出等基础操作) - 在创建Lambda函数时,选择“使用现有角色”,指定你手动创建的这个角色
这样仅用LambdaFullAccess就能完成函数创建。
内容的提问来源于stack exchange,提问作者JAMSHAID
相关产品推荐
相关产品推荐

