Непоследовательный доступ к Amazon / AWS S3 для загрузки / выгрузки с пользовательскими разрешениями
У меня есть приложение, которое загружает видео в корзину S3, а затем создает пользовательскую политику, позволяющую другому пользователю (для службы Zencoder) захватывать файлы и загружать транскодированные файлы обратно в корзину.
Ниже приведена текущая пользовательская политика, которую я даю пользователю во время транскодирования. По сути, я даю полное разрешение на чтение для всей группы, но я разрешаю только пользователю помещать файлы в определенную вложенную папку.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowUserToListContentsOfBucket",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::MY-BUCKET"
]
},
{
"Sid": "AllowUserToListContentsOfBucketFolders",
"Effect": "Allow",
"Action": [
"s3:ListBucketMultipartUploads",
"s3:GetObjectAcl",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::MY-BUCKET/*"
]
},
{
"Sid": "AllowUserS3ActionsOfSpecificFolder",
"Effect": "Allow",
"Action": [
"s3:PutObjectAcl",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::MY-BUCKET/some/nested/folder/*"
]
}
]
}
Это работает по большей части, но в ~1000 файлов, передаваемых Zencoder, обычно один или два не работают с 403 Forbidden
ошибка. Я не уверен почему, так как файлы были правильно переданы как до, так и после ошибки.
Есть ли причина, по которой Amazon AWS S3 / IAM отправит 403 Access Denied
когда такое разрешение предоставляется?