SAM template - An error occurred (AccessDenied) when calling the PutObject operation: Access Denied

Viewed 366

I am using root account to deploy using sam template in aws. But I keep getting access denied error. I have already setup full access on s3 bucket with policy.

template:

AWSTemplateFormatVersion: "2010-09-09"
Transform: AWS::Serverless-2016-10-31
Description: >
  SAM Template

Globals:
  Function:
    CodeUri: ./src/handlers
    Timeout: 10
    Runtime: nodejs14.x
    Environment:
      Variables:
        NODE_ENV: "production"
        
    VpcConfig:
      SecurityGroupIds:
        - !Ref VpcSg
      SubnetIds:
        - subnet-05ea2dab834e8a06c
  Api:
    Cors:
      AllowOrigin: "'*'"
      AllowHeaders: "'Access-Control-Allow-Headers, Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers, Authorization'"
      AllowMethods: "'GET, POST'"
Parameters:
  Environment:
    Type: String
    Default: qa
  AccountId:
    Type: Number
    Default: 553856789961
  Region:
    Type: String
    Default: eu-west-1
  Location:
    Type: String
    Default: euw1
  AppName:
    Type: String
    Default: "dbscriptsliquibase"
  VpcSg:
    Type: String
    Default: sg-0e7c40083c916ebfa
  LogRetention:
    Type: Number
    Default: 1

Resources:

  CreateUsersApiFunction:
    Type: AWS::Serverless::Function
    Properties:
      FunctionName: !Sub "${AppName}-createUsersApi-${Environment}-${Location}-lambda"
      Handler: createUsers.createUsersApiHandler
      Policies:
        - AdministratorAccess
      Architectures:
        - x86_64
      Events:
        AssignUsers:
          Type: Api
          Properties:
            Path: /create-users
            Method: post

samconfig.toml:

version = 0.1
[default]
[default.deploy]
[default.deploy.parameters]
stack_name = "dbscriptsliquibase"
s3_prefix = "dbscriptsliquibase"
region = "eu-west-1"
confirm_changeset = true
capabilities = "CAPABILITY_NAMED_IAM"
disable_rollback = true
parameter_overrides = "Environment=\"qa\" AccountId=\"553856789961\" Region=\"eu-west-1\" Location=\"euw1\" AppName=\"dbscriptsliquibase\" VpcSg=\"sg-0e7c40083c916ebfa\" LogRetention=\"1\""
image_repositories = []
s3_bucket = "aws-sam-cli-managed-default-samclisourcebucket-1ojhaimphuj20"

policy:

{
    "Version": "2012-10-17",
    "Id": "BucketPolicy",
    "Statement": [
        {
            "Sid": "AllAccess",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::dbscriptsliquibase",
                "arn:aws:s3:::dbscriptsliquibase/*"
            ]
        }
    ]
}
0 Answers
Related