Django Boto S3 Access

imn*_*mns 7 python django amazon-s3 boto

我无法弄清楚这一点.

这就是我想要发生的事情......

我有一个应用程序,用户使用boto和django将文件上传到S3.我希望这些文件是私有的,只能通过我的应用程序使用我的api凭据访问.

因此,如果用户通过我的应用上传照片,他或其他任何人可以下载的唯一方法是通过我的应用上的帐户.这是可能的,如果是这样,我如何使用boto的acl规则进行设置.我不需要代码,(希望)我可以解决这个问题,只需要了解如何做到这一点.

这有意义吗?我知道我没有很好地传达它,我提前道歉.另外,谢谢你的帮助.

Ale*_*lli 7

boto的ACL的文档在这里.我建议只使用private"预制策略" - 因为您的用户无论如何都没有S3帐户,这是迄今为止最简单的想法.您的应用程序当然必须跟踪哪个用户"拥有"哪些文件(这应该是一个非常非常简单的Django模型!).


And*_*rew 5

我想你可能正在寻找你想要完成的事情.ACL接口允许您授予权限,但它们取决于拥有Amazon S3帐户的用户.@Alex Martelli建议使用private预制策略,我同意 - 这将阻止任何帐户,但您的帐户/密钥可以访问.

为了强制用户只能通过您自己的应用程序下载,只需expires_in生成URL时将一个小值传递给参数.用户只能通过您的应用程序获得有效的下载链接,并且该链接在下载后将无效.