Bewährte Methoden für die Zugriffssteuerung - Amazon Simple Storage Service

Bewährte Methoden für die Zugriffssteuerung

Amazon S3 enthält eine Vielzahl von Sicherheitsfunktionen und -tools. Die folgenden Szenarien dienen als Leitfaden dafür, welche Tools und Einstellungen Sie bei der Ausführung bestimmter Aufgaben oder in bestimmten Umgebungen verwenden sollten. Die ordnungsgemäße Anwendung dieser Tools kann dazu beitragen, die Integrität Ihrer Daten zu wahren und sicherzustellen, dass die vorgesehenen Benutzer auf die Ressourcen zugreifen können.

Erstellen eines neuen Buckets

Wenn Sie einen neuen Bucket erstellen, sollten Sie die folgenden Tools und Einstellungen anwenden, um sicherzustellen, dass Ihre Amazon S3-Ressourcen geschützt sind. 

Block Public Access

S3 Block Public Access stellt vier Einstellungen bereit, die Ihnen helfen, eine versehentliche Offenlegung Ihrer S3-Ressourcen zu vermeiden. Sie können diese Einstellungen in jeder Kombination auf einzelne Zugriffspunkte, Buckets oder ganze AWS-Konten anwenden. Wenn Sie eine Einstellung auf ein Konto anwenden, gilt sie für alle Buckets und Zugriffspunkte, die dem Konto gehören. Standardmäßig wird auf neue Buckets, die in der Amazon S3-Konsole erstellt wurden, die Einstellung Block all public access (Jeden öffentlichen Zugriff blockieren) angewendet. 

Weitere Informationen finden Sie unter Die Bedeutung von „öffentlich“.

Wenn die S3 Block Public Access-Einstellungen zu restriktiv sind, können Sie AWS Identity and Access Management (IAM)-Identitäten verwenden, um bestimmten Benutzern Zugriff zu gewähren, statt alle Block Public Access-Einstellungen zu deaktivieren. Durch die Verwendung von Block Public Access mit IAM-Identitäten wird sichergestellt, dass eine von einer Block Public Access-Einstellung blockierte Operation zurückgewiesen wird, es sei denn, dem anfordernden Benutzer wurde eine spezifische Berechtigung erteilt.

Weitere Informationen finden Sie unter Block Public Access-Einstellungen.

Erteilung von Zugriff mit IAM-Identitäten

Verwenden Sie beim Einrichten von Konten für neue Teammitglieder, die S3-Zugriff benötigen, IAM-Benutzer und -Rollen, um nur die mindestens erforderlichen Berechtigungen zu erteilen. Sie können auch eine Form der IAM-Multi-Factor Authentication (MFA) implementieren, um eine robuste Identitätsgrundlage zu unterstützen. Mithilfe von IAM-Identitäten können Sie Benutzern spezifische Berechtigungen erteilen und angeben, auf welche Ressourcen sie zugreifen und welche Aktionen sie ausführen können. IAM-Identitäten stellen erweiterte Funktionen bereit, einschließlich der Möglichkeit, Benutzer zur Eingabe von Anmeldeinformationen zu verpflichten, bevor sie auf freigegebene Ressourcen zugreifen, und Berechtigungshierarchien auf verschiedene Objekte in einem einzelnen Bucket anzuwenden.

Weitere Informationen finden Sie unter Beispiel 1: Bucket-Eigentümer erteilt seinen Benutzern Bucket-Berechtigungen .

Bucket-Richtlinien

Mit Bucket-Richtlinien können Sie den Bucket-Zugriff personalisieren, um sicherzustellen, dass nur die Benutzer, die Sie genehmigt haben, auf Ressourcen zugreifen und Aktionen in ihnen ausführen können. Zusätzlich zu den Bucket-Richtlinien sollten Sie die Block Public Access-Einstellungen auf Bucket-Ebene verwenden, um den öffentlichen Zugriff auf Ihre Daten weiter einzuschränken.

Weitere Informationen finden Sie unter Verwenden von Bucket-Richtlinien.

Vermeiden Sie beim Erstellen von Richtlinien die Verwendung von Platzhaltern im Principal-Element, da dies allen Benutzer den Zugriff auf Ihre Amazon S3-Ressourcen ermöglicht. Es ist besser, die Benutzer oder Gruppen explizit aufzulisten, die auf den Bucket zugreifen dürfen. Anstatt einen Platzhalter für ihre Aktionen einzufügen, gewähren Sie ihnen spezifische Berechtigungen, wenn zutreffend.

