Чтобы проверить ситуацию, я сделал следующее:
- Создан Пользователь IAM без прикрепленных политик
- Создан корзина Amazon S3
- Выключено S3 блокировать настройки общего доступа:
- Блокировать новые политики общего доступа
- Блокировать публичный и кросс-аккаунт доступесли у корзины есть публичные политики
- Добавлена Политика корзины , предоставляющая
s3:*
доступ к содержимому корзины для IAMПользователь
Затем я запустил aws s3 sync
и получил Access Denied
.
Затем я изменил политику, чтобы также разрешить доступ к самому контейнеру :
{
"Id": "Policy",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "statement",
"Action": "s3:*",
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::my-bucket/*",
"arn:aws:s3:::my-bucket"
],
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:user/stack-user"
]
}
}
]
}
Это сработало.
Итог: Также добавьте разрешения на доступ к корзине , в дополнение к содержимому корзины..(Я подозреваю, что это потому, что aws s3 sync
требует перечисления содержимого сегмента, в дополнение к доступу к самим объектам.)