Warum empfiehlt AWS öffentliche S3-Buckets?

52

"Wir empfehlen Ihnen dringend, niemals öffentlichen Zugriff auf Ihren S3-Bucket zu gewähren."

Ich habe eine sehr detaillierte öffentliche Richtlinie (s3: GetObject) für einen Bucket festgelegt, den ich zum Hosten einer Website verwende. Route53 unterstützt zu diesem Zweck ausdrücklich das Aliasing eines Buckets. Ist diese Warnung nur überflüssig oder mache ich etwas falsch?

Andrew Johnson
quelle
1
@MichaelHampton Dies wird in der S3-Konsole ohne viel zusätzlichen Kontext angezeigt. businessinsights.bitdefender.com/…
ceejayoz
Verwandt - Kann AWS in einen privaten Bucket sehen oder muss es öffentlich sein, damit AWS auf darin enthaltene Dateien zugreifen kann?
Criggie
@Criggie AWS ist ihr Support-Team? Oder etwas anderes?
ceejayoz
@ceejayoz ja das AWS-Support-Team.
Criggie
Ich könnte mir vorstellen, dass sie bei einem bestimmten Grad an Unterstützung im Inneren herumstöbern, obwohl S3 die Verschlüsselung mit einem Nicht-Amazon-Schlüssel unterstützt. Ihre Prozesse sollten sicherstellen, dass dies nicht ohne ausdrückliche Erlaubnis geschieht, denke ich.
ceejayoz

Antworten:

67

Ja, wenn Sie wissen, was Sie tun ( bearbeiten: und jeder andere, der Zugriff darauf hat, auch ...), können Sie diese Warnung ignorieren.

Es existiert, weil selbst große Organisationen , die es besser wissen sollten, versehentlich private Daten in öffentliche Eimer gelegt haben. Amazon sendet Ihnen außerdem Heads-up-E-Mails, wenn Sie zusätzlich zu den Warnungen in der Konsole Eimer öffentlich lassen.

Die Wählerinformationen und militärischen Informationen von Accenture, Verizon, Viacom, Illinois wurden versehentlich allen online zur Verfügung gestellt, da IT-Mitarbeiter ihre S3-Silos falsch konfiguriert haben.

Wenn Sie absolut sicher sind, dass alles im Bucket öffentlich sein sollte und niemand versehentlich private Daten darin ablegt - eine statische HTML-Site ist ein gutes Beispiel -, lassen Sie sie auf jeden Fall öffentlich.

ceejayoz
quelle
2
In der Praxis sind Sie sich so gut wie nie zu 100% sicher.
Shadur
Es war erst ein paar Monate her, als entweder das FBI oder die CIA private Daten hinterließen, die auf einem öffentlichen S3 sicher sein sollten. Ich werde sehen, ob ich einen Link zum Artikel finden kann.
Reactgular
Siehe hier: gizmodo.com/…
Reactgular
Guter Vater, können Sie mir erklären, wie ich speziell zulasse, dass nur meine Website und meine Android-App auf die Objekte meines Eimers zugreifen können? Grundsätzlich möchte ich nicht, dass Leute meinen Eimerinhalt abkratzen. Aber meine Website und App sollten sie laden können.
bad_keypoints
35

Das in der Antwort von ceejayoz erwähnte Datenschutzproblem ist nicht das einzige Problem.
Das Lesen von Objekten aus einem S3-Bucket hat einen Preis. Sie werden von AWS für jeden Download aus diesem Bereich in Rechnung gestellt. Und wenn Sie viel Verkehr haben (oder wenn jemand, der Ihr Unternehmen schädigen möchte, den ganzen Tag lang heftig Dateien herunterlädt), wird dies schnell teuer.

Wenn Sie möchten, dass auf Dateien aus Ihrem Bucket öffentlich zugegriffen werden kann, sollten Sie eine Cloudfront-Distribution erstellen, die auf den S3-Bucket verweist und Zugriff darauf erhält .

Jetzt können Sie den Domain-Namen der Cloudfront Distribution verwenden, um Ihre Dateien bereitzustellen, ohne der Öffentlichkeit S3-Zugriff zu gewähren.
In dieser Konfiguration zahlen Sie für die Datennutzung von Cloudfront anstelle von S3. Und bei höheren Stückzahlen ist es viel billiger.

Quentin Hayot
quelle
2
CloudFlare funktioniert auch und ist wahrscheinlich noch billiger.
chrylis -on strike-