拒绝直接访问S3上的文件

时间:2011-10-28 00:14:53

标签: django amazon-s3 access-control

我正在使用以下行为构建django / s3应用程序:

  1. 用户登录
  2. 用户上传文档 - >文档转到S3(最终在数据库中使用UID名称和别名?)
  3. 用户可以下载文件
  4. 我正在寻找一种方法来拒绝其他用户(或者更糟糕的是,没有记录)来查询和访问文件。我能找到的一个解决方案是:

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

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

1 个答案:

答案 0 :(得分:7)

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

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

querystring request authentication的亚马逊文档提供了更多信息。