Почему AWS рекомендует против общедоступных сегментов S3?
"Мы настоятельно рекомендуем вам никогда не предоставлять публичный доступ к вашему ведру S3".
Я установил очень детальную публичную политику (s3:GetObject) для одной корзины, которую я использую для размещения веб-сайта. Route53 явно поддерживает псевдонимы для этой цели. Это предупреждение просто излишне, или я что-то не так делаю?
2 ответа
Да, если вы знаете, что делаете (отредактируйте: и все остальные, имеющие к нему доступ, тоже...), вы можете игнорировать это предупреждение.
Он существует потому, что даже крупные организации, которые должны знать об этом, случайно поместили частные данные в общедоступные группы. Amazon также будет отправлять вам электронные письма с заголовками, если вы оставите корзины общедоступными в дополнение к предупреждениям в консоли.
Информация об избирателях Accenture, Verizon, Viacom, Illinois и военная информация были случайно обнаружены в открытом доступе для всех из-за неправильной настройки ИТ-подразделений в хранилищах S3.
Если вы абсолютно, на 100% уверены, что все в хранилище должно быть общедоступным и что никто не собирается случайно помещать в него личные данные - хороший пример статического HTML-сайта - тогда непременно оставьте его общедоступным.
Проблема конфиденциальности, описанная в ответе ceejayoz, - не единственная проблема.
Чтение объектов из ведра S3 имеет свою цену. AWS будет выставлять вам счета за каждую загрузку из этого списка. И если у вас много трафика (или если кто-то, кто хочет навредить вашему бизнесу, начинает загружать файлы весь день), он быстро станет дорогим.
Если вы хотите, чтобы файлы из вашей корзины были общедоступными, вы должны создать Cloudfront Distribution, который указывает и предоставляет доступ к корзине S3.
Теперь вы можете использовать доменное имя Cloudfront Distribution для обслуживания ваших файлов, не предоставляя S3 доступ общественности.
В этой конфигурации вы платите за использование данных Cloudfront вместо S3. И на больших объемах это намного дешевле.