我开发了一个平台,经过身份验证的用户可以观看视频。
我将Amazon AWS用于我的基础架构。我想将视频文件保存在S3存储桶中是个好主意。
但是S3存储桶可以是私有的(没有用户可以看到文件),也可以是公共的(互联网上的所有人都可以看到文件,甚至没有通过我的平台进行身份验证)。
那么我如何才能使仅经过身份验证的平台用户访问保存在AWS S3存储桶中的视频文件?
或者S3不是执行此类任务的好选择?除了我还会用什么?
答案 0 :(得分:2)
默认情况下,Amazon S3中的所有对象默认都是私有的。这很好,因为您的数据是安全的。
有几种方法可以访问对象:
预签名URL是有时间限制的URL,用于在定义的持续时间内授予对对象的访问权限。通常,用户请求访问对象,然后应用程序确定是否允许其访问。如果是这样,则应用程序可以使用几行代码来生成“预签名URL”(不需要API调用)。然后,用户的Web浏览器将使用该URL访问该对象。一旦过期,URL将不再提供访问权限。
例如,假设有一个照片共享网站。当用户希望查看其私密照片时,应用程序可以使用预先签名的URL生成<img />
标签。用户将可以正常看到其图像,但其他人将无法访问其图像文件。
请参阅:Share an Object with Others - Amazon Simple Storage Service