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 dem Bucket-Besitzer gehören, müssen Sie möglicherweise auch eine Objektzugriffskontrollliste (ACL) hinzufügen, die allen Benutzern Lesezugriff gewährt.

Wenn Sie die Einstellungen zum Blockieren des öffentlichen Zugriffs für Ihren Bucket nicht deaktivieren möchten, Ihre Website aber trotzdem öffentlich zugänglich sein soll, können Sie eine CloudFront Amazon-Distribution erstellen, um Ihre statische Website bereitzustellen. Weitere Informationen finden Sie unter Beschleunigen Sie Ihre Website mit Amazon CloudFront oder Verwenden einer CloudFront Amazon-Distribution zur Bereitstellung einer statischen Website im Amazon Route 53-Entwicklerhandbuch.

Anmerkung

Wenn ein Benutzer auf dem Endpunkt der Website ein Objekt anfordert, das nicht existiert, gibt Amazon S3 einen HTTP Antwortcode zurück404 (Not Found). Wenn das Objekt existiert, Sie aber keine Leseberechtigung dafür erteilt haben, gibt der Website-Endpunkt den HTTP Antwortcode zurück403 (Access Denied). 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 diese Schritte ausführen, sollten Sie sicherstellen, Blockieren des öffentlichen Zugriffs auf Ihren Amazon-S3-Speicher dass Sie die Risiken verstehen und akzeptieren, die mit der Gewährung eines öffentlichen Zugriffs verbunden sind. 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 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).

    Die Amazon S3 S3-Konsole, auf der die Bucket-Einstellungen für den Block Public Access angezeigt werden.

    Amazon S3 deaktiviert die Einstellungen für den Block Public Access für Ihren Bucket. Um eine öffentliche statische Website zu erstellen, müssen Sie möglicherweise auch die Einstellungen zum Blockieren des öffentlichen Zugriffs für Ihr Konto bearbeiten, bevor Sie eine Bucket-Richtlinie hinzufügen. Wenn die Einstellungen „Öffentlichen Zugriff blockieren“ für Ihr Konto derzeit aktiviert sind, wird unter „Ö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.

    Im obigen Beispiel für eine Bucket-Richtlinie Bucket-Name ist 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-Besitzer gehören, sollte der Bucket-Besitzer die Objektzugriffskontrollliste (ACL) verwenden, um öffentliche READ Berechtigungen für diese Objekte zu erteilen.

S3 Object Ownership ist eine Einstellung auf Amazon S3 S3-Bucket-Ebene, mit der Sie sowohl das Eigentum an den Objekten kontrollieren können, die in Ihren Bucket hochgeladen werden, als auch um sie zu deaktivieren oder zu aktivieren. ACLs Standardmäßig ist für Object Ownership die erzwungene Einstellung des Bucket-Besitzers festgelegt, und alle sind ACLs deaktiviert. Wenn ACLs diese Option deaktiviert ist, besitzt der Bucket-Besitzer alle Objekte im Bucket und verwaltet den Zugriff darauf ausschließlich mithilfe von Zugriffsverwaltungsrichtlinien.

Für die meisten modernen Anwendungsfälle in Amazon S3 ist die Verwendung von nicht mehr erforderlichACLs. Wir empfehlen, die ACLs Option deaktiviert zu lassen, außer in Ausnahmefällen, in denen Sie den Zugriff für jedes Objekt einzeln steuern müssen. Wenn diese ACLs Option deaktiviert ist, 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 Kontrolle des Besitzes von Objekten und Deaktivierung 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 „Bucket Owner erforced“ aktiviert ist, schlagen Anfragen zur Einrichtung von Zugriffskontrolllisten (ACLs) oder zur Aktualisierung ACLs fehl und geben den AccessControlListNotSupported Fehlercode zurück. Leseanfragen ACLs werden weiterhin unterstützt.

Um ein Objekt mit einem öffentlich lesbar zu machenACL, READ erteilen Sie der AllUsers Gruppe die entsprechenden Berechtigungen, wie im folgenden Grant-Element dargestellt. Fügen Sie dem Objekt dieses Grant-Element hinzuACL. Informationen zur Verwaltung finden ACLs Sie unterÜbersicht über die Zugriffskontrollliste (ACL).

<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>