Festlegen von Berechtigungen für den Website-Zugriff - Amazon Simple Storage Service

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.

Festlegen von Berechtigungen für den Website-Zugriff

Wenn Sie einen Bucket als statische Website konfigurieren und Ihre Website öffentlich sein soll, können Sie öffentlichen Lesezugriff gewähren. Um Ihren Bucket öffentlich lesbar zu machen, müssen Sie die Block-Einstellungen für den öffentlichen Zugriff für den Bucket deaktivieren und eine Bucket-Richtlinie schreiben, die öffentlichen Lesezugriff gewährt. Wenn Ihr Bucket Objekte enthält, die nicht im Besitz des Bucket-Eigentümers sind, müssen Sie möglicherweise auch eine Objekt-Zugriffskontrollliste (Access Control List, ACL) hinzufügen, die jedem Benutzer Lesezugriff erteilt.

Wenn Sie die Block Public Access-Einstellungen für Ihren Bucket nicht deaktivieren möchten, Ihre Website aber trotzdem öffentlich sein soll, können Sie eine Amazon- CloudFront Verteilung erstellen, um Ihre statische Website bereitzustellen. Weitere Informationen finden Sie unter Beschleunigen Ihrer Website mit Amazon CloudFront oder Verwenden einer Amazon- CloudFront Verteilung zur Bereitstellung einer statischen Website im Amazon Route 53-Entwicklerhandbuch.

Anmerkung

Am Website-Endpunkt gibt Amazon S3 den HTTP-Antwortcode 404 (Not Found) zurück, wenn ein Benutzer ein nicht existierendes Objekt anfordert. Wenn das Objekt existiert, aber Sie keine Leseberechtigungen dafür erteilt haben, gibt der Website-Endpunkt den HTTP-Antwortcode 403 (Access Denied) zurück. Der Benutzer kann aus dem Antwortcode ableiten, ob ein bestimmtes Objekt existiert. Wenn Sie dieses Verhalten nicht wünschen, sollten Sie den Website-Support für Ihren Bucket nicht aktivieren.

Schritt 1: Bearbeiten der S3 Block Public Access-Einstellungen

Wenn Sie einen bestehenden Bucket als statische Website konfigurieren möchten, die einen öffentlichen Zugriff bietet, müssen Sie die Block Public Access-Einstellungen für diesen Bucket bearbeiten. Möglicherweise müssen Sie auch Ihre Einstellungen für Block Public Access auf Kontoebene bearbeiten. Amazon S3 wendet die restriktivste Kombination der Block Public Access-Einstellungen auf Bucket- und Kontoebene an.

Wenn Sie beispielsweise den öffentlichen Zugriff für einen Bucket erlauben, aber den gesamten öffentlichen Zugriff auf Kontoebene blockieren, blockiert Amazon S3 den öffentlichen Zugriff auf den Bucket weiter. In diesem Szenario müssten Sie Ihre Block Public Access-Einstellungen auf Bucket- und Kontoebene bearbeiten. Weitere Informationen finden Sie unter Blockieren des öffentlichen Zugriffs auf Ihren Amazon-S3-Speicher.

Standardmäßig blockiert Amazon S3 den öffentlichen Zugriff auf Ihr Konto und Ihre Buckets. Wenn Sie einen Bucket verwenden möchten, um eine statische Website zu hosten, können Sie diese Schritte verwenden, um Ihre Einstellungen für Block Public Access zu bearbeiten:

Warnung

