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

创建含DynamoDB与S3的Lambda函数时遇IamRoleLambdaExecution错误

问题解决:Lambda部署时IAM策略文档格式错误

错误原因

你的IAM角色策略里的Action字段存在格式问题:s3*不符合AWS IAM策略规范,正确的服务操作格式必须是「服务前缀:操作」的形式,通配符需放在冒号之后,比如s3:*。

修正后的serverless.yaml配置

将原配置中Action列表里的s3*替换为具体需要的S3操作(遵循最小权限原则),或者使用正确的通配符写法:

service: serverless-gpt-app

frameworkVersion: "3"

provider:
  name: aws
  stage: prod
  region: eu-central-1
  runtime: nodejs14.x
  memorySize: 256

  iam:
    role:
      statements:
        - Effect: Allow
          Action:
            - dynamodb:DescribeTable
            - dynamodb:Query
            - dynamodb:Scan
            - dynamodb:GetItem
            - dynamodb:PutItem
            - dynamodb:UpdateItem
            - dynamodb:DeleteItem
            # 替换错误的s3*为实际需要的S3操作,示例为常用读写删权限
            - s3:GetObject
            - s3:PutObject
            - s3:DeleteObject
          Resource:
            - arn:aws:s3:::user-text-bucket/*
            - arn:aws:dynamodb:eu-central-1:183747912409:table/user-text


functions:
  hello:
    handler: app.server
    events: # events trigger lambda functions
      - http: # this is an API Gateway HTTP event trigger
          path: /
          method: ANY
          cors: true
      - http: # all routes get proxied to the Express router
          path: /{proxy+}
          method: ANY
          cors: true

补充说明

如果确实需要授予该S3桶的全量操作权限,可写成s3:*,但从安全角度建议只添加Lambda实际用到的操作,避免过度授权。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 08:25:19