S3 can be configured to use global or local buckets. Investigate your latency requirements before choosing the global option. You can use replication to synchronize your objects across regions if eventual consistency is acceptable—the following code sample shows how this might be achieved, but should not be used verbatim:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:GetReplicationConfiguration",
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"${aws_s3_bucket.bucket.arn}"
]
},
-----------------------------------------------------------------------
resource "aws_iam_policy_attachment" "replication" {
name = "tf-iam-role-attachment-replication-12345...