Elemente einer CORS Konfiguration - 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.

Elemente einer CORS Konfiguration

Um Ihren Bucket so zu konfigurieren, dass ursprungsübergreifende Anfragen zulässig sind, erstellen Sie eine CORS Konfiguration. Bei der CORS Konfiguration handelt es sich um ein Dokument mit Elementen, die die Ursprünge angeben, denen Sie den Zugriff auf Ihren Bucket gestatten, die Operationen (HTTPMethoden), die Sie für jeden Ursprung unterstützen werden, und andere vorgangsspezifische Informationen. Sie können der Konfiguration bis zu 100 Regeln hinzufügen. Sie können die CORS Konfiguration als cors Unterressource zum Bucket hinzufügen.

Wenn Sie CORS in der S3-Konsole konfigurieren, müssen Sie diese verwenden, um eine CORS Konfiguration JSON zu erstellen. Die neue S3-Konsole unterstützt nur JSON CORS Konfigurationen.

Weitere Informationen zur CORS Konfiguration und den darin enthaltenen Elementen finden Sie in den folgenden Themen. Anweisungen zum Hinzufügen einer CORS Konfiguration finden Sie unterKonfiguration der ursprungsübergreifenden gemeinsamen Nutzung von Ressourcen () CORS.

Wichtig

In der S3-Konsole muss die CORS Konfiguration seinJSON.

AllowedMethods-Element

In der CORS Konfiguration können Sie die folgenden Werte für das AllowedMethods Element angeben.

  • GET

  • PUT

  • POST

  • DELETE

  • HEAD

AllowedOrigins-Element

Im AllowedOrigins-Element geben Sie die Ursprünge an, über die Sie domänenübergreifende Anfragen erlauben möchten, z. B. http://www.example.com. Die Ursprungszeichenfolge darf nur ein *-Platzhalterzeichen enthalten, wie beispielsweise http://*.example.com. Optional können Sie * als Ursprung angeben, sodass alle Ursprünge ursprungsübergreifende Anfragen senden dürfen. Sie können auch https angeben, um nur sichere Ursprünge zuzulassen.

AllowedHeaders-Element

Das AllowedHeaders-Element gibt an, welche Header in einer Preflight-Anfrage durch den Access-Control-Request-Headers-Header erlaubt sind. Jeder Header-Name in der Access-Control-Request-Headers Kopfzeile muss mit einem entsprechenden Eintrag im Element übereinstimmen. Amazon S3 sendet nur die zulässigen angeforderten Header in einer Antwort. Eine Beispielliste von Headern, die in Anfragen an Amazon S3 verwendet werden können, finden Sie im APIReferenzhandbuch zu Amazon Simple Storage Service unter Allgemeine Anforderungsheader.

Jede AllowedHeaders Zeichenfolge in Ihrer Konfiguration kann höchstens ein Platzhalterzeichen (*) enthalten. Beispielsweise aktiviert <AllowedHeader>x-amz-*</AllowedHeader> alle für Amazon spezifischen Header.

ExposeHeaders-Element

Jedes ExposeHeader Element identifiziert einen Header in der Antwort, auf den Kunden von ihren Anwendungen aus zugreifen können sollen (z. B. von einem JavaScript XMLHttpRequest Objekt aus). Eine Liste gängiger Amazon S3 S3-Antwortheader finden Sie unter Common Response Headers im APIReferenzhandbuch zu Amazon Simple Storage Service.

MaxAgeSeconds-Element

Das MaxAgeSeconds Element gibt die Zeit in Sekunden an, in der Ihr Browser die Antwort für eine Preflight-Anfrage zwischenspeichern kann, wie durch die Ressource, die HTTP Methode und den Ursprung identifiziert.

Beispiele für Konfigurationen CORS

Statt über einen Amazon-S3-Website-Endpunkt auf eine Website zuzugreifen, können Sie Ihre eigen Domäne verwenden, wie beispielsweise example1.com, um Ihren Inhalt bereitzustellen. Weitere Informationen zur Verwendung Ihrer eigenen Domäne finden Sie unter Tutorial: Konfigurieren einer statischen Website mithilfe einer benutzerdefinierten bei Route 53 registrierten Domäne.

Die folgende CORS Beispielkonfiguration hat drei Regeln, die als CORSRule Elemente angegeben sind:

  • Die erste Regel erlaubt ursprungsübergreifendePUT,POST, und DELETE Anfragen vom http://www.example1.com Ursprung aus. Die Regel erlaubt auch, dass alle Header in einer OPTIONS Preflight-Anfrage den Header verwenden. Access-Control-Request-Headers Als Antwort auf OPTIONS Preflight-Anfragen gibt Amazon S3 angeforderte Header zurück.

  • Die zweite Regel gestattet dieselben ursprungsübergreifenden Anfragen wie die erste Regel, aber sie bezieht sich auf einen anderen Ursprung, http://www.example2.com.

  • Die dritte Regel erlaubt ursprungsübergreifende GET Anfragen aller Herkunft. Das Platzhalterzeichen * bezieht sich auf alle Ursprünge.

JSON
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "PUT", "POST", "DELETE" ], "AllowedOrigins": [ "http://www.example1.com" ], "ExposeHeaders": [] }, { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "PUT", "POST", "DELETE" ], "AllowedOrigins": [ "http://www.example2.com" ], "ExposeHeaders": [] }, { "AllowedHeaders": [], "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [] } ]
XML
<CORSConfiguration> <CORSRule> <AllowedOrigin>http://www.example1.com</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedHeader>*</AllowedHeader> </CORSRule> <CORSRule> <AllowedOrigin>http://www.example2.com</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedHeader>*</AllowedHeader> </CORSRule> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> </CORSRule> </CORSConfiguration>

Die CORS Konfiguration erlaubt auch optionale Konfigurationsparameter, wie in der folgenden CORS Konfiguration gezeigt. In diesem Beispiel erlaubt die CORS Konfiguration ursprungsübergreifendePUT,POST, und DELETE Anfragen vom http://www.example.com Ursprung aus.

JSON
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "PUT", "POST", "DELETE" ], "AllowedOrigins": [ "http://www.example.com" ], "ExposeHeaders": [ "x-amz-server-side-encryption", "x-amz-request-id", "x-amz-id-2" ], "MaxAgeSeconds": 3000 } ]
XML
<CORSConfiguration> <CORSRule> <AllowedOrigin>http://www.example.com</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedHeader>*</AllowedHeader> <MaxAgeSeconds>3000</MaxAgeSeconds> <ExposeHeader>x-amz-server-side-encryption</ExposeHeader> <ExposeHeader>x-amz-request-id</ExposeHeader> <ExposeHeader>x-amz-id-2</ExposeHeader> </CORSRule> </CORSConfiguration>

Das CORSRule-Element in der obigen Konfiguration beinhaltet die folgenden optionalen Elemente:

  • MaxAgeSeconds— Gibt den Zeitraum in Sekunden (in diesem Beispiel 3000) an, für den der Browser eine Amazon S3 S3-Antwort auf eine OPTIONS Preflight-Anfrage für die angegebene Ressource zwischenspeichert. Durch die Zwischenspeicherung der Antwort muss der Browser keine Preflight-Anfragen an Amazon S3 senden, wenn die ursprüngliche Anfrage wiederholt werden soll.

  • ExposeHeader— Identifiziert die Antwort-Header (in diesem Beispiel, undx-amz-id-2) x-amz-server-side-encryptionx-amz-request-id, auf die Kunden von ihren Anwendungen aus zugreifen können (z. B. von einem Objekt aus). JavaScript XMLHttpRequest