Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Zugriffskontrolle in Amazon S3
AWS In ist eine Ressource eine Entität, mit der Sie arbeiten können. In Amazon Simple Storage Service (S3) sind Buckets und Objekte die ursprünglichen Amazon-S3-Ressourcen. Jeder S3-Kunde hat wahrscheinlich Buckets mit Objekten darin. Als S3 um neue Features erweitert wurde, kamen auch zusätzliche Ressourcen hinzu, aber nicht jeder Kunde nutzt diese funktionsspezifischen Ressourcen. Weitere Informationen zu Amazon-S3-Ressourcen finden Sie unter S3-Ressourcen.
Standardmäßig werden alle Amazon S3-Ressourcen als privat eingestuft. Standardmäßig können der Root-Benutzer des Kontos, das die Ressource erstellt hat (Ressourcenbesitzer), und IAM-Benutzer innerhalb dieses Kontos mit den erforderlichen Berechtigungen auf eine von ihnen erstellte Ressource zugreifen. Der Ressourceneigentümer entscheidet, wer sonst noch auf die Ressource zugreifen kann und welche Aktionen andere an der Ressource ausführen dürfen. S3 verfügt über verschiedene Tools zur Zugriffsverwaltung, mit denen Sie anderen Zugriff auf Ihre S3-Ressourcen gewähren können.
Die folgenden Abschnitte bieten Ihnen einen Überblick über S3-Ressourcen, die verfügbaren S3-Zugriffsverwaltungstools und die besten Anwendungsfälle für die einzelnen Zugriffsverwaltungstools. Die Listen in diesen Abschnitten sollen umfassend sein und alle S3-Ressourcen, Zugriffsverwaltungstools und allgemeine Anwendungsfälle für die Zugriffsverwaltung enthalten. Gleichzeitig sind diese Abschnitte als Verzeichnisse konzipiert, die Sie zu den gewünschten technischen Details führen. Wenn Sie sich mit einigen der folgenden Themen gut auskennen, können Sie zu dem Abschnitt springen, der für Sie relevant ist.
Weitere Informationen zu den Berechtigungen für S3-API-Operationen nach S3-Ressourcentypen finden Sie unter Erforderliche Berechtigungen für Amazon-S3-API-Operationen.
Topics
S3-Ressourcen
Die ursprünglichen Amazon-S3-Ressourcen sind Buckets und die darin enthaltenen Objekte. Wenn neue Funktionen zu S3 hinzugefügt werden, kommen auch neue Ressourcen hinzu. Nachfolgend sehen Sie eine vollständige Liste der S3-Ressourcen und ihrer jeweiligen Funktionen.
Ressourcentyp | Feature von Amazon S3 | Beschreibung |
---|---|---|
|
Kern-Features |
Ein Bucket ist ein Container für Objekte. Um ein Objekt in Amazon S3 zu speichern, erstellen Sie einen Bucket und laden Sie ein oder mehrere Objekte dann in den Bucket hoch. Weitere Informationen finden Sie unter Erstellen, Konfigurieren und Arbeiten mit Amazon S3-Buckets. |
|
Ein Objekt kann eine Datei und alle Metadaten sein, die diese Datei beschreiben. Wenn sich ein Objekt im Bucket befindet, können Sie es öffnen, herunterladen und verschieben. Weitere Informationen finden Sie unter Arbeiten mit Objekten in Amazon S3. |
|
|
Zugriffspunkte |
Zugangspunkte sind benannte Netzwerkendpunkte, die mit Buckets verbunden sind und mit denen Sie Amazon-S3-Objektoperationen wie |
|
|
Ein Object Lambda Access Point ist ein Zugangspunkt für einen Bucket, der auch mit einer Lambda-Funktion verknüpft ist. Mit Object Lambda Access Point können Sie |
|
|
Multi-Region Access Points stellen einen globalen Endpunkt bereit, mit dem Anwendungen Anforderungen von Amazon-S3-Buckets in mehreren AWS -Regionen ausführen können. Sie können Multi-Region Access Points verwenden, um Multi-Region-Anwendungen mit derselben Architektur zu erstellen, die in einer einzelnen Region verwendet wird, und diese Anwendungen dann überall auf der Welt ausführen. Anstatt Anfragen über das überlastete öffentliche Internet zu senden, werden Anwendungsanfragen an einen globalen Multi-Region-Access Point-Endpunkt automatisch über das AWS globale Netzwerk an den nächstgelegenen Amazon S3 S3-Bucket weitergeleitet. Weitere Informationen finden Sie unter Verwalten von Multi-Region-Traffic mit Multi-Region Access Points. |
|
S3 Batch Operations |
Eine Aufgabe ist eine Ressource des S3-Batch-Operations-Features. Sie können S3 Batch Operations verwenden, um Batch-Vorgänge in großem Umfang für Listen von Amazon-S3-Objekten durchzuführen, die Sie angeben. Amazon S3 verfolgt den Fortschritt der Batch-Vorgangsaufgabe, sendet Benachrichtigungen und speichert einen detaillierten Abschlussbericht über alle Aktionen, wodurch Ihnen eine vollständig verwaltete und überprüfbare Serverless-Erfahrung geboten wird. Weitere Informationen finden Sie unter Ausführen von Objektoperationen in großem Umfang mit Batch Operations. |
|
S3 Storage Lens |
Eine S3-Storage-Lens-Konfiguration erfasst organisationsweite Speichermetriken und Benutzerdaten über Konten hinweg. S3 Storage Lens bietet Administratoren eine zentrale und detaillierte Ansicht der Objektspeichernutzung und der Aktivitäten von Hunderten oder sogar Tausenden von Konten in einem Unternehmen, um Erkenntnisse auf mehreren Aggregationsebenen zu gewinnen. Weitere Informationen finden Sie unter Bewerten Ihrer Speicheraktivität und -nutzung mit Amazon S3 Storage Lens. |
|
Eine S3-Storage-Lens-Gruppe aggregiert Metriken mithilfe benutzerdefinierter Filter auf der Grundlage von Objektmetadaten. Mit Storage-Lens-Gruppen können Sie Details zu den Eigenschaften Ihrer Daten anzeigen, etwa die Objektverteilung nach Alter, die gängigsten Dateitypen usw. Weitere Informationen finden Sie unter Arbeiten mit S3-Storage-Lens-Gruppen zum Filtern und Aggregieren von Metriken. |
|
|
S3 Access Grants |
Eine S3-Access-Grants-Instance ist ein Container für die von Ihnen erstellten S3-Gewährungen. Mit S3 Access Grants können Sie Berechtigungen für Ihre Amazon-S3-Daten für IAM-Identitäten in Ihrem Konto, IAM-Identitäten in anderen Konten (kontoübergreifend) und Verzeichnisidentitäten, die aus Ihrem Unternehmensverzeichnis zu AWS IAM Identity Center hinzugefügt wurden, erstellen. Weitere Informationen zu S3 Access Grants finden Sie unter Verwalten des Zugriffs mit S3-Zugriffsberechtigungen. |
|
Ein Access Grants Location ist ein Bucket, ein Präfix innerhalb eines Buckets oder ein Objekt, das Sie in Ihrer S3-Access-Grants-Instance registrieren. Sie müssen Standorte innerhalb der S3-Access-Grants-Instance registrieren, bevor Sie eine Berechtigung für diesen Standort erstellen können. Anschließend können Sie mit S3 Access Grants Zugriff auf den Bucket, das Präfix oder das Objekt für IAM-Identitäten in Ihrem Konto, IAM-Identitäten in anderen Konten (kontoübergreifend) und Verzeichnisidentitäten gewähren, die aus Ihrem Unternehmensverzeichnis hinzugefügt wurden. AWS IAM Identity Center Weitere Informationen zu S3 Access Grants finden Sie unter Verwalten des Zugriffs mit S3-Zugriffsberechtigungen. |
|
|
Ein Access Grant ist eine individuelle Gewährung für Ihre Amazon-S3-Daten. Mit S3 Access Grants können Sie Berechtigungen für Ihre Amazon S3 S3-Daten für IAM-Identitäten in Ihrem Konto, IAM-Identitäten in anderen Konten (kontoübergreifend) und Verzeichnisidentitäten, die aus Ihrem Unternehmensverzeichnis hinzugefügt wurden, erstellen. AWS IAM Identity Center Weitere Informationen zu S3 Access Grants finden Sie unter Verwalten des Zugriffs mit S3-Zugriffsberechtigungen. |
Buckets
Es gibt zwei Arten von Amazon-S3-Buckets: Allzweck-Buckets und Verzeichnis-Buckets.
-
Allzweck-Buckets sind der ursprüngliche S3-Bucket-Typ und werden für die meisten Anwendungsfälle und Zugriffsmuster empfohlen. Allzweck-Buckets ermöglichen auch Objekte, die in allen Speicherklassen gespeichert werden, mit Ausnahme von S3 Express One Zone. Weitere Informationen über S3-Speicherklassen finden Sie unter Verstehen und Verwalten von Amazon-S3-Speicherklassen.
-
Verzeichnis-Buckets verwenden die Speicherklasse S3 Express One Zone. Dies wird empfohlen, wenn Ihre Anwendung leistungsempfindlich ist und von
PUT
- undGET
-Latenzen im einstelligen Millisekundenbereich profitiert. Weitere Informationen finden Sie unter Arbeiten mit Verzeichnis-Buckets, S3 Express One Zone und Autorisieren regionaler Endpunkt-API-Operationen mit IAM.
Kategorisierung von S3-Ressourcen
Amazon S3 bietet Funktionen zur Kategorisierung und Organisation Ihrer S3-Ressourcen. Die Kategorisierung Ihrer Ressourcen ist nicht nur nützlich, um sie zu organisieren, sondern Sie können auch Zugriffsverwaltungsregeln auf der Grundlage der Ressourcenkategorien festlegen. Insbesondere Präfixe und Tagging sind zwei Funktionen zur Speicherorganisation, die Sie bei der Festlegung von Zugriffsverwaltungsberechtigungen verwenden können.
Anmerkung
Die folgenden Informationen gelten für Allzweck-Buckets. Verzeichnis-Buckets unterstützen kein Tagging und haben Präfixbeschränkungen. Weitere Informationen finden Sie unter Autorisieren regionaler Endpunkt-API-Operationen mit IAM.
-
Präfixe – Ein Präfix in Amazon S3 ist eine Zeichenfolge am Anfang eines Objektschlüsselnamens, die zur Organisation der in Ihren S3-Buckets gespeicherten Objekte verwendet wird. Sie können ein Trennzeichen verwenden, z. B. einen Schrägstrich (
/
), um das Ende des Präfixes innerhalb des Objektschlüsselnamens anzugeben. Beispielsweise können Sie Objektschlüsselnamen verwenden, die mit dem Präfixengineering/
beginnen, oder Objektschlüsselnamen, die mit dem Präfixmarketing/campaigns/
beginnen. Die Verwendung eines Trennzeichens am Ende Ihres Präfixes, z. B. eines Schrägstrichs/
, emuliert die Benennungskonventionen für Ordner und Dateien. In S3 ist das Präfix jedoch Teil des Objektschlüsselnamens. In S3-Allzweck-Buckets gibt es keine tatsächliche Ordnerhierarchie.Amazon S3 unterstützt das Organisieren und Gruppieren von Objekten mithilfe ihrer Präfixe. Sie können den Zugriff auf Objekte auch anhand ihrer Präfixe verwalten. Beispielsweise können Sie den Zugriff auf Objekte beschränken, deren Namen mit einem bestimmten Präfix beginnen.
Weitere Informationen finden Sie unter Organisieren von Objekten mit Präfixen. Die S3-Konsole verwendet das Konzept von Ordnern, bei denen es sich bei Allzweck-Buckets im Wesentlichen um Präfixe handelt, die dem Objektschlüsselnamen vorangestellt werden. Weitere Informationen finden Sie unter Organisieren von Objekten in der Amazon S3-Konsole mithilfe von Ordnern.
-
Tags – Jeder Tag ist ein Schlüssel-Wert-Paar, das Sie zu Ressourcen zuweisen. Sie können beispielsweise einige Ressourcen mit dem Tag
topicCategory=engineering
markieren. Sie können Tagging verwenden, um die Kostenzuweisung, Kategorisierung und Organisation sowie die Zugriffssteuerung zu erleichtern. Bucket-Tagging wird nur für die Kostenzuweisung verwendet. Sie können Objekte, S3 Storage Lens, Aufträge und S3 Access Grants zu Organisationszwecken oder zur Zugriffskontrolle mit Tags versehen. In S3 Access Grants können Sie Tagging auch für die Kostenzuweisung verwenden. Als Beispiel für die Steuerung des Zugriffs auf Ressourcen mithilfe ihrer Tags können Sie nur Objekte teilen, die über ein bestimmtes Tag oder eine Kombination von Tags verfügen.Weitere Informationen finden Sie unter Steuern des Zugriffs auf AWS -Ressourcen mit Ressourcen-Tags im IAM-Benutzerhandbuch.
Identitäten
In Amazon S3 handelt es sich beim Ressourceneigentümer um die Identität, die die Ressource erstellt hat, z. B. ein Bucket oder ein Objekt. Standardmäßig können nur der Root-Benutzer des Kontos, das die Ressource erstellt hat, und IAM-Identitäten innerhalb des Kontos, die über die erforderlichen Berechtigungen verfügen, auf die S3-Ressource zugreifen. Ressourceneigentümer können anderen Identitäten Zugriff auf ihre S3-Ressourcen gewähren.
Identitäten, die keine Ressource besitzen, können Zugriff auf diese Ressource anfordern. Alle Anforderungen an einem Bucket sind entweder authentifiziert oder nicht authentifiziert. Authentifizierte Anforderungen müssen einen Signaturwert enthalten, der den Absender der Anforderung authentifiziert. Für nicht authentifizierte Anforderungen gilt dies jedoch nicht. Wir empfehlen, den Zugriff nur authentifizierten Benutzern zu gewähren. Weitere Informationen zur Anforderungsauthentifizierung finden Sie unter Senden von Anforderungen in der Amazon-S3-API-Referenz.
Wichtig
Wir empfehlen, dass Sie die AWS-Konto Root-Benutzeranmeldedaten nicht verwenden, um authentifizierte Anfragen zu stellen. Erstellen Sie stattdessen eine IAM-Rolle, der Sie vollständigen Zugriff gewähren. Wir bezeichnen Benutzer mit dieser Rolle als Administratorbenutzer. Sie können die der Administratorrolle zugewiesenen Anmeldeinformationen anstelle von AWS-Konto Root-Benutzeranmeldedaten verwenden, um mit Aufgaben wie dem Erstellen eines Buckets, dem Erstellen von Benutzern AWS und dem Erteilen von Berechtigungen zu interagieren und diese auszuführen. Weitere Informationen finden Sie unter Root-Benutzer-Anmeldeinformationen für AWS-Konto und IAM-Benutzer-Anmeldeinformationen in der Allgemeine AWS-Referenz und unter Bewährte Methoden für die Sicherheit in IAM im IAM-Benutzerhandbuch.
Es kann sich um eine der folgenden Identitäten handeln, die auf Ihre Daten in Amazon S3 zugreifen:
AWS-Konto owner
AWS-Konto Derjenige, der die Ressource erstellt hat. Zum Beispiel das Konto, das den Bucket erstellt hat. Dieses Konto ist Eigentümer der Ressource. Weitere Informationen finden Sie unter AWS -Root-Benutzer-Konto.
IAM-Identitäten im selben Konto des Besitzers AWS-Konto
Bei der Einrichtung von Konten für neue Teammitglieder, die S3-Zugriff benötigen, kann der AWS-Konto Besitzer AWS Identity and Access Management (IAM) verwenden, um Benutzer, Gruppen und Rollen zu erstellen. Der AWS-Konto Besitzer kann dann Ressourcen mit diesen IAM-Identitäten teilen. Der Kontoinhaber kann auch die Berechtigungen angeben, mit denen er den IAM-Identitäten zuweisen kann, wodurch die Aktionen, die auf den gemeinsam genutzten Ressourcen ausgeführt werden können, zugelassen oder verweigert werden.
IAM-Identitäten bieten erweiterte Möglichkeiten, einschließlich der Fähigkeit, von Benutzern zu verlangen, Anmeldedaten einzugeben, bevor sie auf geteilte Ressourcen zugreifen können. Indem Sie IAM-Identitäten verwenden, können Sie auch eine Form der IAM-Multi-Faktor-Authentifizierung (MFA) implementieren, um eine robuste Identitätsgrundlage zu unterstützen. Eine bewährte Methode für IAM besteht darin, Rollen für die Zugriffsverwaltung zu erstellen, anstatt jedem einzelnen Benutzer Berechtigungen zu gewähren. Sie weisen einzelnen Benutzern die entsprechende Rolle zu. Weitere Informationen finden Sie unter Bewährte IAM-Methoden.
Andere AWS Kontoinhaber und ihre IAM-Identitäten (kontoübergreifender Zugriff)
Der AWS-Konto Inhaber kann auch anderen AWS Kontoinhabern oder IAM-Identitäten, die zu einem anderen AWS Konto gehören, Zugriff auf Ressourcen gewähren.
Anmerkung
Berechtigungsdelegation – Wenn einem AWS-Konto eine Ressource gehört, kann es diese Berechtigungen einem anderen AWS-Konto erteilen. Dieses Konto kann diese Berechtigungen oder eine Untermenge davon an Benutzer im gleichen Konto delegieren. Dies wird auch als Berechtigungsdelegation bezeichnet. Ein Konto, das Berechtigungen von einem anderen Konto erhält, kann die Berechtigungen nicht „kontenübergreifend“ an ein anderes AWS-Konto delegieren.
Anonyme Benutzer (öffentlicher Zugriff)
Der AWS-Konto Besitzer kann Ressourcen veröffentlichen. Wenn eine Ressource veröffentlicht wird, wird die Ressource technisch gesehen mit dem anonymen Benutzer geteilt. Buckets, die seit April 2023 erstellt wurden, blockieren standardmäßig den gesamten öffentlichen Zugriff, sofern Sie diese Einstellung nicht ändern. Wir empfehlen, Ihre Buckets so zu konfigurieren, dass sie den öffentlichen Zugriff blockieren und nur authentifizierten Benutzern Zugriff gewähren. Weitere Informationen zum Blockieren des öffentlichen Zugriffs finden Sie unter Blockieren des öffentlichen Zugriffs auf Ihren Amazon-S3-Speicher.
AWS-Services
Der Ressourcenbesitzer kann einem anderen AWS Service Zugriff auf eine Amazon S3 S3-Ressource gewähren. Sie können dem AWS CloudTrail Service beispielsweise die s3:PutObject
Erlaubnis erteilen, Protokolldateien in Ihren Bucket zu schreiben. Weitere Informationen finden Sie unter Zugriff auf einen AWS Dienst bereitstellen.
Identitäten aus dem Unternehmensverzeichnis
Der Ressourcenbesitzer kann Benutzern oder Rollen aus Ihrem Unternehmensverzeichnis mithilfe von S3 Access Grants Zugriff auf eine S3-Ressource gewähren. Weitere Informationen zum Hinzufügen Ihres Unternehmensverzeichnisses finden Sie AWS IAM Identity Center unter Was ist IAM Identity Center? .
Eigentümer von Buckets oder Ressourcen
Derjenige AWS-Konto , den Sie verwenden, um Buckets zu erstellen und Objekte hochzuladen, besitzt diese Ressourcen. Ein Bucket-Eigentümer kann einem anderen AWS-Konto (oder Benutzern in einem anderen Konto) kontenübergreifende Berechtigungen erteilen, um Objekte hochzuladen.
Wenn ein Bucket-Eigentümer einem anderen Konto erlaubt, Objekte in einen Bucket hochzuladen, besitzt standardmäßig der Bucket-Besitzer alle Objekte, die in seinen Bucket hochgeladen wurden. Wenn jedoch sowohl die Bucket-Einstellungen „Bucket Owner erzwungen“ als auch „Bucket Owner Preferred“ deaktiviert sind, besitzt derjenige, der die Objekte hochlädt, diese Objekte, und der Bucket-Besitzer hat keine Berechtigungen für die Objekte, die einem anderen Konto gehören, mit den folgenden Ausnahmen: AWS-Konto
-
Der Bucket-Eigentümer zahlt die Rechnungen. Ein Bucket-Eigentümer kann explizit den Zugriff auf Objekte verweigern oder Objekte im Bucket löschen, unabhängig davon, wem sie gehören.
-
Ein Bucket-Eigentümer kann Objekte archivieren oder archivierte Objekte wiederherstellen, unabhängig davon, wem sie gehören. Die Archivierung bezieht sich auf die Speicherklasse, die beim Speichern der Objekte verwendet wurde. Weitere Informationen finden Sie unter Verwalten des Lebenszyklus von Objekten.
Tools zur Zugriffsverwaltung
Amazon S3 enthält eine Vielzahl von Sicherheitsfunktionen und -tools. Nachstehend finden Sie eine umfassende Liste dieser Funktionen und Tools. Sie benötigen nicht alle diese Tools zur Zugriffsverwaltung, aber Sie müssen eines oder mehrere verwenden, um Zugriff auf Ihre Amazon-S3-Ressourcen zu gewähren. Die ordnungsgemäße Anwendung dieser Tools kann sicherstellen, dass Ihre Ressourcen nur für die vorgesehenen Benutzer zugänglich sind.
Das am häufigsten verwendete Zugriffsverwaltungstool ist eine Zugriffsrichtlinie. Bei einer Zugriffsrichtlinie kann es sich um eine ressourcenbasierte Richtlinie handeln, die an eine AWS Ressource angehängt ist, z. B. eine Bucket-Richtlinie für einen Bucket. Eine Zugriffsrichtlinie kann auch eine identitätsbasierte Richtlinie sein, die an eine AWS Identity and Access Management (IAM)-Identität angefügt ist, z B. einen IAM-Benutzer, eine -Gruppe oder eine -Rolle. Schreiben Sie eine Zugriffsrichtlinie, um IAM-Benutzern, Gruppen AWS-Konten und Rollen die Erlaubnis zu erteilen, Operationen an einer Ressource auszuführen. Sie können beispielsweise einem anderen Konto die PUT Object
Erlaubnis erteilen, AWS-Konto sodass das andere Konto Objekte in Ihren Bucket hochladen kann.
Eine Zugriffsrichtlinie beschreibt, wer Zugriff auf welche Objekte hat. Wenn Amazon S3 eine Anforderung erhält, muss es alle Zugriffsrichtlinien auswerten, um festzustellen, ob es die Anforderungen genehmigen oder verweigern soll. Weitere Informationen dazu, wie Amazon S3 diese Richtlinien auswertet, finden Sie unter Wie Amazon S3 eine Anforderung autorisiert.
Nachstehend sind die in Amazon S3 verfügbaren Zugriffsverwaltungstools aufgeführt.
Eine Amazon-S3-Bucket-Richtlinie ist eine ressourcenbasierte AWS Identity and Access Management (IAM)-Richtlinie im JSON-Format, die an einen bestimmten Bucket angehängt ist. Verwenden Sie Bucket-Richtlinien, um anderen AWS-Konten oder IAM-Identitäten Berechtigungen für den Bucket und die darin enthaltenen Objekte zu gewähren. Viele Anwendungsfälle für die S3-Zugriffsverwaltung können durch die Verwendung einer Bucket-Richtlinie abgedeckt werden. Mit Bucket-Richtlinien können Sie den Zugriff auf Buckets personalisieren, um sicherzustellen, dass nur die von Ihnen genehmigten Identitäten auf Ressourcen zugreifen und Aktionen innerhalb dieser ausführen können. Weitere Informationen finden Sie unter Bucket-Richtlinien für Amazon S3.
Hier finden Sie ein Beispiel für eine Bucket-Richtlinie. Sie drücken die Bucket-Richtlinie mithilfe einer JSON-Datei aus. Diese Beispielrichtlinie gewährt einer IAM-Rolle die Leseberechtigung für alle Objekte im Bucket. Sie enthält eine Anweisung namens BucketLevelReadPermissions
, die die s3:GetObject
-Aktion (Lesezugriff) für Objekte in einem Bucket namens amzn-s3-demo-bucket1
erlaubt. Durch die Angabe einer IAM-Rolle als Principal
gewährt diese Richtlinie Zugriff für jeden IAM-Benutzer mit dieser Rolle. Wenn Sie diese Beispielrichtlinie verwenden möchten, ersetzen Sie
durch Ihre eigenen Informationen. user
input placeholders
{ "Version":"2012-10-17", "Statement": [ { "Sid":"
BucketLevelReadPermissions
", "Effect":"Allow", "Principal": { "AWS": "arn:aws:iam::123456789101
:role/s3-role
" }, "Action":["s3:GetObject"], "Resource":["arn:aws:s3:::amzn-s3-demo-bucket1/*
"] }] }
Anmerkung
Vermeiden Sie beim Erstellen von Richtlinien die Verwendung von Platzhalterzeichen (*
) im Principal
-Element, da ein Platzhalterzeichen allen Benutzer den Zugriff auf Ihre Amazon-S3-Ressourcen ermöglicht. Listen Sie stattdessen die Benutzer oder Gruppen explizit auf, die auf den Bucket zugreifen dürfen, oder führen Sie die Bedingungen auf, die erfüllt sein müssen, indem Sie eine Bedingungsklausel in der Richtlinie verwenden. Anstatt ein Platzhalterzeichen für die Aktionen ihrer Benutzer und Gruppen einzufügen, gewähren Sie ihnen spezifische Berechtigungen, wenn zutreffend.
Eine identitätsbasierte oder IAM-Benutzerrichtlinie ist eine Art von AWS Identity and Access Management (IAM)-Richtlinie. Eine identitätsbasierte Richtlinie ist eine JSON-formatierte Richtlinie, die IAM-Benutzern, -Gruppen oder -Rollen in Ihrem AWS -Konto zugewiesen wird. Sie können identitätsbasierte Richtlinien verwenden, um einer IAM-Identität Zugriff auf Ihre Buckets oder Objekte zu gewähren. Sie können IAM-Benutzer, Gruppen und Rollen in Ihrem Konto erstellen und ihnen Zugriffsrichtlinien zuordnen. Sie können dann Zugriff auf AWS -Ressourcen gewähren, einschließlich Amazon-S3-Ressourcen. Weitere Informationen finden Sie unter Identitätsbasierte Richtlinien für Amazon S3.
Nachstehend finden Sie ein Beispiel für eine identitätsbasierte Berechtigungsrichtlinie: Die Beispielrichtlinie erlaubt der zugeordneten IAM-Rolle, sechs verschiedene Amazon-S3-Aktionen (Berechtigungen) für einen Bucket und die darin enthaltenen Objekte auszuführen. Wenn Sie diese Richtlinie einer IAM-Rolle in Ihrem Konto zuordnen und die Rolle einigen Ihrer IAM-Benutzer zuweisen, können die Benutzer mit dieser Rolle diese Aktionen mit den in Ihrer Richtlinie angegebenen Ressourcen (Buckets) ausführen. Wenn Sie diese Beispielrichtlinie verwenden möchten, ersetzen Sie
durch Ihre eigenen Informationen.user input placeholders
{ "Version": "2012-10-17", "Statement": [ { "Sid": "
AssignARoleActions
", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*
", "arn:aws:s3:::amzn-s3-demo-bucket1
" ] }, { "Sid": "AssignARoleActions2
", "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" } ] }
Verwenden Sie S3 Access Grants, um Zugriffsberechtigungen für Ihre Amazon S3 S3-Daten für beide Identitäten in Unternehmensidentitätsverzeichnissen zu erstellen, z. B. Active Directoryund für AWS Identity and Access Management (IAM-) Identitäten. S3 Access Grants hilft Ihnen dabei, Datenberechtigungen in großem Umfang zu verwalten. Darüber hinaus protokolliert S3 Access Grants die Identität des Endbenutzers und die Anwendung, die für den Zugriff auf die S3-Daten in AWS CloudTrail verwendet wurde. Dies bietet einen detaillierten Auditverlauf bis hin zur Endbenutzeridentität für alle Zugriffe auf die Daten in Ihren S3-Buckets. Weitere Informationen finden Sie unter Verwalten des Zugriffs mit S3-Zugriffsberechtigungen.
Amazon S3 Access Points vereinfacht die Verwaltung des Datenzugriffs in großem Maßstab für Anwendungen, die gemeinsam genutzte Datensätze auf S3 verwenden. Zugangspunkte sind benannte Netzwerkendpunkte, die einem Bucket zugeordnet sind. Sie können Zugangspunkte verwenden, um S3-Objektoperationen in großem Maßstab auszuführen, wie z. B. das Hochladen und Abrufen von Objekten. Einem Bucket können bis zu 10 000 Zugangspunkte zugeordnet sein, und für jeden Zugangspunkt können Sie unterschiedliche Berechtigungen und Netzwerksteuerungen erzwingen, um Ihnen detaillierte Kontrolle über den Zugriff auf Ihre S3-Objekte zu ermöglichen. S3 Access Points können mit Buckets im selben Konto oder in einem anderen vertrauenswürdigen Konto verknüpft werden. Bei Access-Points-Richtlinien handelt es sich um ressourcenbasierte Richtlinien, die in Verbindung mit der zugrunde liegenden Bucket-Richtlinie bewertet werden. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf gemeinsam genutzte Datensätze mit Zugangspunkten.
Eine ACL ist eine Liste von Zuschüssen, in der der Empfänger und die erteilte Genehmigung identifiziert werden. ACLs anderen AWS-Konten Personen grundlegende Lese- oder Schreibberechtigungen gewähren. ACLs verwenden Sie ein Amazon S3 S3-spezifisches XML-Schema. Eine ACL ist eine Art von AWS Identity and Access Management (IAM)-Richtlinie. Eine Objekt-ACL wird verwendet, um den Zugriff auf ein Objekt zu verwalten, und eine Bucket-ACL wird verwendet, um den Zugriff auf einen Bucket zu verwalten. Bei Bucket-Richtlinien gibt es eine einzige Richtlinie für den gesamten Bucket, aber Objekte ACLs werden für jedes Objekt angegeben. Es wird empfohlen, die Option ACLs ausgeschaltet zu lassen, außer in Ausnahmefällen, in denen Sie den Zugriff für jedes Objekt einzeln steuern müssen. Weitere Informationen zur Verwendung finden ACLs Sie unterKontrolle des Besitzes von Objekten und Deaktivierung ACLs für Ihren Bucket.
Warnung
Die meisten modernen Anwendungsfälle in Amazon S3 erfordern nicht die Verwendung von ACLs.
Es folgt ein Beispiel für eine Bucket-ACL. Die Gewährung der ACL zeigt einen Bucket-Eigentümer, der eine Berechtigung für die volle Kontrolle besitzt.
<?xml version="1.0" encoding="UTF-8"?> <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> <ID>
Owner-Canonical-User-ID
</ID> <DisplayName>owner-display-name
</DisplayName> </Owner> <AccessControlList> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Canonical User"> <ID>Owner-Canonical-User-ID
</ID> <DisplayName>display-name
</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> </AccessControlList> </AccessControlPolicy>
Um den Zugriff auf Ihre Objekte zu verwalten, müssen Sie der Eigentümer des Objekts sein. Sie können die Bucket-Einstellung für Object Ownership verwenden, um die Eigentümerschaft von Objekten zu steuern, die in Ihren Bucket hochgeladen werden. Verwenden Sie auch Object Ownership, um die Option zu aktivieren ACLs. Standardmäßig ist für Object Ownership die Einstellung Bucket Owner erforced festgelegt und alle Optionen ACLs sind deaktiviert. Wenn ACLs diese Option deaktiviert ist, besitzt der Bucket-Besitzer alle Objekte im Bucket und verwaltet ausschließlich den Zugriff auf Daten. Um den Zugriff zu verwalten, verwendet der Bucket-Besitzer Richtlinien oder ein anderes Zugriffsverwaltungstool, ausgenommen ACLs. Weitere Informationen finden Sie unter Kontrolle des Besitzes von Objekten und Deaktivierung ACLs für Ihren Bucket.
Object Ownership verfügt über drei Einstellungen, mit denen Sie sowohl den Besitz von Objekten kontrollieren können, die in Ihren Bucket hochgeladen werden, als auch um sie zu aktivierenACLs:
ACLs ausgeschaltet
-
Bucket-Besitzer erzwungen (Standard) — ACLs sind ausgeschaltet, und der Bucket-Besitzer besitzt automatisch jedes Objekt im Bucket und hat die volle Kontrolle darüber. ACLs wirken sich nicht auf die Berechtigungen für Daten im S3-Bucket aus. Der Bucket verwendet ausschließlich Richtlinien, um die Zugriffssteuerung zu definieren.
ACLs eingeschaltet
-
Bucket-Eigentümer bevorzugt – Der Bucket-Eigentümer besitzt und hat die volle Kontrolle über neue Objekte, die andere Konten mit der
bucket-owner-full-control
-vordefinierten ACL. -
Objektschreiber — AWS-Konto Derjenige, der ein Objekt hochlädt, besitzt das Objekt, hat die volle Kontrolle darüber und kann anderen Benutzern Zugriff darauf gewähren. ACLs
Weitere bewährte Methoden
Überlegen Sie, die folgenden Bucket-Einstellungen und Tools zu verwenden, um Daten während der Übertragung und im Ruhezustand zu schützen, die beide entscheidend für die Aufrechterhaltung der Integrität und Zugänglichkeit Ihrer Daten sind
-
Öffentlichen Zugriff blockieren – Deaktivieren Sie nicht die Standardeinstellung Öffentlichen Zugriff blockieren auf Bucket-Ebene. Diese Einstellung blockiert standardmäßig den öffentlichen Zugriff auf Ihre Daten. Weitere Informationen zum Blockieren des öffentlichen Zugriffs finden Sie unter Blockieren des öffentlichen Zugriffs auf Ihren Amazon-S3-Speicher.
-
S3 Versioning – Aus Gründen der Datenintegrität können Sie die Bucket-Einstellung „S3 Versioning“ implementieren, mit der Ihre Objekte bei Updates versioniert werden, anstatt sie zu überschreiben. Sie können die das S3 Versioning verwenden, um bei Bedarf eine frühere Version zu speichern, abzurufen oder wiederherzustellen. Weitere Informationen über S3 Versioning finden Sie unter Beibehalten mehrerer Versionen von Objekten mit der S3-Versionsverwaltung.
-
S3 Object Lock – S3 Object Lock ist eine weitere Einstellung, die Sie implementieren können, um die Integrität von Daten zu wahren. Diese Funktion kann ein write-once-read-many (WORM-) Modell implementieren, um Objekte unveränderlich zu speichern. Weitere Informationen über Object Lock finden Sie unter Sperren von Objekten mit Object Lock.
-
Objektverschlü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 in Rechenzentren gespeichert wird. Wenn die Objekte heruntergeladen werden, werden sie wieder entschlüsselt. Wenn Sie Ihre Anforderung authentifizieren und über Zugriffsberechtigungen verfügen, gibt es in Bezug auf die Art und Weise, wie Sie auf verschlüsselte oder nicht verschlüsselte Objekte zugreifen, keinen Unterschied. Weitere Informationen finden Sie unter Schützen von Daten mit serverseitiger Verschlüsselung. S3 verschlüsselt standardmäßig neu hochgeladene Objekte. Weitere Informationen finden Sie unter Einstellen des Verhaltens der serverseitigen Verschlüsselung für Amazon S3-Buckets. Client-seitige 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 der clientseitigen Verschlüsselung.
-
Signaturmethoden — Bei Signature Version 4 werden Authentifizierungsinformationen zu AWS Anfragen hinzugefügt, die über HTTP gesendet werden. Aus Sicherheitsgründen AWS müssen die meisten Anfragen 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 Authentifizieren von Anfragen (AWS Signature Version 4) und Signaturprozess für Signature Version 4.
Aktionen
Eine vollständige Liste der S3-Berechtigungen und -Bedingungsschlüssel finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon S3 in der Service-Authorization-Referenz.
Weitere Informationen zu den Berechtigungen für S3-API-Operationen nach S3-Ressourcentypen finden Sie unter Erforderliche Berechtigungen für Amazon-S3-API-Operationen.
Aktionen
Die AWS Identity and Access Management (IAM-) Aktionen für Amazon S3 sind die möglichen Aktionen, die für einen S3-Bucket oder ein S3-Objekt ausgeführt werden können. Sie gewähren diese Aktionen Identitäten, damit sie auf Ihre S3-Ressourcen zugreifen können. Beispiele für S3-Aktionen sind s3:GetObject
zum Lesen von Objekten in einem Bucket und s3:PutObject
zum Schreiben von Objekten in einen Bucket.
Bedingungsschlüssel
Zusätzlich zu Aktionen sind IAM-Bedingungsschlüssel darauf beschränkt, Zugriff nur dann zu gewähren, wenn eine Bedingung erfüllt ist. Bedingungsschlüssel sind optional.
Anmerkung
In einer ressourcenbasierten Zugriffsrichtlinie, z. B. einer Bucket-Richtlinie oder in einer identitätsbasierten Richtlinie, können Sie Folgendes angeben:
-
Eine Aktion oder eine Reihe von Aktionen im
Action
-Element der Richtlinienanweisung. -
Im
Effect
-Element der Richtlinienanweisung können SieAllow
angeben, um die aufgeführten Aktionen zu erlauben, oderDeny
, um die aufgeführten Aktionen zu blockieren. Um die Praxis der geringsten Berechtigungen weiter aufrechtzuerhalten, solltenDeny
-Anweisungen imEffect
-Element der Zugriffsrichtlinie so allgemein wie möglich undAllow
-Anweisungen so spezifisch wie möglich sein.Deny
-Effekte in Kombination mit ders3:*
-Aktion sind eine weitere gute Möglichkeit, bewährte Opt-in-Vorgehensweisen für die Identitäten umzusetzen, die in den Bedingungsanweisungen der Richtlinie enthalten sind. -
Ein Bedingungsschlüssel im
Condition
-Element einer Richtlinienanweisung.
Anwendungsfälle für die Zugriffsverwaltung
Amazon S3 bietet Ressourceneigentümern eine Vielzahl von Tools, um Zugriff zu gewähren. Welches S3-Zugriffsverwaltungstool Sie verwenden, hängt von den S3-Ressourcen ab, die Sie teilen möchten, von den Identitäten, für die Sie Zugriff gewähren, und von den Aktionen, die Sie zulassen oder verweigern möchten. Möglicherweise möchten Sie eines oder mehrere S3-Zugriffsverwaltungstools verwenden, um den Zugriff auf Ihre S3-Ressourcen zu verwalten.
In den meisten Fällen können Sie eine Zugriffsrichtlinie verwenden, um Berechtigungen zu verwalten. Eine Zugriffsrichtlinie kann eine ressourcenbasierte Richtlinie sein, die an eine Ressource, z. B. einen Bucket, oder eine andere Amazon-S3-Ressource (S3-Ressourcen) angehängt ist. Eine Zugriffsrichtlinie kann auch eine identitätsbasierte Richtlinie sein, die einem AWS Identity and Access Management (IAM-) Benutzer, einer Gruppe oder einer Rolle in Ihrem Konto zugeordnet ist. Möglicherweise stellen Sie fest, dass eine Bucket-Richtlinie für Ihren Anwendungsfall besser geeignet ist. Weitere Informationen finden Sie unter Bucket-Richtlinien für Amazon S3. Alternativ können Sie mit AWS Identity and Access Management (IAM) IAM-Benutzer, -Gruppen und -Rollen innerhalb Ihres Unternehmens erstellen und deren Zugriff auf Buckets AWS-Konto und Objekte mithilfe identitätsbasierter Richtlinien verwalten. Weitere Informationen finden Sie unter Identitätsbasierte Richtlinien für Amazon S3.
Um Ihnen den Umgang mit diesen Zugriffsverwaltungsoptionen zu erleichtern, finden Sie nachstehend allgemeine Anwendungsfälle und Empfehlungen für Amazon-S3-Kunden in Bezug auf die einzelnen S3-Zugriffsverwaltungstools.
Alle Tools zur Zugriffsverwaltung können diesen grundlegenden Anwendungsfall erfüllen. Für diesen Anwendungsfall empfehlen wir die folgenden Tools zur Zugriffsverwaltung:
-
Bucket-Richtlinie – Wenn Sie Zugriff auf einen Bucket oder eine kleine Anzahl von Buckets gewähren möchten oder wenn Ihre Bucket-Zugriffsberechtigungen von Bucket zu Bucket ähnlich sind, verwenden Sie eine Bucket-Richtlinie. Mit Bucket-Richtlinien verwalten Sie eine Richtlinie für jeden Bucket. Weitere Informationen finden Sie unter Bucket-Richtlinien für Amazon S3.
-
Identitätsbasierte Richtlinie – Wenn Sie eine sehr große Anzahl von Buckets mit unterschiedlichen Zugriffsberechtigungen für jeden Bucket haben und nur wenige Benutzerrollen verwalten müssen, können Sie eine IAM-Richtlinie für Benutzer, Gruppen oder Rollen verwenden. IAM-Richtlinien sind auch eine gute Option, wenn Sie den Benutzerzugriff auf andere AWS Ressourcen sowie auf Amazon S3 S3-Ressourcen verwalten. Weitere Informationen finden Sie unter Beispiel 1: Bucket-Eigentümer erteilt seinen Benutzern Bucket-Berechtigungen.
-
S3 Access Grants – Sie können mit S3 Access Grants Zugriff auf Ihre S3-Buckets, -Präfixe oder -Objekte gewähren. Mit S3 Access Grants können Sie unterschiedliche Berechtigungen auf Objektebene nach Bedarf festlegen. Bucket-Richtlinien sind dagegen auf eine Größe von 20 KB begrenzt. Weitere Informationen finden Sie unter Erste Schritte mit S3 Access Grants.
-
Zugangspunkte – Sie können Zugangspunkte verwenden, bei denen es sich um benannte Netzwerkendpunkte handelt, die mit einem Bucket verknüpft sind. Einem Bucket können bis zu 10 000 Zugangspunkte zugeordnet sein, und für jeden Zugangspunkt können Sie unterschiedliche Berechtigungen und Netzwerksteuerungen erzwingen, um Ihnen detaillierte Kontrolle über den Zugriff auf Ihre S3-Objekte zu ermöglichen. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf gemeinsam genutzte Datensätze mit Zugangspunkten.
Um einem anderen Benutzer die Erlaubnis zu erteilen AWS-Konto, müssen Sie eine Bucket-Richtlinie oder eines der folgenden empfohlenen Zugriffsverwaltungstools verwenden. Für diesen Anwendungsfall können Sie keine identitätsbasierte Zugriffsrichtlinie verwenden. Weitere Informationen zum Gewähren von kontoübergreifendem Zugriff finden Sie unter Wie gewähre ich kontoübergreifenden Zugriff auf Objekte in Amazon-S3-Buckets?
Für diesen Anwendungsfall empfehlen wir die folgenden Tools zur Zugriffsverwaltung:
-
Bucket-Richtlinie – Mit Bucket-Richtlinien verwalten Sie eine Richtlinie für jeden Bucket. Weitere Informationen finden Sie unter Bucket-Richtlinien für Amazon S3.
-
S3 Access Grants – Sie können mit S3 Access Grants kontoübergreifende Berechtigungen für Ihre S3-Buckets, -Präfixe oder -Objekte gewähren. Sie können S3 Access Grants verwenden, um unterschiedliche Berechtigungen auf Objektebene nach Bedarf festzulegen. Bucket-Richtlinien sind dagegen auf eine Größe von 20 KB begrenzt. Weitere Informationen finden Sie unter Erste Schritte mit S3 Access Grants.
-
Zugangspunkte – Sie können Zugangspunkte verwenden, bei denen es sich um benannte Netzwerkendpunkte handelt, die mit einem Bucket verknüpft sind. Einem Bucket können bis zu 10 000 Zugangspunkte zugeordnet sein, und für jeden Zugangspunkt können Sie unterschiedliche Berechtigungen und Netzwerksteuerungen erzwingen, um Ihnen detaillierte Kontrolle über den Zugriff auf Ihre S3-Objekte zu ermöglichen. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf gemeinsam genutzte Datensätze mit Zugangspunkten.
In einer Bucket-Richtlinie können Sie beispielsweise Zugriff auf Objekte innerhalb eines Buckets gewähren, die ein bestimmtes Schlüsselnamenpräfix oder ein bestimmtes Tag haben. Beispielsweise könnten Sie eine Leseberechtigung für Objekte erteilen, die mit dem Schlüsselnamepräfix logs/
beginnen. Wenn Ihre Zugriffsberechtigungen jedoch je nach Objekt variieren, ist es möglicherweise nicht praktikabel, Berechtigungen für einzelne Objekte mithilfe einer Bucket-Richtlinie zu erteilen, insbesondere da Bucket-Richtlinien auf 20 KB begrenzt sind.
Für diesen Anwendungsfall empfehlen wir die folgenden Tools zur Zugriffsverwaltung:
-
S3 Access Grants – Sie können S3 Access Grants verwenden, um Berechtigungen auf Objekt- oder Präfixebene zu verwalten. Im Gegensatz zu Bucket-Richtlinien können Sie S3 Access Grants verwenden, um unterschiedliche Berechtigungen auf Objektebene nach Bedarf festzulegen. Bucket-Richtlinien sind auf eine Größe von 20 KB beschränkt. Weitere Informationen finden Sie unter Erste Schritte mit S3 Access Grants.
-
Zugangspunkte – Sie können Zugangspunkte verwenden, um Berechtigungen auf Objekt- oder Präfix-Ebene zu verwalten. Zugangspunkte sind benannte Netzwerkendpunkte, die einem Bucket zugeordnet sind. Einem Bucket können bis zu 10 000 Zugangspunkte zugeordnet sein, und für jeden Zugangspunkt können Sie unterschiedliche Berechtigungen und Netzwerksteuerungen erzwingen, um Ihnen detaillierte Kontrolle über den Zugriff auf Ihre S3-Objekte zu ermöglichen. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf gemeinsam genutzte Datensätze mit Zugangspunkten.
-
ACLs— Wir raten davon ab, Zugriffskontrolllisten (ACLs) zu verwenden, vor allem, weil diese auf 100 Berechtigungen ACLs pro Objekt begrenzt sind. Wenn Sie sich jedoch dafür entscheiden, diese Option zu aktivieren ACLs, setzen Sie in Ihren Bucket-Einstellungen die Option Objekteigentum auf „Bevorzugter und ACLs aktivierter Bucket Owner“. Mit dieser Einstellung gehören neue Objekte, die mit der von
bucket-owner-full-control
vordefinierten ACL geschrieben werden, automatisch dem Bucket-Eigentümer und nicht dem Objekt-Writer. Sie können dann Objekt verwenden ACLs, bei dem es sich um eine Zugriffsrichtlinie im XML-Format handelt, um anderen Benutzern Zugriff auf das Objekt zu gewähren. Weitere Informationen finden Sie unter Zugriffskontrolllisten (ACL) – Übersicht.
Für diesen Anwendungsfall empfehlen wir die folgenden Tools zur Zugriffsverwaltung:
-
Bucket-Richtlinie – Mit Bucket-Richtlinien verwalten Sie eine Richtlinie für jeden Bucket. Weitere Informationen finden Sie unter Bucket-Richtlinien für Amazon S3.
-
Access Points – Amazon S3 Access Points sind benannte Netzwerk-Endpunkte, die an Buckets angehängt sind. Einem Bucket können bis zu 10 000 Zugangspunkte zugeordnet sein, und für jeden Zugangspunkt können Sie unterschiedliche Berechtigungen und Netzwerksteuerungen erzwingen, um Ihnen detaillierte Kontrolle über den Zugriff auf Ihre S3-Objekte zu ermöglichen. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf gemeinsam genutzte Datensätze mit Zugangspunkten.
Für diesen Anwendungsfall empfehlen wir das folgende Zugriffsverwaltungstool:
-
Access Points – Amazon S3 Access Points sind benannte Netzwerk-Endpunkte, die an Buckets angehängt sind. Einem Bucket können bis zu 10 000 Zugangspunkte zugeordnet sein, und für jeden Zugangspunkt können Sie unterschiedliche Berechtigungen und Netzwerksteuerungen erzwingen, um Ihnen detaillierte Kontrolle über den Zugriff auf Ihre S3-Objekte zu ermöglichen. Jeder Zugriffspunkt erzwingt eine benutzerdefinierte Zugriffspunktrichtlinie, die in Verbindung mit der Bucket-Richtlinie funktioniert, die dem zugrunde liegenden Bucket zugeordnet ist. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf gemeinsam genutzte Datensätze mit Zugangspunkten.
Virtual Private Cloud (VPC)-Endpunkte für Amazon S3 sind logische Entitäten innerhalb einer VPC, die Konnektivität nur mit Amazon S3 ermöglichen. Für diesen Anwendungsfall empfehlen wir die folgenden Tools zur Zugriffsverwaltung:
-
Buckets in einer VPC-Einstellung – Sie können eine Bucket-Richtlinie verwenden, um zu steuern, wer auf Ihre Buckets zugreifen darf und auf welche VPC-Endpunkte sie zugreifen können. Weitere Informationen finden Sie unter Steuern des Zugriffs von VPC-Endpunkten mit Bucket-Richtlinien.
-
Zugangspunkte – Wenn Sie Zugangspunkte einrichten möchten, können Sie eine Zugangspunktrichtlinie verwenden. Sie können jeden Zugriffspunkt so konfigurieren, dass nur Anforderungen aus einer Virtual Private Cloud (VPC) akzeptiert werden, um den Amazon S3-Datenzugriff auf ein privates Netzwerk zu beschränken. Sie können auch benutzerdefinierte Block Public Access-Einstellungen für jeden Zugriffspunkt konfigurieren. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf gemeinsam genutzte Datensätze mit Zugangspunkten.
Mit S3 können Sie eine statische Website hosten und jedem ermöglichen, den Inhalt der Website anzusehen, die von einem S3-Bucket aus gehostet wird.
Für diesen Anwendungsfall empfehlen wir die folgenden Tools zur Zugriffsverwaltung:
-
Amazon CloudFront — Mit dieser Lösung können Sie eine statische Amazon S3 S3-Website für die Öffentlichkeit hosten und gleichzeitig den gesamten öffentlichen Zugriff auf den Inhalt eines Buckets blockieren. Wenn Sie alle vier S3 Block Public Access-Einstellungen aktiviert lassen und eine statische S3-Website hosten möchten, können Sie Amazon CloudFront Origin Access Control (OAC) verwenden. Amazon CloudFront bietet die Funktionen, die für die Einrichtung einer sicheren statischen Website erforderlich sind. Außerdem können statische Amazon S3 S3-Websites, die diese Lösung nicht verwenden, nur HTTP-Endpunkte unterstützen. CloudFront verwendet den dauerhaften Speicher von Amazon S3 und stellt gleichzeitig zusätzliche Sicherheitsheader wie HTTPS bereit. HTTPS erhöht die Sicherheit, 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 Developer Guide.
-
Ihren Amazon-S3-Bucket öffentlich zugänglich machen – Sie können einen Bucket konfigurieren, der als eine öffentlich zugängliche statische Website verwendet wird.
Warnung
Wir raten von dieser Methode ab. Stattdessen empfehlen wir Ihnen, statische Amazon S3 S3-Websites als Teil von Amazon zu verwenden CloudFront. Weitere Informationen finden Sie unter Erste Schritte mit einer sicheren statischen Website.
Um eine statische Amazon S3 S3-Website ohne Amazon CloudFront zu erstellen, müssen Sie zunächst alle Block Public Access-Einstellungen deaktivieren. Wenn Sie die Bucket-Richtlinie für Ihre statische Website schreiben, achten Sie darauf, nur
s3:GetObject
-Aktionen und keineListObject
- oderPutObject
-Berechtigungen zuzulassen. 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.
Wenn Sie einen neuen Amazon-S3-Bucket erstellen, ist die Einstellung Block Public Access standardmäßig aktiviert. Weitere Informationen zum Blockieren des öffentlichen Zugriffs finden Sie unter Blockieren des öffentlichen Zugriffs auf Ihren Amazon-S3-Speicher.
Wir empfehlen nicht, öffentlichen Zugriff auf Ihren Bucket zu gewähren. Wenn Sie dies jedoch für einen bestimmten Anwendungsfall tun müssen, empfehlen wir das folgende Zugriffsverwaltungstool:
-
Einstellung „Öffentlichen Zugriff blockieren“ deaktivieren – Ein Bucket-Eigentümer kann nicht authentifizierte Anforderungen an den Bucket zulassen. Beispielsweise sind nicht authentifizierte PUT-Object-Anforderungen erlaubt, wenn ein Bucket eine öffentliche Bucket-Richtlinie hat oder wenn eine Bucket-ACL öffentlichen Zugriff gewährt. Alle nicht authentifizierten Anfragen werden von anderen beliebigen AWS Benutzern oder sogar von nicht authentifizierten, anonymen Benutzern gestellt. Dieser Benutzer wird durch die spezifische ACLs kanonische Benutzer-ID repräsentiert.
65a011a29cdf8ec533ec3d1ccaae921c
Wenn ein Objekt zuWRITE
oderFULL_CONTROL
hochgeladen wird, gewährt dies ausdrücklich Zugriff auf die Gruppe „Alle Benutzer“ oder den anonymen Benutzer. Weitere Hinweise zu öffentlichen Bucket-Richtlinien und öffentlichen Zugriffskontrolllisten (ACLs) finden Sie unter. Die Bedeutung von „öffentlich“
Sowohl für Bucket-Richtlinien als auch für identitätsbasierte Richtlinien gilt eine Größenbeschränkung von 20 KB. Wenn Ihre Anforderungen an Zugriffsberechtigungen komplex sind, überschreiten Sie möglicherweise diese Größenbeschränkung.
Wir haben für diesen Anwendungsfall die folgenden Tools zur Zugriffsverwaltung empfohlen:
-
Zugangspunkt – Verwenden Sie Zugangspunkte, wenn dies für Ihren Anwendungsfall funktioniert. Bei Zugangspunkten hat jeder Bucket mehrere benannte Netzwerkendpunkte, von denen jeder seine eigene Zugangspunktrichtlinie hat, die mit der zugrunde liegenden Bucket-Richtlinie funktioniert. Zugangspunkte können jedoch nur auf Objekte, nicht auf Buckets, einwirken und unterstützen keine regionsübergreifende Replikation. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf gemeinsam genutzte Datensätze mit Zugangspunkten.
-
S3 Access Grants – Verwenden Sie S3 Access Grants, das eine sehr große Anzahl von Erteilungen unterstützt, die Zugriff auf Buckets, Präfixe oder Objekte gewähren. Weitere Informationen finden Sie unter Erste Schritte mit S3 Access Grants.
Anstatt Benutzer, Gruppen und Rollen über AWS Identity and Access Management (IAM) zu verwalten, können Sie Ihr Unternehmensverzeichnis zu AWS IAM Identity Center hinzufügen. Weitere Informationen finden Sie unter Was Ist IAM Identity Center?.
Nachdem Sie Ihr Unternehmensverzeichnis hinzugefügt haben, empfehlen wir Ihnen AWS IAM Identity Center, das folgende Zugriffsverwaltungstool zu verwenden, um den Identitäten des Unternehmensverzeichnisses Zugriff auf Ihre S3-Ressourcen zu gewähren:
-
S3 Access Grants – Verwenden Sie S3 Access Grants, das die Gewährung von Zugriff für Benutzer oder Rollen in Ihrem Unternehmensverzeichnis unterstützt. Weitere Informationen finden Sie unter Erste Schritte mit S3 Access Grants.
Für diesen Anwendungsfall haben wir das folgende Zugriffsverwaltungstool empfohlen:
-
Bucket ACL — Der einzig empfohlene Anwendungsfall für Bucket ACLs ist die Gewährung von Berechtigungen für bestimmte Benutzer AWS-Services, z. B. für das CloudFront
awslogsdelivery
Amazon-Konto. Wenn Sie eine Distribution erstellen oder aktualisieren und die CloudFront Protokollierung aktivieren, CloudFront aktualisiert die Bucket-ACL, sodass dasawslogsdelivery
KontoFULL_CONTROL
berechtigt ist, Logs in Ihren Bucket zu schreiben. Weitere Informationen finden Sie unter Erforderliche Berechtigungen für die Konfiguration der Standardprotokollierung und für den Zugriff auf Ihre Protokolldateien im Amazon CloudFront Developer Guide. Wenn der Bucket, in dem die Logs gespeichert werden, die Einstellung Bucket Ownerforced für die Deaktivierung von S3 Object Ownership verwendet ACLs, CloudFront können keine Logs in den Bucket geschrieben werden. Weitere Informationen finden Sie unter Kontrolle des Besitzes von Objekten und Deaktivierung ACLs für Ihren Bucket.
Sie können anderen Konten Zugriff gewähren, um Objekte in Ihren Bucket hochzuladen, indem Sie eine Bucket-Richtlinie, einen Zugangspunkt oder S3 Access Grants verwenden. Wenn Sie kontoübergreifenden Zugriff auf Ihren Bucket gewährt haben, können Sie sicherstellen, dass Sie weiterhin die volle Kontrolle über alle in Ihren Bucket hochgeladenen Objekte haben.
Für diesen Anwendungsfall haben wir das folgende Zugriffsverwaltungstool empfohlen:
-
Objekteigentümerschaft – Behalten Sie für die Einstellung Objekteigentümerschaft auf Bucket-Ebene die Standardeinstellung Bucket-Eigentümer erzwungen bei.
Fehlerbehebung bei der Zugriffsverwaltung
Die folgenden Ressourcen können Sie bei der Behebung von Problemen mit der S3-Zugriffsverwaltung unterstützen:
Beheben von Fehlern aufgrund einer Zugriffsverweigerung (403 Forbidden)
Wenn Sie auf Probleme mit der Zugriffsverweigerung stoßen, überprüfen Sie die Einstellungen auf Konto- und Bucket-Ebene. Überprüfen Sie außerdem die Zugriffsverwaltungsfunktion, mit der Sie den Zugriff gewähren, um sicherzustellen, dass die Richtlinie, Einstellung oder Konfiguration korrekt ist. Weitere Informationen zu den häufigsten Ursachen für den Fehler „Zugriff verweigert“ (403 Forbidden) in Amazon S3 finden Sie unter Problembehandlung beim Zugriff verweigert (403 Forbidden) Fehler in Amazon S3.
IAM Access Analyzer für S3
Wenn Sie keine Ihrer Ressourcen öffentlich zugänglich machen oder den öffentlichen Zugriff auf Ihre Ressourcen einschränken möchten, können Sie IAM Access Analyzer für S3 verwenden. Verwenden Sie auf der Amazon S3 S3-Konsole IAM Access Analyzer for S3, um alle Buckets zu überprüfen, die über Bucket-Zugriffskontrolllisten (ACLs), Bucket-Richtlinien oder Zugriffspunktrichtlinien verfügen, die öffentlichen oder gemeinsamen Zugriff gewähren. IAM Access Analyzer for S3 warnt Sie vor Buckets, die so konfiguriert sind, dass sie allen Personen im Internet oder auf anderen Websites AWS-Konten, auch AWS-Konten außerhalb Ihrer Organisation, Zugriff gewähren. Für jeden öffentlichen oder freigegebenen Bucket erhalten Sie Ergebnisse, die die Quelle und die Ebene des öffentlichen oder freigegebenen Zugriffs melden.
In IAM Access Analyzer für S3 können Sie den gesamten öffentlichen Zugriff auf einen Bucket mit einer einzigen Aktion blockieren. Wir empfehlen Ihnen, den gesamten öffentlichen Zugriff auf Ihre Buckets zu blockieren, es sei denn, Sie benötigen öffentlichen Zugriff, um einen bestimmten Anwendungsfall zu unterstützen. Bevor Sie den gesamten öffentlichen Zugriff blockieren, stellen Sie sicher, dass Ihre Anwendungen ohne öffentlichen Zugriff weiterhin ordnungsgemäß funktionieren. Weitere Informationen finden Sie unter Blockieren des öffentlichen Zugriffs auf Ihren Amazon-S3-Speicher.
Sie können auch Ihre Berechtigungseinstellungen auf Bucket-Ebene überprüfen, um detaillierte Zugriffsebenen zu konfigurieren. Für bestimmte und geprüfte Anwendungsfälle, die öffentlichen oder freigegebenen Zugriff erfordern, können Sie Ihre Absicht bestätigen und aufzeichnen, dass der Bucket öffentlich oder freigegeben bleibt, indem Sie die Ergebnisse für den Bucket archivieren. Diese Bucket-Konfigurationen sind jederzeit aufrufbar und änderbar. Sie können Ihre Ergebnisse auch als CSV-Bericht zu Auditing-Zwecken herunterladen.
IAM Access Analyzer für S3 ist ohne zusätzliche Kosten in der Amazon-S3-Konsole verfügbar. IAM Access Analyzer für S3 wird von AWS Identity and Access Management (IAM) IAM Access Analyzer bereitgestellt. Um den IAM Access Analyzer für S3 in der Amazon-S3-Konsole zu verwenden, müssen Sie die IAM-Konsole
Weitere Informationen zu IAM Access Analyzer für S3 finden Sie unter Überprüfen des Bucket-Zugriffs mit IAM Access Analyzer für S3.
Protokollierung und Überwachung
Die Überwachung ist wichtig, um die Zuverlässigkeit, Verfügbarkeit und Leistung Ihrer Amazon S3-Lösungen zu wahren. Damit können Sie Zugriffsfehler leicht beheben. Die Protokollierung kann Aufschluss darüber geben, welche Fehler Benutzer erhalten und wann und welche Anfragen gestellt werden. AWS bietet verschiedene Tools zur Überwachung Ihrer Amazon S3 S3-Ressourcen, wie z. B. die folgenden:
-
AWS CloudTrail
-
Amazon-S3-Zugriffsprotokolle
-
AWS Trusted Advisor
-
Amazon CloudWatch
Weitere Informationen finden Sie unter Protokollierung und Überwachung in Amazon S3.