如何为AWS IAM用户分配仅调用指定Lambda函数的权限?
为IAM用户分配仅调用特定Lambda函数的权限
完全可以,不需要使用AWSLambda_FullAccess这种过度授权的策略,你可以通过创建自定义IAM权限策略,精确限制该用户仅能调用指定的Lambda函数,遵循最小权限原则。
具体步骤:
创建自定义IAM策略
- 打开AWS IAM控制台,进入「策略」页面,点击「创建策略」
- 切换到「JSON」编辑模式,粘贴以下策略模板,替换占位符为你的实际信息:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:你的AWS区域ID:你的AWS账号ID:function:目标Lambda函数名称" } ] } - 关键说明:
Resource字段必须精确到目标Lambda函数的ARN,以此限定仅能操作该函数Action仅指定lambda:InvokeFunction,仅保留函数调用权限,无任何管理、修改类权限
将策略关联到目标IAM用户
- 进入IAM控制台的「用户」页面,找到需要配置的用户
- 切换到「权限」标签,点击「添加权限」→「附加现有策略直接」
- 搜索你刚创建的自定义策略,选中后完成关联
扩展场景:
如果需要让用户调用多个特定Lambda函数,只需在Resource中添加对应的ARN数组即可:
"Resource": [ "arn:aws:lambda:us-east-1:123456789012:function:Func1", "arn:aws:lambda:us-east-1:123456789012:function:Func2" ]
注意事项:
- 确保该用户没有被其他过度授权的策略(如
AWSLambda_FullAccess)关联,避免权限溢出 - 测试时可以用AWS CLI执行
aws lambda invoke --function-name 目标函数名 output.txt验证权限是否生效
内容的提问来源于stack exchange,提问作者Onat Girit
相关产品推荐
相关产品推荐

