Root用户操作Lambda函数遇UnknownError及403 Forbidden问题求助
排查Root用户操作Lambda时的403 Forbidden错误
1. 检查AWS Organizations服务控制策略(SCP)
如果你的账户是AWS Organizations的成员账户,Root用户权限会被组织级SCP限制:
- 登录Organizations管理账户,查看是否存在针对Lambda的
Deny策略,比如禁止lambda:DeleteFunction或lambda:CreateFunction动作 - 确认该SCP是否应用到了你的账户所在的组织单元(OU)
2. 验证账户级服务控制策略
即使不在Organizations中,部分通过AWS Control Tower等工具创建的账户,可能会有账户级SCP限制Root权限,检查是否有相关Deny规则。
3. 检查Root用户的IAM权限边界
虽然Root用户默认无权限边界,但如果被手动附加了权限边界策略,可能导致操作受限:
- 进入IAM控制台,查看Root用户详情,确认是否有附加的权限边界,检查策略是否允许Lambda相关操作
4. 确认区域服务启用状态
- 检查账户在
us-east-1区域是否禁用了Lambda服务 - 查看AWS账户设置中的区域限制,确认该区域允许使用Lambda
5. 检查Lambda函数的资源策略
目标Lambda函数的资源策略可能拒绝了Root用户的访问:
- 进入Lambda控制台,找到目标函数,在配置标签下查看资源策略,确认是否存在阻止Root用户执行删除/创建动作的Deny规则
6. 测试会话与CLI请求
- 退出控制台,清除浏览器缓存和Cookie后重新登录Root账户重试
- 使用AWS CLI执行命令测试,获取更明确的错误信息:
aws lambda delete-function --function-name my-func-name --region us-east-1
7. 排查WAF或网络策略拦截
- 检查与Lambda API关联的AWS WAF规则,确认是否有拦截DELETE/POST请求的规则
- 如果使用VPC端点访问Lambda,检查端点策略是否限制了Root用户的操作
内容的提问来源于stack exchange,提问作者sadnessOjisan
相关产品推荐
相关产品推荐

