2016-01-22 2 views
2

У меня есть куча изображений на моем S3, которая связана с Cloudfront.Как использовать Cloudfront для защиты моих файлов

Теперь у меня есть веб-сервер, и я хочу, чтобы пользователи просматривали изображение через мой сайт, поэтому я не могу просто указать ссылки на изображение. Как это установить?

ответ

3

Оказывается, что ваше требование:

  • Содержимое хранится в Amazon S3
  • Содержание подается через Amazon CloudFront
  • Материалы должны быть закрытыми, но есть способ, чтобы конкретные люди его просмотра

Это может быть сделано с использованием Предварительно Подписанные URL-адреса. Это специальные URL-адреса, которые работают только в течение ограниченного периода времени.

Когда ваше приложение определяет, что пользователь имеет право просматривать изображение, он может генерировать предварительно подписанный URL-адрес, который предоставляет доступ в течение ограниченного периода времени. Просто используйте этот URL-адрес в теге <IMG>, как обычно.

См:

Поскольку ваш контент в Amazon S3 будет частным (так что пользователи могут не перепускной CloudFront и доступ к нему напрямую), вам также необходимо предоставить Разрешение CloudFront для доступа к содержимому с S3. См.: Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content

Другой вариант, вместо того, чтобы создавать предварительно подписанный URL каждый раз, заключается в использовании Signed Cookies. Однако это не дает мелкого контроля доступа к отдельным объектам - это больше для предоставления доступа к нескольким объектам, таким как область подписки.

+0

Существует дополнительная возможность использования защиты hotlink - хотя это не идеальный ответ, теперь можно использовать AWS WAF в сочетании с CloudFront. Я согласен с вашим ответом и рекомендую вместо этого использовать Подписанные URL-адреса, но если добавление этой функции на сайт сложно, обратитесь в WAF, чтобы быть более простым. – alexjs

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