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 mithilfe der Amazon S3 S3-Konsole oder programmgesteuert mithilfe der Amazon S3 S3-REST-API und der SDKs aktivieren können. AWS

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, die in diesem Bucket gespeichert sind, verwenden, um authentifizierte GET- und PUT-Anfragen für denselben Bucket stellen zu können, indem Sie den Amazon S3 S3-API-Endpunkt für den Bucket verwenden. website.s3.us-east-1.amazonaws.com Ein Browser würde diese Anfragen normalerweise blockieren, aber mit CORS können Sie Ihren Bucket so konfigurieren, dass Anfragen JavaScript aus verschiedenen Quellen explizit aktiviert werden. website.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.