Skip to content

Instantly share code, notes, and snippets.

@john-auld
Created July 6, 2020 08:20
Show Gist options
  • Save john-auld/b3152ff2579d5a6aa912cd5b379aafee to your computer and use it in GitHub Desktop.
Save john-auld/b3152ff2579d5a6aa912cd5b379aafee to your computer and use it in GitHub Desktop.
AWS IAM Policy elements for S3 read, write, list and delete objects only
arn:aws:s3:::$bucket-name
s3:ListBucket
s3:ListBucketVersions
s3:GetBucketTagging
arn:aws:s3:::$bucket-name/$key-name
s3:ListMultipartUploadParts
s3:GetObject
s3:GetObjectVersion
s3:GetObjectTagging
s3:PutObject
s3:DeleteObject
// s3:DeleteObjectVersion - consider if this permission should be granted
@john-auld
Copy link
Author

john-auld commented Jul 6, 2020

Terraform policy document

data "aws_iam_policy_document" "s3_limited_rights" {

  statement {
    sid = "s3"

    effect = "Allow"

    actions = [
      "s3:ListBucket",
      "s3:ListBucketVersions",
      "s3:GetBucketTagging",
      "s3:ListMultipartUploadParts",
      "s3:GetObject",
      "s3:GetObjectVersion",
      "s3:GetObjectTagging",
      "s3:PutObject",
      "s3:DeleteObject",
    ]

    resources = [
      "arn:aws:s3:::bucket-name",             
      "arn:aws:s3:::bucket-name/*",
    ]
  }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment