2015-11-12 137 views
0

我在辩论是否将S3用作CDN存储。第一步是允许存储桶具有对每个人的读取访问权限,这是我对该策略所做的,并且工作正常。我期待的斗包含媒体文件:JPG,PNG,GIF,MP4。公开读取S3存储桶漏洞

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

这个设置有什么可能的爆炸?

我偶然发现blog,它提到对公众的读取权限是不鼓励的,因此让我想知道社区的想法。

+1

只是说明S3确实不是CDN,只是文件存储。如果你关心性能和安全性,我会在它之前放置一个像CloudFront或CloudFlare或MaxCDN的CDN。 –

+0

我完全同意你的看法。 – Clocker

回答

0

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

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

在附注中,您是否考虑过使用AWS CloudFront作为CDN?这似乎更适合你的用例,而不是S3。