Если вы wi sh предоставляете доступ к корзине Amazon S3 определенному c пользователю IAM, лучше прикрепить политику IAM к пользователю IAM, а не создавать политику корзины.
Обычно политика корзины используется для предоставления publi c доступа к корзине. Хотя он может предоставить доступ определенному c пользователю, он может стать беспорядочным, если пользователи будут добавлены таким образом.
Поэтому добавьте встроенную политику для пользователя IAM для предоставления доступа к корзине:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::bucketname",
"arn:aws:s3:::bucketname/*"
]
}
]
}
Обратите внимание, что это также дает пользователю IAM разрешение на удаление объектов из корзины и даже разрешение на удаление корзины. сам , поэтому вы, вероятно, захотите предоставить им меньше разрешений (например, только GetObject
, PutObject
и ListBucket
).
Если эта политика не работает для этой конкретной корзины c, это может быть связано с тем, как объекты были созданы в корзине. Я бы порекомендовал вам поэкспериментировать, создав новый сегмент и предоставив пользователю IAM разрешения для нового сегмента. Если это работает, значит, причина проблемы не в политике, а в том, как были созданы объекты. (Сообщите нам, что вы найдете, и мы сможем вам помочь.)