У меня есть политика AWS S3 Bucket:
{
"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 так себя ведет?