【问题标题】:Using private ACLs with CloudFront?将私有 ACL 与 CloudFront 一起使用?
【发布时间】:2012-04-06 23:58:35
【问题描述】:

我正在开发一个网络应用程序,其中视频文件存储在 Amazon S3 上,并且使用 CloudFront 是一项可选功能,可以随时打开和关闭。

我有一堆设置了私有 ACL 的视频文件,我使用签名 URL 来访问它们。这很好用。

但是,我想在该存储桶上创建一个 CloudFront RTMP 分配,但是每次都很难以编程方式更新每个(可能超过 300 个)对象的 ACL(并且所有请求都需要很长时间才能发生,因为你不能批量做,对吧?)。

有没有办法:

  • 一次调用即可批量设置 ACL?
  • 设置存储桶访问策略,以便 CloudFront 可以读取存储桶中的任何私有文件?

我已尝试创建一个原始访问身份,然后将其添加到存储桶的访问控制策略中,但这似乎不起作用。

最后,当我将 URL 发送到视频播放器时,我还需要对其进行签名吗?

这一切都需要在 PHP 中以编程方式完成,因此不幸的是,使用 CloudBerry 等对我没有帮助。

【问题讨论】:

    标签: php amazon-s3 acl amazon-cloudfront


    【解决方案1】:

    这是一个有用的入门指南,它讲述了如何设置私有分发: http://www.bucketexplorer.com/documentation/cloudfront--how-to-create-private-streaming-distribution.html

    您可以通过 AWS API 在一系列视频中循环设置 ACL(我认为这不能批量完成,即使 BucketExplorer 在队列中执行此操作)。您只需对每个文件设置一次 ACL。您需要确保授予您在原始访问身份中拥有的规范用户的访问权限以进行分发。这样,发行版可以从 S3 源访问受保护的文件。然后,您需要设置密钥对和受信任的签名者。

    每次有人访问视频时,您都需要对 URL 进行签名。有许多可用的脚本。这是一个有用的 Ruby 指南,但您可以很容易地用 PHP 重写代码: http://r2d6.com/posts/1301220789-setting-up-private-streaming-with-cloudfront-and-ruby-on-rails

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-11
      • 2020-11-29
      • 2016-03-25
      • 1970-01-01
      • 2015-01-10
      • 2014-12-20
      相关资源
      最近更新 更多