У меня есть клиент, которому я хочу предоставить возможность загружать файлы, но не могу свободно перемещаться по моей корзине S3. Я создал им учетную запись пользователя IAM и применил следующую политику:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1416387009000",
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": [
"arn:aws:s3:::*"
]
},
{
"Sid": "Stmt1416387127000",
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::progress"
]
},
{
"Sid": "Stmt1416387056000",
"Effect": "Allow",
"Action": [
"s3:AbortMultipartUpload",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::progress/*"
]
}
]
}
Есть три утверждения:
- Возможность перечислить все корзины (иначе они ничего не увидят в консоли S3 при входе в систему)
- Возможность отображать содержимое сегмента прогресс
- Возможность помещать объекты в корзину прогресса
Пользователь может войти в консоль AWS со своим именем пользователя и паролем (и URL-адресом моей пользовательской учетной записи, т. е. https://account.signin.aws.amazon.com/console). Они могут перейти в раздел консоли S3 и просмотреть список всех моих сегментов. Однако если они нажмут прогресс, они просто получат следующее сообщение об ошибке:
Извини! Вам было отказано в доступе для этого.
Я проверил с помощью симулятора политик IAM, есть ли у пользователя разрешение ListBucket
на ARN корзины (arn:aws:s3:::progress
), и симулятор политик говорит, что пользователю должно быть разрешено.
Я вышел из системы и снова вошел в систему как целевой пользователь на случай, если политики будут обновляться только при выходе из системы, но все равно без радости.
Что я сделал не так? Я что-то пропустил?