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

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

Anmerkung

Am Website-Endpunkt gibt Amazon S3 den HTTP-Antwortcode zurück, wenn ein Benutzer ein nicht existierendes Objekt anforder 404 (Not Found). Wenn das Objekt existiert, aber Sie keine Leseberechtigungen dafür erteilt haben, gibt der Website-Endpunkt den HTTP-Antwortcode zurüc 403 (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 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 Objektzugriffskontrollliste (ACL) verwenden, um öffentlichen Lesezugriff auf diese Objekte zu gewähren.

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>