You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda函数部署失败:需配置何种CloudFormation权限策略?

解决Serverless部署时的CloudFormation权限问题

嘿,这个问题我碰到过好几次了——Serverless Framework底层依赖CloudFormation来编排你的Lambda和相关资源,所以当你跑serverless deploy时,它会尝试更新对应的CloudFormation栈,而你的IAM用户刚好缺了cloudformation:UpdateStack权限,这才报了错。

下面给你两种权限配置方案,按需选择:

最小权限策略(推荐生产环境)

如果你想遵循最小权限原则,可以精准限定权限到报错里的那个CloudFormation栈ARN,同时补充部署流程必需的配套权限:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:UpdateStack",
                "cloudformation:DescribeStacks",
                "cloudformation:DescribeStackEvents",
                "cloudformation:GetTemplate"
            ],
            "Resource": "arn:aws:cloudformation:ap-south-1:你的AWS账号ID:stack/你的Serverless栈名/*"
        },
        // Lambda相关操作权限,根据你的服务调整
        {
            "Effect": "Allow",
            "Action": [
                "lambda:CreateFunction",
                "lambda:UpdateFunctionCode",
                "lambda:UpdateFunctionConfiguration",
                "lambda:GetFunction"
            ],
            "Resource": "arn:aws:lambda:ap-south-1:你的AWS账号ID:function:你的Lambda函数名*"
        },
        // Serverless创建/更新IAM执行角色所需权限
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole",
                "iam:GetRole",
                "iam:CreateRole",
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy"
            ],
            "Resource": "arn:aws:iam::你的AWS账号ID:role/你的Serverless执行角色名*"
        }
    ]
}

通用权限策略(适合开发环境)

如果是开发环境,不想太细粒度地配置,可以用更宽泛的权限(生产环境严禁使用):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:*",
                "lambda:*",
                "iam:PassRole",
                "iam:GetRole",
                "iam:CreateRole",
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy"
            ],
            "Resource": "*"
        }
    ]
}

额外提醒

  • 记得把策略里的你的AWS账号ID、你的Serverless栈名等占位符替换成实际值。
  • 如果是首次部署(之前没创建过这个CloudFormation栈),还要加上cloudformation:CreateStack权限,否则会触发类似的权限报错。
  • AWS托管的AWSLambdaFullAccess和CloudFormationFullAccess策略也能解决问题,但权限过于宽泛,只适合临时测试用。

内容的提问来源于stack exchange,提问作者Dnyanesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:05:18