Bevor Sie diesen Schritt ausführen, lesen Sie den Abschnitt Blockieren des öffentlichen Zugriffs auf Ihren Amazon-S3-Speicher, um sicherzustellen, dass Sie die mit dem Zulassen eines öffentlichen Zugriffs verbundenen Risiken kennen und akzeptieren. Wenn Sie die Einstellungen für Block Public Access deaktivieren, um Ihren Bucket öffentlich zu machen, kann jeder im Internet auf Ihren Bucket zugreifen. Wir empfehlen Ihnen, den gesamten öffentlichen Zugriff auf Ihre Buckets zu blockieren.

  1. Öffnen Sie die Amazon S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie den Namen des Buckets aus, den Sie als statische Website konfiguriert haben.

  3. Wählen Sie Permissions (Berechtigungen).

  4. Wählen Sie unter Block public access (bucket settings) (Öffentlichen Zugriff blockieren (Bucket-Einstellungen)), die Option Edit (Bearbeiten).

  5. Löschen Sie Block all public access (Gesamten öffentlichen Zugriff blockieren) und wählen Sie Save (Speichern).

    Warnung

    Bevor Sie diesen Schritt ausführen, lesen Sie den Abschnitt Blockieren des öffentlichen Zugriffs auf Ihren Amazon-S3-Speicher, um sicherzustellen, dass Sie die mit dem Zulassen eines öffentlichen Zugriffs verbundenen Risiken kennen und akzeptieren. Wenn Sie die Einstellungen für Block Public Access deaktivieren, um Ihren Bucket öffentlich zu machen, kann jeder im Internet auf Ihren Bucket zugreifen. Wir empfehlen Ihnen, den gesamten öffentlichen Zugriff auf Ihre Buckets zu blockieren.

    Amazon S3 deaktiviert die Block Public Access-Einstellungen für Ihren Bucket. Um eine öffentliche, statische Website zu erstellen, müssen Sie möglicherweise auch die Block Public Access-Einstellungen für Ihr Konto bearbeiten, bevor Sie eine Bucket-Richtlinie hinzufügen. Wenn Kontoeinstellungen für Block Public Access derzeit aktiviert sind, wird unter Block public access (bucket settings) (Öffentlichen Zugriff blockieren (Bucket-Einstellungen)) ein Hinweis angezeigt.

Schritt 2: Hinzufügen einer Bucket-Richtlinie

Um die Objekte in Ihrem Bucket öffentlich lesbar zu machen, müssen Sie eine Bucket-Richtlinie schreiben, die jedem die s3:GetObject-Berechtigung erteilt.

Nachdem Sie die Einstellungen für S3 Block Public Access bearbeitet haben, können Sie eine Bucket-Richtlinie hinzufügen, um öffentlichen Lesezugriff auf den Bucket zu gewähren. Wenn Sie öffentlichen Lesezugriff gewähren, kann jeder im Internet auf Ihren Bucket zugreifen.

Wichtig

