利用公共读取访问S3存储桶

时间:2015-11-12 17:54:15

标签: django amazon-web-services amazon-s3

我在讨论是否将S3用作CDN存储。第一步是允许存储桶对每个人都具有读取权限,这是我对策略所做的,并且工作正常。我期待存储桶包含媒体文件:jpg,png,gif,mp4。

现在,我只允许WRITE访问使用django-storage写入S3的Django服务器。因此问题是:

此设置有哪些可能的探索?

我偶然发现blog提到不鼓励读取公众访问,因此让我想知道社区的想法。

1 个答案:

答案 0 :(得分:0)

博客建议不具有公开读取权限的原因是恶意用户可以list您的存储桶中的所有对象。我认为这是一个有效的安全问题:在具有公共读访问权限的存储桶上,我应该能够获取给定S3密钥的内容,但不应该被允许查看它包含的所有对象。

此博客写于2012年。我不知道S3当时是否支持存储桶策略。今天,您可以通过将存储桶策略定义为Allow ALL到GetObject,但Deny ALL到ListObjects,来轻松应对这种情况。

另外,您是否考虑过使用AWS CloudFront作为CDN?这似乎更适合您的用例,而不是S3。