从我的应用程序控制对AWS S3文件的访问

时间:2017-05-05 17:56:25

标签: amazon-web-services amazon-s3 access-control

我正在开发一个应用程序,我们希望将用户的文件托管到AWS S3。

最初的想法是为每个新用户创建一个新存储桶(存储桶名称可以是用户的唯一代码)。我们如何使用例如用户名或电子邮件来控制对用户存储桶文件的访问? S3根据AWS账户提供不同级别的访问权限。

我们需要确保经过身份验证的用户只能访问其存储桶文件。实现这种场景(使用S3或类似服务)的最佳方法是什么,并阻止任何拥有正确URL的人访问其他用户文件?

1 个答案:

答案 0 :(得分:1)

听起来好像你要做的事情可以用S3 pre-signed urls来完成。

这需要您:

  • 将存储桶/文件ACL设置为<div class="modal-body"> <app-login #loginModal> </app-login> </div> ,这将阻止任何人使用&#34;正确的网址&#34;从访问文件。
  • 允许您的应用生成短暂的文件链接,然后您的用户就可以使用这些链接进行访问。

不是将用户直接指向所请求的文件,而是工作流程如下:

  • 将您的用户定向到您的应用程序中的路线,该路线验证了他们访问所需文件的权利。
  • 用户通过身份验证后,会为所请求的文件生成预先签名的网址
  • 将302重定向返回到预先签名的网址