Difference between revisions of "Terraform resources: aws s3 bucket policy"

From wikieduonline
Jump to navigation Jump to search
Line 2: Line 2:
  
 
  aws_s3_bucket_policy
 
  aws_s3_bucket_policy
 +
 +
== Official example ==
 +
<pre>
 +
resource "aws_s3_bucket" "example" {
 +
  bucket = "my-tf-test-bucket"
 +
}
 +
 +
resource "aws_s3_bucket_policy" "allow_access_from_another_account" {
 +
  bucket = aws_s3_bucket.example.id
 +
  policy = data.aws_iam_policy_document.allow_access_from_another_account.json
 +
}
 +
 +
data "aws_iam_policy_document" "allow_access_from_another_account" {
 +
  statement {
 +
    principals {
 +
      type        = "AWS"
 +
      identifiers = ["123456789012"]
 +
    }
 +
 +
    actions = [
 +
      "s3:GetObject",
 +
      "s3:ListBucket",
 +
    ]
 +
 +
    resources = [
 +
      aws_s3_bucket.example.arn,
 +
      "${aws_s3_bucket.example.arn}/*",
 +
    ]
 +
  }
 +
}
 +
</pre>
  
  

Revision as of 13:51, 2 March 2023

aws_s3_bucket_policy

Official example

resource "aws_s3_bucket" "example" {
  bucket = "my-tf-test-bucket"
}

resource "aws_s3_bucket_policy" "allow_access_from_another_account" {
  bucket = aws_s3_bucket.example.id
  policy = data.aws_iam_policy_document.allow_access_from_another_account.json
}

data "aws_iam_policy_document" "allow_access_from_another_account" {
  statement {
    principals {
      type        = "AWS"
      identifiers = ["123456789012"]
    }

    actions = [
      "s3:GetObject",
      "s3:ListBucket",
    ]

    resources = [
      aws_s3_bucket.example.arn,
      "${aws_s3_bucket.example.arn}/*",
    ]
  }
}


See also

Advertising: