Как безопасно обслуживать файлы S3 без использования подписанного URL? - PullRequest
0 голосов
/ 24 мая 2018

Я не эксперт AWS, поэтому я надеюсь, что кто-то может указать мне правильное направление.

У меня есть файлы (в частности, изображения), хранящиеся в корзине S3, и мне нужно отобразить эти изображения в KMLфайл, который должен быть доставлен клиенту.URL изображения будет помещен в тег HTML.(KML позволяет встраивать HTML-код как часть его содержимого, FYI.) Однако эти изображения не могут быть общедоступными (так как они являются частью конфиденциального проекта) и должны быть доступны только с использованием специального URL-адреса.

Я немного изучил опцию Cloudfront, и, насколько я понимаю, подписанный URL-адрес с Cloudfront не будет работать, поскольку на нем есть дата истечения срока действия, которая не работает с клиентом, учитывая, что максимальная дата истечения срока действияэто 7 дней я слышал.Кроме того, возможно ли даже использовать подписанный URL в качестве источника для?

И подписанные файлы cookie также не будут работать, поскольку Google Планета Земля (открывающая файлы KML) фактически не использует встроенный веб-браузер при отображении кода HTML.

Я запускаю скрипт Python для генерации этого KML-файла, поэтому я могу создать подписанный URL, но, к сожалению, я не думаю, что подписанный URL поможет решить проблему, как я описал выше.

Любые идеи или предложения о том, как я могу решить это?Есть ли способ, где URL файла S3 или Cloudfront содержит ключ, срок действия которого не истекает?

Спасибо!

1 Ответ

0 голосов
/ 24 мая 2018

CloudFront можно использовать для создания подписанных URL-адресов, что позволяет вам установить собственную дату истечения срока действия, которая может быть увеличена до нескольких лет.

Вы также можете распространять частный контент, используя подписанный URL, который действителен в течение более длительного времени, возможно, в течение многих лет.

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-signed-urls.html#private-content-overview-choosing-duration

Согласнодля AWS рекомендуется разрешить доступ к ресурсам в S3 через CloudFront, вместо того, чтобы напрямую указывать URL-адреса S3.Вы можете прочитать эту документацию для получения дополнительной информации.https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html

И, наконец, ответ на ваш вопрос

Можно ли вообще использовать подписанный URL в качестве источника для?

ДаВ конце концов, это просто URL с некоторыми дополнительными символами.

...