拒绝直接访问S3上的文件

Lau*_*van 7 django access-control amazon-s3

我正在构建一个django/s3应用程序,具有以下行为:

  1. 用户登录
  2. 用户上传文档 - >文档转到S3(最终在数据库中使用UID名称和别名?)
  3. 用户可以下载该文档

我正在寻找一种方法来拒绝其他用户(或者更糟糕的是,没有记录)来查询和访问文件.我能找到的一个解决方案是:

  • 对于每个文件,该页面都包含指向处理脚本的链接
  • 单击链接时,视图会对其进行处理(检查用户是否经过身份验证,在S3中确定正确的文件)并重定向到该链接

这够了吗?有更优雅的解决方案吗?

Ala*_*air 7

不要公开您的文件.这将阻止未授权用户访问文件.

然后在您的Django应用程序中,您可以生成带有查询字符串的URL,允许授权用户在有限的时间内访问S3文件.

用于查询字符串请求身份验证的amazon文档具有更多信息.