Looks like you might be missing the permission s3:GetObjectAcl
?
I also created two separate policies, one for the bucket and another for the content.
Bucket Policy
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1398382003000",
"Effect": "Allow",
"Action": [
"s3:ListBucketMultipartUploads"
],
"Resource": [
"arn:aws:s3:::uploads"
]
}
]
}
Files Policy
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1398382057000",
"Effect": "Allow",
"Action": [
"s3:AbortMultipartUpload",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:ListMultipartUploadParts",
"s3:PutObject",
"s3:PutObjectAcl",
"s3:PutObjectVersionAcl"
],
"Resource": [
"arn:aws:s3:::uploads/*"
]
}
]
}
I had the same issue, and the above policies worked for me.