Allow lambda to access particular s3 bucket in serverless config

How can I allow specific lambda to access to a particular s3 bucket in the serverless.yml?

For example, I am porting file upload functionality to lambda by using serverless. To upload a file to a particular s3 bucket, I need to allow lambda to access to that s3 bucket. How can I do this in the serverless.yml?

Answers 1

  • From Serverless Framework - AWS Lambda Guide - IAM:

    To add specific rights to this service-wide Role, define statements in provider.iamRoleStatements which will be merged into the generated policy.

    service: new-service
    
    provider:
      name: aws
      iamRoleStatements:
        -  Effect: "Allow"
           Action:
             - "s3:PutObject"
           Resource:
             Fn::Join:
               - ""
               - - "arn:aws:s3:::"
                 - Ref: ServerlessDeploymentBucket
    

Related Articles