2015-07-29 5 views
0

я пытаюсь настроить политику только PutObject в ведре по следующим образом:Aws S3 Только PutObject Политика

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "Stmt####", 
      "Effect": "Allow", 
      "Action": [ 
       "s3:PutObject", 
       "s3:PutObjectAcl", 
       "s3:PutObjectVersionAcl" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::my-bucket/*" 
      ] 
     } 
    ] 
} 

Однако, когда я пытаюсь загрузить файл думал AWS SDK я получаю 403 ответа от AWS , Я абсолютно уверен, что использую правильный ключ доступа пользователя IAM, к которому прилагается эта политика.

Кто-нибудь знает, почему AWS3 жалуется на эту политику, если это не так?

Edit:

После нескольких часов испытаний, я наткнулся на странное поведение, которое я хотел бы объяснить.

Если я добавлю s3:ListBucket к вышеуказанной политике, он просто отлично работает. Без него он вернет 403. Почему amazon заставляет меня ставить ListBucket действие, когда я не хочу его иметь?

Благодаря

ответ

0

Лучший способ устранения этого, чтобы дать свою политику следующие действия и ресурсы:

"Action": [ 
    "s3:*" 
], 
"Resource": [ 
    "arn:aws:s3:::my-bucket", 
    "arn:aws:s3:::my-bucket/*" 
] 

Это подтвердит вы используете правильный ключ доступа. Если это произойдет, вы, скорее всего, используете несанкционированные действия (например, s3: ListBucket). Вы можете использовать CloudTrail для определения того, какие вызовы неавторизованных действий вызываются.

+0

Огромное спасибо @aalimovs, я стараюсь сочетать партии, и я пришел к кресту, чтобы, если я не ставлю 'ListBucket' ** Action ** на политику, которую он дал 403, если я добавлю, что он успешно загружает файл, знаете ли вы, почему это происходит? – Fabrizio

+0

Можете ли вы показать, как именно вы загружаете файл? – aalimovs

+0

Спасибо за вашу поддержку, я загружаю файлы через ** файловую систему ** библиотеку PHP https://github.com/thephpleague/flysystem и используя адаптер Aws3: https://github.com/thephpleague/flysystem- aws-s3-v3, Функция загрузки: https://github.com/thephpleague/flysystem-aws-s3-v3/blob/master/src/AwsS3Adapter.php#L495 – Fabrizio

Смежные вопросы