Я пытаюсь использовать aws-sdk
, чтобы получить временный приватный URL-адрес для файла в ведре, но создаваемый URL-адрес дает мне 403 в браузере. Вот код:Предписанный GET url возвращающий 403
s3 = Aws::S3::Resource.new
bucket = s3.bucket('media.coolstuff.com')
obj = bucket.object('01.mp4')
obj.presigned_url(:get, expires_in: 3600, virtual_host: true)
Возвращает:
=> "http://media.coolstuff.com:80/01.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJ75FYMC7AZWUI52A%2F20151024%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20151024T224953Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=3bb646db5a50848bdc227066c5ecc70ad249dd404b63b8b799363aa360f18ef6"
В браузере этот URL приводит к 403:
403 Forbidden
Code: AccessDenied
Message: Access Denied
учетные данные, используемые принадлежат пользователю, находящемуся в группе который имеет разрешение AmazonS3FullAccess
.
Как я могу создать назначенный URL-адрес для объекта, который будет доступен в веб-браузере?
Вы поняли это? Я могу перечислить ведро и загрузить изображение, но когда я предварительно подпишу URL и попытаюсь получить доступ к нему, я получаю 403. – daryn