carrierwaveuploader/carrierwave — pull request #1151 by boz (2013-07-11 03:42:21+00:00)
Title: Add option for always using the public URL

This change makes it possible to not grant your `AWS` user `s3:PutObjectAcl` use and still use non-authenticated URLs.

For example: the bucket policy below grants `s3:GetObject` use to everyone (making all objects public), and `s3:PutObject` to a (fog) user.

```
{
"Id": "AppBucketPolicy",
"Statement": [
{
"Sid" : "AppReadAccess",
"Effect" : "Allow",
"Principal" : { "AWS": "*" },
"Action" : "s3:GetObject",
"Resource" : "arn:aws:s3:::fog-directory/*"
},
{
"Sid": "AppReadWriteAccess",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::XXXXXXXXXXXX:user/fog-user-YYYYYYYYYYYY"
},
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::fog-directory/*"
}
]
}
```