# S3 Upload Permission Error

**URL:** https://forum.serverless.com/t/s3-upload-permission-error/13003
**Category:** Serverless Framework
**Tags:** lambda
**Created:** [November 3, 2020, 3:43pm UTC](https://forum.serverless.com/t/s3-upload-permission-error/13003 "2020-11-03T15:43:58Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![SamFrampton01](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.serverless.com/samframpton01/32/4668_2.png) [@SamFrampton01](https://forum.serverless.com/u/SamFrampton01)
#### Post date: [November 3, 2020, 3:43pm UTC](https://forum.serverless.com/t/s3-upload-permission-error/13003/1 "2020-11-03T15:43:59Z")

</div>

I’ve granted permission for all s3 actions but I still cannot copy the object. I can action other events such as ListObjects and GetObject with lambdas but not copy. I’m sure it’s a permission error. Please can someone help me figure out why?

```
 iamRoleStatements:
- Effect: Allow
  Action:
    - dynamodb:*
    - s3:*
    - s3:PutObject
    - s3:PutObjectAcl
    - s3:PutObjectTagging
    - sns:*
  Resource:
    - arn:aws:s3:::${self:custom.UploadSignalBucket.name}/*
    - arn:aws:dynamodb:#{AWS::Region}:#{AWS::AccountId}:table/SignalTable
    - arn:aws:dynamodb:#{AWS::Region}:#{AWS::AccountId}:table/HistoricalSignalTable
    - arn:aws:dynamodb:#{AWS::Region}:#{AWS::AccountId}:table/TaskScheduleTable
    - !Join ['/', ['${self:custom.SignalTable.arn}', 'index', 'launchScanStatus']]
    - !Join ['/', ['${self:custom.TaskScheduleTable.arn}', 'index', 'TaskStatus']]
    - arn:aws:s3:::${self:custom.SignalBucket.name}/*
    - arn:aws:sns:eu-west-1:616275124992:icp-enrichmentTopic
    - arn:aws:sns:eu-west-1:616275124992:icp-reIndex-topic
    - arn:aws:sns:eu-west-1:616275124992:icp-job-index
              
resources:
  Resources:
SignalTable: ${file(resources/SignalTable.yml):SignalTable}
HistoricalSignalTable: ${file(resources/HistoricalSignalTable.yml):HistoricalSignalTable}
SignalBucket: ${file(resources/SignalBucket.yml):SignalBucket}
UploadSignalBucket: ${file(resources/UploadSignalBucket.yml):UploadSignalBucket}
TaskScheduleTable: ${file(resources/TaskScheduleTable.yml):TaskScheduleTable}

```

s3 Resource:

```
UploadSignalBucket:
  Type: AWS::S3::Bucket
  Properties:
    # Set the CORS policy
    CorsConfiguration:
      CorsRules:
        -
          AllowedOrigins:
             - '*'
          AllowedHeaders:
            - '*'
          AllowedMethods:
            - GET
            - PUT
            - POST
            - DELETE
            - HEAD
          MaxAge: 3000

Outputs:
  UploadSignalBucketName:
    Value:
      Ref: UploadSignalBucket

```

My error message:

 ![Screenshot 2020-11-03 at 15.43.01](https://canada1.discourse-cdn.com/flex036/uploads/serverless/original/2X/4/493548ab3721cbf9906acce998cf5d4822f879a3.png)