Um die Praxis der geringsten erforderlichen Berechtigungen weiter zu unterstützen, sollten Deny-Anweisungen im Effect-Element so umfassend wie möglich und Allow-Anweisungen so eng wie möglich verfasst werden. Deny-Effekte in Verbindung mit der Aktion s3:* sind eine weitere gute Möglichkeit, bewährte Methoden für die Anmeldung der Benutzer zu implementieren, die in Richtlinienbedingungsanweisungen enthalten sind.

Weitere Informationen zur Angabe von Bedingungen für das Inkrafttreten einer Richtlinie finden Sie unter Beispiele für Amazon-S3-Bedingungsschlüssel.

Buckets in einer VPC-Umgebung

Wenn Sie Benutzer in einer Unternehmensumgebung hinzufügen, können Sie einen Virtual Private Cloud (VPC)-Endpunkt verwenden, um Benutzern in Ihrem virtuellen Netzwerk den Zugriff auf Ihre Amazon S3-Ressourcen zu ermöglichen. VPC-Endpunkte ermöglichen Entwicklern die Bereitstellung spezifischer Zugriffe und Berechtigungen für Benutzergruppen basierend auf dem Netzwerk, mit dem die jeweiligen Benutzer verbunden sind. Anstatt jeden einzelnen Benutzer einer IAM-Rolle oder -Gruppe hinzuzufügen, können Sie VPC-Endpunkte verwenden, um den Bucket-Zugriff abzulehnen, wenn die Anforderung nicht vom angegebenen Endpunkt stammt.

Weitere Informationen finden Sie unter Steuern des Zugriffs von VPC-Endpunkten mit Bucket-Richtlinien.

Speichern und Freigeben von Daten

Verwenden Sie die folgenden Tools und bewährten Methoden, um Ihre Amazon S3-Daten zu speichern und freizugeben.

Versioning und Objektsperre für Datenintegrität

Wenn Sie die Amazon S3-Konsole zum Verwalten von Buckets und Objekten verwenden, sollten Sie S3 Versioning und S3-Objektsperre implementieren. Diese Funktionen verhindern versehentliche Änderungen kritischer Daten und ermöglichen Ihnen das Rollback unbeabsichtigter Aktionen. Diese Funktion ist besonders nützlich, wenn mehrere Benutzer mit vollständigen Schreib- und Ausführungsberechtigungen auf die Amazon S3-Konsole zugreifen.

Weitere Informationen über S3 Versioning finden Sie unter Verwenden der Versioning in S3-Buckets. Weitere Informationen über die Objektsperre finden Sie unter Verwenden der S3-Objektsperre.

Verwaltung des Objektlebenszyklus hinsichtlich Kosteneffizienz

Um Objekte so zu verwalten, dass sie während des gesamten Lebenszyklus kostengünstig gespeichert werden, können Sie Lebenszyklusrichtlinien mit dem Objekt-Versioning verbinden. Lebenszyklusrichtlinien definieren Aktionen, die S3 während des Lebenszyklus eines Objekts ausführen soll. Sie können beispielsweise eine Lebenszyklusrichtlinie erstellen, die Objekte nach einem bestimmten Zeitraum in eine andere Speicherklasse überführt, archiviert oder löscht. Sie können eine Lebenszyklusrichtlinie für alle Objekte oder eine Teilmenge von Objekten im Bucket definieren, indem Sie ein freigegebenes Präfix oder Tag verwenden.

Weitere Informationen finden Sie unter Verwalten Ihres Speicher-Lebenszyklus.

Regionsübergreifende Replikation für mehrere Standorte

Wenn Sie Buckets erstellen, auf die von verschiedenen Standorten aus zugegriffen wird, sollten Sie die Implementierung einer regionsübergreifenden S3-Replikation in Betracht ziehen. Die regionsübergreifende Replikation trägt dazu bei, dass alle Benutzer Zugriff auf die Ressourcen erhalten, die sie benötigen, und erhöht die betriebliche Effizienz. Die regionsübergreifende Replikation verbessert die Verfügbarkeit durch das Kopieren von Objekten über S3-Buckets in verschiedenen AWS-Regionen hinweg. Die Verwendung dieses Tools erhöht jedoch die Speicherkosten.

Weitere Informationen finden Sie unter Replizieren von Objekten.

Berechtigungen für ein sicheres statisches Website-Hosting

Wenn Sie einen Bucket konfigurieren, der als eine öffentlich zugängliche statische Website verwendet werden soll, müssen Sie alle Block Public Access-Einstellungen deaktivieren. Es ist wichtig, nur s3:GetObject-Aktionen und nicht ListObject- oder PutObject-Berechtigungen bereitzustellen, wenn Sie die Bucket-Richtlinie für Ihre statische Website schreiben. Dies stellt sicher, dass Benutzer nicht alle Objekte im Bucket anzeigen oder eigene Inhalte hinzufügen können.

Weitere Informationen finden Sie unter Festlegen von Berechtigungen für den Website-Zugriff.

Amazon CloudFront bietet die Funktionen, die zum Einrichten einer sicheren statischen Website erforderlich sind. Statische Amazon S3-Websites unterstützen nur HTTP-Endpunkte. CloudFront nutzt den dauerhaften Speicher von Amazon S3 und bietet gleichzeitig zusätzliche Sicherheitsheader wie HTTPS. HTTPS fügt Sicherheit hinzu, indem eine normale HTTP-Anforderung verschlüsselt und vor gängigen Cyberangriffen geschützt wird.

Weitere Informationen finden Sie unter Erste Schritte mit einer sicheren statischen Website im Amazon CloudFront-Entwicklerhandbuch.

Freigabe von Ressourcen

Es gibt verschiedene Möglichkeiten, wie Sie Ressourcen für eine bestimmte Benutzergruppe freigeben können. Sie können die folgenden Tools verwenden, um eine Gruppe von Dokumenten oder anderen Ressourcen für eine einzelne Gruppe von Benutzern, eine Abteilung oder einen Standort freizugeben. Obwohl alle zum Erreichen des gleichen Ziels verwendet werden können, sind einige Tools möglicherweise besser als andere für die vorhandenen Einstellungen geeignet.

Benutzerrichtlinien

Mittels IAM-Gruppen und Benutzerrichtlinien können Sie Ressourcen für eine begrenzte Gruppe von Personen freigeben. Wenn Sie neue IAM-Benutzer erstellen, werden Sie aufgefordert, sie zu erstellen und einer Gruppe hinzuzufügen. Sie können Benutzer jedoch jederzeit erstellen und Gruppen hinzufügen. Wenn die Personen, für die Sie diese Ressourcen freigeben möchten, bereits in IAM eingerichtet sind, können Sie sie einer gemeinsamen Gruppe hinzufügen und den Bucket für ihre Gruppe innerhalb der Benutzerrichtlinie freigeben. Sie können IAM-Benutzerrichtlinien auch verwenden, um einzelne Objekte innerhalb eines Buckets freizugeben.

Weitere Informationen finden Sie unter Einem IAM-Benutzer den Zugriff auf einen Ihrer Buckets erlauben.

Zugriffskontrolllisten

In der Regel empfehlen wir, dass Sie S3-Bucket-Richtlinien oder IAM-Richtlinien für die Zugriffskontrolle verwenden. Amazon S3-Zugriffskontrolllisten (ACLs) sind ein Zugriffskontrollmechanismus, der älter ist als IAM. Wenn Sie bereits S3-ACLs verwenden und diese für ausreichend halten, müssen Sie keine Änderungen vornehmen. Bestimmte Zugriffssteuerungsszenarien erfordern jedoch die Verwendung von ACLs. Wenn beispielsweise ein Bucket-Eigentümer Berechtigungen für Objekte erteilen möchte, aber nicht alle Objekte im Besitz des Bucket-Eigentümers sind, muss der Objekteigentümer dem Bucket-Eigentümer zunächst eine Berechtigung erteilen. Dies erfolgt mittels einer Objekt-ACL.

Weitere Informationen finden Sie unter Beispiel 3: Bucket-Eigentümer, der Berechtigungen für Objekte erteilt, die ihm nicht gehören.

Präfixe

Wenn bestimmte Ressourcen aus einem Bucket freigeben möchten, können Sie mithilfe von Präfixen Berechtigungen auf Ordnerebene replizieren. Die Amazon S3-Konsole unterstützt das Ordnerkonzept als Möglichkeit zum Gruppieren von Objekten mithilfe eines freigegebenen Namenspräfixes für Objekte. Sie können anschließend ein Präfix innerhalb der Bedingungen der IAM-Richtlinie eines Benutzers angeben, um diesem explizite Berechtigungen für den Zugriff auf die Ressourcen zu erteilen, die diesem Präfix zugeordnet sind. 

Weitere Informationen finden Sie unter Organisieren von Objekten in der Amazon-S3-Konsole mithilfe von Ordnern.

Markieren

Wenn Sie für die Speicherkategorisierung Objektmarkierung verwenden, können Sie Objekte, die mit einem bestimmten Wert markiert wurden, für bestimmte Benutzer freigeben. Mithilfe der Ressourcenmarkierung können Sie den Zugriff auf Objekte basierend auf den Tags steuern, die mit der Ressource verknüpft sind, auf die ein Benutzer zugreifen möchte. Hierzu verwenden Sie die Bedingung ResourceTag/key-name innerhalb einer IAM-Benutzerrichtlinie, um den Zugriff auf die markierten Ressourcen zu ermöglichen.

Weitere Informationen finden Sie unter Steuern des Zugriffs auf AWS-Ressourcen mit Ressourcen-Tags im IAM-Benutzerhandbuch.

Schutz von Daten

Mit den folgenden Tools können Sie Daten während der Übertragung und im Ruhezustand schützen. Beides ist für die Wahrung der Integrität und Zugänglichkeit Ihrer Daten von kritischer Bedeutung.

Objekt-Verschlüsselung

Amazon S3 bietet verschiedene Optionen für die Objektverschlüsselung, um Daten während der Übertragung und im Ruhezustand zu schützen. Bei der serverseitigen Verschlüsselung wird das Objekt verschlüsselt, bevor es auf Datenträgern im Rechenzentrum gespeichert wird. Wenn die Objekte heruntergeladen werden, werden sie wieder entschlüsselt. Wenn Sie Ihre Anforderung authentifizieren und Zugriffsberechtigungen besitzen, gibt es in Bezug auf die Art und Weise, wie Sie auf verschlüsselte oder nicht verschlüsselte Objekte zugreifen, keinen Unterschied. Beim Einrichten der serverseitigen Verschlüsselung können Sie aus drei sich gegenseitig ausschließende Optionen wählen:

  • Von Amazon S3 verwaltete Schlüssel (SSE-S3)

  • Kundenmasterschlüssel (Customer Master Keys, CMKs), die im AWS Key Management Service (SSE-KMS) gespeichert sind

  • Vom Kunden bereitgestellte Schlüssel (SSE-C)

Weitere Informationen finden Sie unter Schützen von Daten mithilfe serverseitiger Verschlüsselung.

Clientseitige Verschlüsselung ist der Vorgang, bei dem Daten verschlüsselt werden, bevor sie an Amazon S3 gesendet werden. Weitere Informationen finden Sie unter Schützen von Daten mithilfe clientseitiger Verschlüsselung.

Signaturmethoden

Signature Version 4 ist der Prozess für die Hinzufügung von Authentifizierungsinformationen zu AWS-Anforderungen, die über HTTP gesendet werden. Aus Sicherheitsgründen müssen die meisten Anfragen an AWS mit einem Zugriffsschlüssel signiert werden, der aus einer Zugriffsschlüssel-ID und einem geheimen Zugriffsschlüssel besteht. Diese beiden Schlüssel werden in der Regel als Sicherheitsanmeldeinformationen bezeichnet.

Weitere Informationen finden Sie unter Authentifizierungsanforderungen (AWS Signature Version 4) und Signature Version 4-Signaturprozess.

Protokollierung und Überwachung

Die Überwachung ist wichtig, um die Zuverlässigkeit, Verfügbarkeit und Leistung Ihrer Amazon S3-Lösungen zu wahren. Dank der Überwachung können Sie einen Multi-Punkt-Fehler leicht debuggen, wenn ein solcher Fehler auftritt. Die Protokollierung kann Einsichten in Fehler bereitstellen, die Benutzer erhalten. Sie erhalten auch Informationen, wann welche Anforderungen übermittelt werden. AWS stellt verschiedene Tools für die Überwachung von Amazon S3-Ressourcen bereit:

  • Amazon CloudWatch

  • AWS CloudTrail

  • Amazon S3-Zugriffsprotokolle

  • AWS Trusted Advisor

Weitere Informationen finden Sie unter Protokollierung und Überwachung in Amazon S3.

Amazon S3 ist mit AWS CloudTrail integriert, einem Service, der die Aktionen eines Benutzers, einer Rolle oder eines AWS-Services in Amazon S3 protokolliert. Diese Funktion kann mit Amazon GuardDuty gekoppelt werden, das Bedrohungen gegen Ihre Amazon S3-Ressourcen überwacht, indem CloudTrail-Verwaltereignisse und CloudTrail S3-Datenereignisse analysiert werden. Diese Datenquellen überwachen verschiedene Arten von Aktivitäten. Beispielsweise umfassen S3-bezogene CloudTrail-Verwaltungsereignisse Vorgänge, die S3-Projekte auflisten oder konfigurieren. GuardDuty analysiert S3-Datenereignisse aus allen Ihren S3-Buckets und überwacht sie auf bösartige und verdächtige Aktivitäten.

Weitere Informationen finden Sie unter Amazon S3-Schutz in Amazon GuardDuty im Amazon GuardDuty-Benutzerhandbuch.