AWS Lambda权限问题:部署s3-lambda-ffmpeg-mov-to-mp4-s3失败
解决AWS Lambda层访问权限报错(lambda:GetLayerVersion)
问题分析
报错显示你的root用户无法获取指定的ffmpeg Lambda层,核心原因是该层的资源策略未授权root用户执行lambda:GetLayerVersion操作。
解决方案
方法1:通过Lambda控制台添加层权限
- 登录AWS Lambda控制台,切换到
us-east-1区域(与报错中层的地域一致)。 - 左侧导航栏选择「Layers」,找到ARN为
arn:aws:lambda:us-east-1:xxxxx:layer:ffmpeg:4的目标层。 - 进入层详情页,切换到「Resource-based policy」标签页。
- 点击「Add permissions」,填写以下信息:
- Principal:输入你的root用户ARN(即
arn:aws:iam::*****:root) - Action:选择
lambda:GetLayerVersion - Statement ID:输入唯一标识(比如
AllowRootAccessFFmpegLayer)
- Principal:输入你的root用户ARN(即
- 点击「Save」完成配置。
方法2:通过AWS CLI添加层权限
执行以下命令(替换占位符为你的实际信息):
aws lambda add-layer-version-permission \ --layer-name ffmpeg \ --version-number 4 \ --principal arn:aws:iam::*****:root \ --action lambda:GetLayerVersion \ --statement-id AllowRootAccessFFmpegLayer \ --region us-east-1
额外说明
- 如果该ffmpeg层是第三方共享的,需联系层的所有者为你的AWS账号添加上述权限;如果是你自行创建的层,直接按上述步骤操作即可。
- 权限配置生效后,重新部署CloudFormation模板,转换任务即可正常执行。
内容的提问来源于stack exchange,提问作者Danny Freeman
相关产品推荐
相关产品推荐

