Skip to content

Instantly share code, notes, and snippets.

@harshavardhana
Last active December 19, 2018 11:13
Show Gist options
  • Save harshavardhana/3c3864bfdb917cbe0fe1b095bc7fa54a to your computer and use it in GitHub Desktop.
Save harshavardhana/3c3864bfdb917cbe0fe1b095bc7fa54a to your computer and use it in GitHub Desktop.
Commonly used S3 Bucket Policy Recipes

Bucket policy recipes

Public Read Write

Type: bucket

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "s3:GetBucketLocation",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads"
      ],
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "*"
        ]
      },
      "Resource": [
        "arn:aws:s3:::YOUR-BUCKET"
      ],
      "Sid": ""
    },
    {
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:ListMultipartUploadParts",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "*"
        ]
      },
      "Resource": [
        "arn:aws:s3:::YOUR-BUCKET/*"
      ],
      "Sid": ""
    }
  ]
}

Public Read Only

Type: bucket

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "s3:GetBucketLocation",
        "s3:ListBucket"
      ],
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "*"
        ]
      },
      "Resource": [
        "arn:aws:s3:::YOUR-BUCKET"
      ],
      "Sid": ""
    },
    {
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "*"
        ]
      },
      "Resource": [
        "arn:aws:s3:::YOUR-BUCKET/*"
      ],
      "Sid": ""
    }
  ]
}

Public Write Only

Type: bucket

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "s3:GetBucketLocation",
        "s3:ListBucketMultipartUploads"
      ],
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "*"
        ]
      },
      "Resource": [
        "arn:aws:s3:::YOUR-BUCKET"
      ],
      "Sid": ""
    },
    {
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:ListMultipartUploadParts",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "*"
        ]
      },
      "Resource": [
        "arn:aws:s3:::YOUR-BUCKET/*"
      ],
      "Sid": ""
    }
  ]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment