Dlaczego AWS odradza publiczne wiadra S3?

52

„Zdecydowanie zalecamy, aby nigdy nie udzielać publicznego dostępu do segmentu S3”.

Ustawiłem bardzo szczegółową politykę publiczną (s3: GetObject) dla jednego segmentu, którego używam do hostowania strony internetowej. Route53 wyraźnie obsługuje aliasing segmentu w tym celu. Czy to ostrzeżenie jest po prostu zbędne, czy robię coś złego?

Andrew Johnson
źródło
1
@MichaelHampton Pokaże to w konsoli S3, bez większego dodatkowego kontekstu. businessinsights.bitdefender.com/…
ceejayoz
Powiązane - czy AWS ma dostęp do prywatnego segmentu, czy też musi być publiczny, aby AWS mógł uzyskać dostęp do plików w środku?
Criggie,
@Criggie AWS jako zespół wsparcia? Albo coś innego?
ceejayoz,
@ceejayoz tak zespół wsparcia AWS.
Criggie,
Wyobrażam sobie, że na pewnym poziomie wsparcia mogą się w nich wbić, chociaż S3 obsługuje szyfrowanie kluczem innym niż Amazon. Sądzę, że ich procesy powinny zapewnić, że nie będzie to zrobione bez wyraźnej zgody.
ceejayoz

Odpowiedzi:

67

Tak, jeśli wiesz, co robisz ( edytuj: i wszyscy inni, którzy mają do tego dostęp, też ...), możesz zignorować to ostrzeżenie.

Istnieje, ponieważ nawet duże organizacje, które powinny wiedzieć lepiej, przypadkowo umieściły prywatne dane w publicznych wiaderkach. Amazon wyśle ​​ci również wiadomości e-mail, jeśli pozostawisz wiadra publicznie oprócz ostrzeżeń w konsoli.

Informacje o wyborcach Accenture, Verizon, Viacom, Illinois i wojsku zostały przypadkowo pozostawione otwarte dla wszystkich online z powodu błędów w konfiguracji IT w silosach S3.

Jeśli masz absolutną pewność, 100% pewności, że wszystko w tym segmencie powinno być publiczne i że nikt nie przypadkowo umieści w nim prywatne dane - statyczna strona HTML jest dobrym przykładem - to na wszelki wypadek pozostaw to publiczne.

ceejayoz
źródło
2
W praktyce praktycznie nigdy nie jesteś w 100% pewien, więc najlepszą praktyką jest nie.
Shadur
Zaledwie kilka miesięcy temu FBI lub CIA pozostawiły prywatne dane, które miały być bezpieczne na publicznym S3. Zobaczę, czy mogę znaleźć link do artykułu z wiadomościami.
Reactgular,
Zobacz tutaj: gizmodo.com/…
Reactgular,
Dobry panie, czy możesz mi wytłumaczyć, jak konkretnie zezwalać tylko mojej stronie internetowej i aplikacji na Androida na dostęp do obiektów mojego wiadra? Zasadniczo nie chcę, żeby ludzie zgarnęli zawartość wiadra. Ale moja witryna i aplikacja powinny móc je załadować.
bad_keypoints
35

Kwestia prywatności przedstawiona w odpowiedzi ceejayoz nie jest jedynym problemem.
Czytanie obiektów z wiadra S3 ma swoją cenę. Opłata zostanie pobrana przez AWS za każde pobranie z tego segmentu. A jeśli masz duży ruch (lub jeśli ktoś, kto chce zaszkodzić Twojej firmie, zacznie intensywnie pobierać pliki przez cały dzień), szybko stanie się drogi.

Jeśli chcesz, aby pliki z segmentu były publicznie dostępne, należy utworzyć dystrybucję Cloudfront, która wskazuje i ma dostęp do segmentu S3 .

Teraz możesz używać nazwy domeny Cloudfront Distribution do udostępniania plików bez udzielania publicznego dostępu do S3.
W tej konfiguracji płacisz za wykorzystanie danych przez Cloudfront zamiast S3. Przy wyższych wolumenach jest o wiele tańszy.

Quentin Hayot
źródło
2
CloudFlare również działa i prawdopodobnie będzie jeszcze tańszy.
Chrylis -on strike-