仅当通过我的域访问资源时,才能授予访问权限吗?

时间:2019-02-08 11:12:46

标签: google-cloud-platform google-cloud-storage acl

我有一堆视频,所有视频都上传到了Wistia。在Wistia上,我已经设置了对我的域的访问权限,因此只有在从我的域中获取视频后,它们才能播放。

如果有人使用“查看源”并将视频URL复制并粘贴到单独的浏览器窗口中,则会收到“拒绝访问”消息。

我正在考虑将视频移至Google Cloud Storage。所以,我的问题是:

  1. Google云是否提供类似的域限制功能?
  2. 如何设置?目前,我已经创建了一个临时存储桶并上传了一个视频,并授予了其公共访问权限。然后,我复制了MP4文件的公共链接并添加到我的网站,它显然可以播放,但是任何付费会员都可以使用“查看源代码”,复制MP4链接并将其上传到其他流媒体服务中,以供所有人查看。

编辑 有没有办法以编程方式进行此操作-就像我的网站使用PHP-这样的做法-将存储桶保留为受限访问权限,然后通过PHP-传递一些密钥并检索视频文件。不知道这样的事情是否可能。

谢谢

1 个答案:

答案 0 :(得分:3)

我认为Google Cloud Storage中没有一种与您在Wistia中使用的访问控制机制相同的访问控制机制。

在GCS中,有几种方法可以限制对象访问(请参阅https://cloud.google.com/storage/docs/access-control),但是这些方法都不基于请求的来源。解决您的问题的唯一方法是使用签名URL。基本上,用户会去您的站点,但是您的应用程序没有为他们提供将要使用的对象的“真实” URL,而是检索有时间限制的特殊URL。您可以设置有效时间。

但是,如果您担心的是人们在复制您的视频,那么大概他们仍然可以在某个地方看到该URL并从那里复制数据,所以我认为这并不能真正解决您的问题。

对不起,我帮不上忙。