2016-03-04 2 views
3

Im сталкивается с тайной в политике веток S3, и это мешает моему Php S3Client из PutObject. Им ошибки получают:aws s3Client PutObject Access Denied, но CyberDuck может успешно выполнить PutObject

Error executing "PutObject" on " https://s3.amazonaws.com/reusable-system-dev/b1e42024e33d62b852d3c94c85f68c72.jpeg "; AWS HTTP error: Client error response [url] https://s3.amazonaws.com/reusable-system-dev/b1e42024e33d62b852d3c94c85f68c72.jpeg [status code] 403 [reason phrase] Forbidden AccessDenied (client): Access Denied

Но с тем же ключом доступа и секретным ключом, я могу PutObject с помощью клиенту Cyberduck! Есть ли скрытая политика S3, которая может вызвать такое странное поведение?

+0

Есть ли у вас похожие симптомы у HEAD или GET? –

ответ

1

Возможно, это связано с неправильной аутентификацией. Убедитесь, что вы отлично аутентифицируетесь.

Один из способов тестирования - попытаться получить доступ к ограниченному/частному ресурсу от S3 до s3 клиента.

+0

Я так надеялся. К сожалению, я трипл проверил доступ и секретный ключ, они все одинаковы. И это ведро имеет только частный ресурс ... – Reusable

1

PutObject:

Примечание:

Чтобы настроить приложение для отправки заголовков запроса до отправки тела запроса, используйте код 100-Continue статус HTTP

+0

Интересно .... Я просто попробую, к сожалению, это не имеет никакого эффекта. im, угадывая, что ошибка im get - проблема разрешения, а не проверка подлинности или ошибка перенаправления – Reusable

2

Я раньше видел этот точный симптом. Проблема может заключаться в создании метки даты/времени с помощью s3client в вашем Php-коде. Включите отладку для s3client и посмотрите, создается ли дата/время в запросе с помощью «GMT» (правильно) или что-то еще. Если это что-то еще, это может быть проблемой, вы можете сравнить его с CyberDuck, если он покажет вам отладочный вывод для запроса.

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