允许Lambda访问无服务器配置中的特定s3存储桶

Sni*_*r03 3 amazon-s3 amazon-web-services aws-lambda amazon-policy serverless

如何允许特定的lambda访问serverless.yml中的特定s3存储桶?

例如,我正在使用无服务器将文件上传功能移植到lambda。要将文件上传到特定的s3存储桶,我需要允许lambda访问该s3存储桶。如何在serverless.yml中执行此操作?

Joh*_*ein 8

无服务器架构- AWS LAMBDA指南- IAM

要为该服务范围的角色添加特定权限,请定义provider.iamRoleStatements将合并到生成的策略中的语句。

service: new-service

provider:
  name: aws
  iamRoleStatements:
    -  Effect: "Allow"
       Action:
         - "s3:PutObject"
       Resource:
         Fn::Join:
           - ""
           - - "arn:aws:s3:::"
             - Ref: ServerlessDeploymentBucket
Run Code Online (Sandbox Code Playgroud)

  • 它可以是对模板中其他位置创建的存储桶的引用,也可以是现有存储桶的ARN(例如arn:aws:s3 ::: my-bucket)。 (3认同)