AWS为什么建议不要使用公共S3存储桶?


52

“我们强烈建议您不要授予对S3存储桶的任何公共访问权限。”

我为用于托管网站的一个存储桶设置了非常精细的公共策略(s3:GetObject)。Route53为此明确支持别名存储桶。这个警告仅仅是多余的,还是我做错了什么?


1
@MichaelHampton它将在S3控制台中显示此内容,而没有太多其他上下文。businessinsights.bitdefender.com/…–
ceejayoz

相关-AWS是否可以查看私有存储桶,还是必须公开才能使AWS访问其中的文件?
Criggie

@Criggie AWS是他们的支持团队?或者是其他东西?
ceejayoz

@ceejayoz是AWS支持团队。
Criggie's

我以为他们会在内部获得一定程度的支持,尽管S3支持使用非Amazon密钥进行加密。我认为,他们的流程应确保未经明确许可就不会完成。
ceejayoz

Answers:


67

是的,如果您知道自己在做什么(编辑:并且其他有权访问此命令的所有人也在做...),则可以忽略此警告。

之所以存在,是因为即使 是本应该更了解的大型组织也无意中将私有数据放入了公共存储桶中。如果您在控制台上发出警告,则如果您不公开存储桶,Amazon还将向您发送平视电子邮件。

埃森哲,Verizon,维亚康姆,伊利诺伊州的选民信息和军事信息都被无意间对所有人开放,原因是IT机构错误地配置了他们的S3筒仓。

如果绝对有把握,那么100%肯定存储桶中的所有内容都应该是公开的并且没有人会无意间将私有数据放入其中-静态HTML网站就​​是一个很好的例子-然后,一定要使其公开。


2
实际上,您几乎永远不会百分百确定,因此最佳实践是不确定。
Shadur

就在几个月前,FBI或CIA都留下了本应在公共S3上安全的私人数据。我将看看是否可以找到该新闻文章的链接。
Reactgular


先生,您能指导我如何仅允许我的网站和Android应用访问我的存储桶中的对象吗?基本上,我不希望别人刮我的水桶里的东西。但是我的网站和应用程序应该能够加载它们。
bad_keypoints

35

ceejayoz的回答提到的隐私问题不是唯一的问题。
从S3存储桶读取对象需要付费。对于该存储桶中的每次下载,AWS都会向您收费。而且,如果您的流量很大(或者想要伤害您的企业的人整天开始大量下载文件),它将很快变得昂贵。

如果您希望公开访问存储桶中的文件,则应创建一个Cloudfront发行版,指向并被授予对S3存储桶的访问权限

现在,您可以使用Cloudfront Distribution的域名来提供文件,而无需向公众授予任何S3访问权限。
在此配置中,您需要支付Cloudfront的数据用量,而不是S3的数据用量。而更高的销量则便宜得多。


2
CloudFlare也可以使用,并且可能还会更便宜。
chrylis -strike
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.