Почему AWS рекомендует против общедоступных сегментов S3?

54

«Мы настоятельно рекомендуем вам никогда не предоставлять публичный доступ к вашему ведру S3».

Я установил очень детальную публичную политику (s3: GetObject) для одной корзины, которую я использую для размещения веб-сайта. Route53 явно поддерживает псевдонимы для этой цели. Это предупреждение просто излишне, или я что-то не так делаю?

Эндрю Джонсон
источник
1
@MichaelHampton Это покажет это в консоли S3, без особого дополнительного контекста. businessinsights.bitdefender.com/...
ceejayoz
Связано - может ли AWS заглянуть в приватную корзину или она должна быть общедоступной, чтобы AWS мог обращаться к файлам внутри?
Criggie
@Criggie AWS - их команда поддержки? Или что-то другое?
ceejayoz
@ceejayoz да команда поддержки AWS.
Кригги
Я мог бы представить себе на определенном уровне поддержки, которую они могли бы найти внутри, хотя S3 поддерживает шифрование с ключом, отличным от Amazon. Их процессы должны гарантировать, что это не будет сделано без явного разрешения, я думаю.
ceejayoz

Ответы:

69

Да, если вы знаете, что делаете ( отредактируйте: и все остальные, имеющие к нему доступ, тоже ...), вы можете игнорировать это предупреждение.

Он существует потому, что даже крупные организации, которые должны знать об этом, случайно поместили частные данные в общедоступные группы. Amazon также будет отправлять вам электронные письма с заголовками, если вы оставите корзины общедоступными в дополнение к предупреждениям в консоли.

Информация об избирателях Accenture, Verizon, Viacom, Illinois и военная информация были случайно обнаружены в открытом доступе для всех из-за неправильной настройки ИТ-подразделений в хранилищах S3.

Если вы абсолютно, на 100% уверены, что все в хранилище должно быть общедоступным и что никто не собирается случайно помещать в него личные данные - хороший пример статического HTML-сайта - тогда непременно оставьте его общедоступным.

ceejayoz
источник
2
На практике вы практически никогда не уверены на 100%, поэтому лучше не делать этого.
Шадур
Это было всего несколько месяцев назад, когда либо ФБР, либо ЦРУ оставляли частные данные, которые должны были быть защищены на общедоступном S3. Я посмотрю, смогу ли я найти ссылку на новостную статью.
Reactgular
Смотрите здесь: gizmodo.com/…
Reactgular
Добрый день, можете ли вы рассказать мне, как разрешить доступ к объектам моего контейнера только моему веб-сайту и приложению Android? По сути, я не хочу, чтобы люди ломали содержимое моего ведра. Но мой сайт и приложение должны быть в состоянии загрузить их.
bad_keypoints
35

Проблема конфиденциальности, описанная в ответе ceejayoz, - не единственная проблема.
Чтение объектов из ведра S3 имеет свою цену. AWS будет выставлять вам счета за каждую загрузку из этого списка. И если у вас много трафика (или если кто-то, кто хочет навредить вашему бизнесу, начинает загружать файлы весь день), он быстро станет дорогим.

Если вы хотите, чтобы файлы из вашей корзины были общедоступными, вы должны создать Cloudfront Distribution, который указывает и предоставляет доступ к корзине S3 .

Теперь вы можете использовать доменное имя Cloudfront Distribution для обслуживания ваших файлов, не предоставляя S3 доступ общественности.
В этой конфигурации вы платите за использование данных Cloudfront вместо S3. И на больших объемах это намного дешевле.

Квентин Хайот
источник
2
CloudFlare также работает, и, вероятно, будет еще дешевле.
Хрилис -на забастовке-