У меня есть эта политика ведра AWS S3:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "OnlyS3AdminCanPerformOperationPolicy",
"Effect": "Deny",
"NotPrincipal": {
"AWS": "arn:aws:iam::<account-id>:user/s3-admin"
},
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::my-bucket-name",
"arn:aws:s3:::my-bucket-name/*"
]
}
]
}
Примечание: к пользователю IAM s3-admin прикреплена политика AdministratorAccess.
Сначала я думал, что политика ведра не работает. Вероятно, это было из-за того, как я тестировал операцию.
aws s3 rm s3://my-bucket-name/file.csv
Caused:
delete failed: s3://test-cb-delete/buckets.csv An error occurred (AccessDenied)
но я, если использовал --profile по умолчанию согласно
aws s3 --profile default rm s3://my-bucket-name/file.csv
Это сработало.
Я проверил, и у меня настроен только один набор учетных данных для клиента aws. Кроме того, я могу перечислить содержимое ведра, даже если я не использую аргумент по умолчанию --profile.
Почему клиент aws так себя ведет?
AdministratorAccess
, создал ведро и задал ему указанную выше политику (изменение имени ведра), и, похоже, все работает нормально. Пользователь смог удалить объект в корзине. Поскольку это не работает для вас, можете ли вы предоставить дополнительную информацию? Например, какую команду вы использовали, чтобы получить отказ в доступе? Может ли s3-admin перечислить содержимое корзины, загрузки и т. д.? - person John Rotenstein   schedule 13.09.2018