Использование частных ACL с CloudFront? - PullRequest
1 голос
/ 22 марта 2012

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

У меня есть набор видеофайлов с частными ACL, и я использую подписанные URL для доступа к ним. Это прекрасно работает.

Однако я хочу создать дистрибутив CloudFront RTMP для этого сегмента, но было бы сложно программно обновлять ACL каждого отдельного (может быть более 300) объекта каждый раз (и для всех запросов требовалось бы много времени) произойдет, потому что вы не можете сделать это партиями, верно?).

Есть ли способ либо:

  • Установить ACL оптом, одним вызовом?
  • Установить политику доступа к корзине, чтобы CloudFront мог читать любые личные файлы в корзине?

Я попытался создать Origin Access Identity, а затем добавить его в Политику контроля доступа, но это не работает.

И, наконец, нужно ли подписывать URL-адреса при отправке их на видеоплеер?

Все это необходимо сделать программно в PHP, поэтому использование CloudBerry, и, к сожалению, для меня это не поможет.

1 Ответ

0 голосов
/ 29 мая 2012

Это полезное руководство для начала работы, в котором рассказывается, как настроить частный дистрибутив: http://www.bucketexplorer.com/documentation/cloudfront--how-to-create-private-streaming-distribution.html

Вы можете установить ACL через AWS API, просматривая ваши видео в серии (я не понимаюНе думаю, что это может быть сделано навалом, даже BucketExplorer делает это в очереди).Вам нужно только установить ACL для каждого файла один раз.Вы должны удостовериться, что вы предоставляете доступ к пользователю Canonical, указанному в вашей учетной записи Origin Access, для распространения.Таким образом, дистрибутив может получить доступ к защищенному файлу из источника S3.Затем вам нужно настроить пару ключей и доверенного подписывающего лица.

Вам нужно подписывать URL-адреса каждый раз, когда кто-то получает доступ к видео.Есть несколько доступных сценариев.Это полезное руководство для Ruby, но вы можете довольно легко переписать код на PHP: http://r2d6.com/posts/1301220789-setting-up-private-streaming-with-cloudfront-and-ruby-on-rails

...