仅允许对S3文件进行身份验证访问

时间:2019-05-06 10:19:39

标签: amazon-web-services amazon-s3

我开发了一个平台,经过身份验证的用户可以观看视频。

我将Amazon AWS用于我的基础架构。我想将视频文件保存在S3存储桶中是个好主意。

但是S3存储桶可以是私有的(没有用户可以看到文件),也可以是公共的(互联网上的所有人都可以看到文件,甚至没有通过我的平台进行身份验证)。

那么我如何才能使仅经过身份验证的平台用户访问保存在AWS S3存储桶中的视频文件?

或者S3不是执行此类任务的好选择?除了我还会用什么?

1 个答案:

答案 0 :(得分:2)

默认情况下,Amazon S3中的所有对象默认都是私有的。这很好,因为您的数据是安全的。

有几种方法可以访问对象:

    如果只想公开几个对象,请
  • 访问控制列表(ACL)
  • 如果要公开整个存储桶(或存储桶的一部分),则存储桶上的存储桶策略
  • 预签名URL ,如果您希望提供对对象的临时访问权限

预签名URL是有时间限制的URL,用于在定义的持续时间内授予对对象的访问权限。通常,用户请求访问对象,然后应用程序确定是否允许其访问。如果是这样,则应用程序可以使用几行代码来生成“预签名URL”(不需要API调用)。然后,用户的Web浏览器将使用该URL访问该对象。一旦过期,URL将不再提供访问权限。

例如,假设有一个照片共享网站。当用户希望查看其私密照片时,应用程序可以使用预先签名的URL生成<img />标签。用户将可以正常看到其图像,但其他人将无法访问其图像文件。

请参阅:Share an Object with Others - Amazon Simple Storage Service