AWS IAM GroupPolicy - почему не работает разрешение s3: PutObject? - PullRequest
1 голос
/ 31 января 2011

У меня есть группа, и я применил приведенную ниже политику к этой группе.Я добавил пользователя в группу и создал для него ключи доступа.Я могу получить из "mybucket", но я не могу поставить в "mybucket".Когда я пытаюсь поставить, я получаю «Отказано в доступе».Может кто-нибудь сказать мне, что я делаю не так.Пожалуйста, дайте мне знать.

   {
       "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/*"]  
          }
       ]
    }

РЕДАКТИРОВАТЬ: Кто-то попросил меня указать цель политики.Я хочу «Разрешить» только разрешения PUT и GET для группы для указанных сегментов.Я хочу явно «Запретить» все остальные разрешения для группы для всех ресурсов, которые НЕ (NotResource) указаны.Я добавил явную статью «Запретить», опубликованную в AWS, в которой говорилось, что это хорошая практика.

Ответы [ 2 ]

1 голос
/ 17 декабря 2011

От: Информация о языке IAM

Каждая политика должна охватывать только один сегмент и ресурсы в этом сегменте (при написании политики не включайте операторы, которые ссылаются на другие сегменты или ресурсы в других сегментах)

0 голосов
/ 02 февраля 2011

Операторы Deny всегда имеют приоритет над инструкциями Allow, что подразумевает, что вышеуказанная политика должна блокировать весь доступ пользователя. Как вы делаете запросы Get и Put? Возможно ли, что Gets были выполнены анонимно (без аутентификации)?

Было бы полезно понять, какова ваша цель для вышеуказанной политики? Какова цель заявления Deny?

...