У меня есть группа, и я применил приведенную ниже политику к группе. Я добавил пользователя в группу и создал ключи доступа для пользователя. Я могу получить от «mybucket», но я не могу поставить «mybucket». Когда я пытаюсь Put, я получаю «Access Denied». Может ли кто-нибудь сказать мне, что я делаю неправильно. Пожалуйста, дайте мне знать.AWS IAM GroupPolicy - Почему разрешение s3: PutObject не работает?
{
"Statement":[{
"Effect":"Allow",
"Action":["s3:PutObject","s3:GetObject"],
"Resource":["arn:aws:s3:::mybucket","arn:aws:s3:::mybucket/*"]
},
{
"Effect":"Deny",
"Action":["*"],
"NotResource":["arn:aws:s3:::mybucket","arn:aws:s3:::mybucket/*"]
}
]
}
EDIT: Кто-то попросил меня указать цель политики. Я хочу «Разрешить» только разрешения PUT и GET для группы для указанных ковшей. Я хочу явно указать «Запретить» все другие разрешения для группы для всех ресурсов, указанных NOT (NotResource). Я добавил явную «Deny» на основе статьи AWS, которая предположила, что это была хорошая практика.
см. Мое редактирование, чтобы лучше объяснить цель политики. – Dave
Является ли ведро принадлежащим родительской учетной записи данного пользователя? Разрешения S3 с несколькими учетными записями становятся намного сложнее. Политика выглядит правильно и выглядит так, как будто она должна применять эквивалентные разрешения для Get и Put, что заставляет меня думать, что Get работает по другой причине (т. Е. Ведро анонимно читаемо?) – derekdb