Die zuvor genannte Richtlinie ist nur ein Beispiel und erlaubt Vollzugriff auf die Inhalte Ihres Buckets. Bevor Sie mit diesem Schritt fortfahren, lesen Sie den Abschnitt Wie kann ich die Dateien in meinem Amazon-S3-Bucket sichern?, um sicherzustellen, dass Sie die bewährten Methoden zum Sichern der Dateien in Ihrem S3-Bucket und die Risiken in Zusammenhang mit der Gewährung von öffentlichem Zugriff kennen.

  1. Wählen Sie unter Buckets den Namen Ihres Buckets aus.

  2. Wählen Sie Permissions (Berechtigungen).

  3. Wählen Sie unter Bucket Policy (Bucket-Richtlinie) Edit (Bearbeiten).

  4. Um öffentlichen Lesezugriff auf Ihre Website zu gewähren, kopieren Sie die folgende Bucket-Richtlinie und fügen Sie sie in den Bucket policy editor (Bucket-Richtlinieneditor) ein.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::Bucket-Name/*" ] } ] }
  5. Aktualisieren Sie den Resource zu Ihrem Bucket-Namen.

    In der obigen Beispiel-Bucket-Richtlinie ist Bucket-Name ein Platzhalter für den Bucket-Namen. Um diese Bucket-Richtlinie mit Ihrem eigenen Bucket zu verwenden, müssen Sie diesen Namen so aktualisieren, dass er mit Ihrem Bucket übereinstimmt.

  6. Wählen Sie Save Changes (Änderungen speichern).

    Es wird eine Meldung angezeigt, die darauf hinweist, dass die Bucket-Richtlinie erfolgreich hinzugefügt wurde.

    Wenn die Fehlermeldung Policy has invalid resource angezeigt wird, bestätigen Sie, dass der Bucket-Name in der Bucket-Richtlinie mit Ihrem Bucket-Namen übereinstimmt. Informationen zum Hinzufügen einer Bucket-Richtlinie finden Sie unter Wie füge ich eine S3-Bucket-Richtlinie hinzu?

    Wenn Sie eine Fehlermeldung erhalten und die Bucket-Richtlinie nicht speichern können, überprüfen Sie Ihr Konto und die Bucket-Einstellungen für Block Public Access, um zu bestätigen, dass Sie den öffentlichen Zugriff auf den Bucket zulassen.

Objektzugriffskontrolllisten

Sie können eine Bucket-Richtlinie verwenden, um Ihren Objekten öffentliche Leserechte zu erteilen. Die Bucket-Richtlinie gilt jedoch nur für Objekte, die sich im Besitz des Bucket-Eigentümers befinden. Wenn Ihr Bucket Objekte enthält, die nicht dem Bucket-Eigentümer gehören, sollte der Bucket-Eigentümer die Objekt-Access-Control-List (ACL) verwenden, um öffentlichen Lesezugriff auf diese Objekte zu gewähren.

S3 Object Ownership ist eine Amazon-S3-Einstellung auf Bucket-Ebene, mit der Sie sowohl die Eigentümerschaft von den Objekten steuern können, die in Ihre Buckets hochgeladen werden, als auch ACLs deaktivieren oder aktivieren können. Standardmäßig ist die Objekteigentümerschaft auf die Einstellung „Vom Bucket-Eigentümer erzwungen“ festgelegt und alle ACLs sind deaktiviert. Wenn ACLs deaktiviert sind, besitzt der Bucket-Eigentümer alle Objekte im Bucket und verwaltet den Zugriff darauf ausschließlich mithilfe von Zugriffsverwaltungsrichtlinien.

Die meisten modernen Anwendungsfälle in Amazon S3 erfordern keine ACLs mehr. Wir empfehlen Ihnen, ACLs deaktiviert zu lassen, außer unter ungewöhnlichen Umständen, in denen Sie den Zugriff für jedes Objekt einzeln steuern müssen. Wenn ACLs deaktiviert sind, können Sie mithilfe von Richtlinien den Zugriff auf alle Objekte in Ihrem Bucket steuern, unabhängig davon, wer die Objekte in Ihren Bucket hochgeladen hat. Weitere Informationen finden Sie unter Weitere Informationen finden Sie unter Steuern des Eigentums an Objekten und Deaktivieren von ACLs für Ihren Bucket..

Wichtig

Wenn Ihr Bucket die Einstellung „Vom Bucket-Eigentümer erzwungen“ für S3 Object Ownership verwendet, müssen Sie Richtlinien verwenden, um Zugriff auf Ihren Bucket und die darin enthaltenen Objekte zu gewähren. Wenn die Einstellung „Vom Bucket-Eigentümer erzwungen“ aktiviert ist, schlagen Anforderungen zum Festlegen von Zugriffssteuerungslisten (ACLs) oder zum Aktualisieren von ACLs fehl und geben den Fehlercode AccessControlListNotSupported zurück. Anfragen zum Lesen von ACLs werden weiterhin unterstützt.

Um ein Objekt über eine ACL öffentlich lesbar zu machen, erteilen Sie der Gruppe AllUsers die READ-Berechtigung, wie im folgenden Berechtigungselement dargestellt. Fügen Sie dieses Rechteelement der Objekt-ACL hinzu. Weitere Informationen zur Verwaltung von ACLs finden Sie unter Zugriffskontrolllisten (ACL) – Übersicht.

<Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>READ</Permission> </Grant>