我在讨论是否将S3用作CDN存储。第一步是允许存储桶对每个人都具有读取权限,这是我对策略所做的,并且工作正常。我期待存储桶包含媒体文件:jpg,png,gif,mp4。
现在,我只允许WRITE访问使用django-storage写入S3的Django服务器。因此问题是:
此设置有哪些可能的探索?
我偶然发现blog提到不鼓励读取公众访问,因此让我想知道社区的想法。
答案 0 :(得分:0)
博客建议不具有公开读取权限的原因是恶意用户可以list
您的存储桶中的所有对象。我认为这是一个有效的安全问题:在具有公共读访问权限的存储桶上,我应该能够获取给定S3密钥的内容,但不应该被允许查看它包含的所有对象。
此博客写于2012年。我不知道S3当时是否支持存储桶策略。今天,您可以通过将存储桶策略定义为Allow
ALL到GetObject
,但Deny
ALL到ListObjects
,来轻松应对这种情况。
另外,您是否考虑过使用AWS CloudFront作为CDN?这似乎更适合您的用例,而不是S3。