Cross-Origin Resource Sharing (CORS) verwenden - 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.

Cross-Origin Resource Sharing (CORS) verwenden

Cross-Origin Resource Sharing (CORS) bestimmt für Client-Webanwendungen, die in einer Domain geladen sind, eine Möglichkeit zur Interaktion mit Ressourcen in einer anderen Domain. Mit CORS-Unterstützung können Sie umfassende clientseitige Webanwendungen mit Amazon S3 erstellen und selektiven ursprungsübergreifenden Zugriff auf Ihre Amazon-S3-Ressourcen zulassen.

Dieser Abschnitt bietet eine Übersicht über CORS. In den Unterthemen wird beschrieben, wie Sie CORS über die Amazon S3-Konsole oder programmgesteuert über die Amazon S3-REST-API und die AWS SDKs aktivieren können.

Cross-Origin Resource Sharing: Szenarien in Anwendungsfällen

Es folgen typische Beispielszenarien für den Einsatz von CORS.

Szenario 1

Szenario 1: Angenommen, Sie hosten eine Website in einem Amazon-S3-Bucket mit dem Namen website, wie in Hosten einer statischen Website mit Amazon S3 beschrieben. Ihre Benutzer laden den Website-Endpunkt:

http://website.s3-website.us-east-1.amazonaws.com

Jetzt möchten Sie JavaScript auf den Webseiten verwenden, die in diesem Bucket gespeichert sind, um authentifizierte GET- und PUT-Anfragen für denselben Bucket unter Verwendung des Amazon S3-API-Endpunkts für den Bucket senden zu können, website.s3.us-east-1.amazonaws.com. Ein Browser würde normalerweise JavaScript daran hindern, diese Anfragen zuzulassen, aber mit CORS können Sie Ihren Bucket so konfigurieren, dass er explizit ursprungsübergreifende Anfragen von aktiviertwebsite.s3-website.us-east-1.amazonaws.com.

Szenario 2

Angenommen, Sie möchten eine Web-Schriftart aus Ihrem S3-Bucket hosten. Auch hier erfordern Browser eine CORS-Prüfung (auch als Preflight-Check bezeichnet) für das Laden von Web-Schriftarten. Sie würden den Bucket, der die Web-Schriftart hostet, deshalb so konfigurieren, dass jeder Ursprung diese Anfragen machen kann.

Wie wertet Amazon S3 die CORS-Konfiguration für einen Bucket aus?

Wenn Amazon S3 eine Preflight-Anfrage von einem Browser erhält, wertet es die CORS-Konfiguration für den Bucket aus und verwendet die erste CORSRule-Regel, die mit der eingehenden Browser-Anfrage übereinstimmt, um eine ursprungsübergreifende Anfrage zuzulassen. Für die Übereinstimmung mit einer Regel müssen die folgenden Bedingungen erfüllt sei:

  • Der Origin-Header der Anfrage muss mit einem AllowedOrigin-Element übereinstimmen.

  • Die Anfragemethode (z. B. GET oder PUT) oder der Access-Control-Request-Method-Header bei einer Preflight-OPTIONS-Anfrage muss eines der AllowedMethod-Elemente sein.

  • Jeder im Access-Control-Request-Headers-Header der Preflight-Anfrage muss mit einem AllowedHeader-Element übereinstimmen.

Anmerkung

Alle ACLs und Richtlinien gelten weiterhin, wenn Sie CORS für den Bucket aktivieren.

So unterstützt Object Lambda Access Point CORS

Wenn S3 Object Lambda eine Anforderung von einem Browser empfängt oder die Anforderung einen Origin-Header enthält, fügt S3 Object Lambda immer das Header-Feld “AllowedOrigins":"*" hinzu.

Weitere Informationen zur Verwendung von CORS finden Sie in den folgenden Themen.