Zum Inhalt springen

Cross-Origin Resource Sharing (CORS) im Object Storage

Zuletzt aktualisiert am

Konfigurieren Sie Cross-Origin Resource Sharing (CORS) für einen Bucket, um seine Objekte für Webanwendungen zugänglich zu machen, die in einer anderen Domäne gehostet werden. CORS ist ein Browser-Sicherheitsmechanismus, der den Zugriff auf Ressourcen anderer Herkunft kontrolliert.

Wenn Sie beispielsweise Bilder in einem Bucket mit dem Namen my-example-bucket haben und diese auf einer Website unter https://example.com anzeigen möchten, fügen Sie my-example-bucket eine CORS-Regel hinzu, die den Zugriff von https://example.com erlaubt.

Eine CORS-Regel kann als XML oder JSON definiert werden. Jede Regel besteht aus:

Erstellen Sie eine CORS-Konfigurationsdatei im JSON-Format. Das folgende Beispiel erlaubt GET- und HEAD-Zugriff von my-app.com:

{
"CORSRules": [
{
"ID": "Allow Bucket for my-app.com",
"AllowedOrigins": [
"https://www.my-app.com",
"http://www.my-app.com",
"https://my-app.com",
"http://my-app.com"
],
"AllowedMethods": ["GET", "HEAD"],
"AllowedHeaders": ["Content-*", "Host"],
"ExposeHeaders": ["ETag"],
"MaxAgeSeconds": 86400
}
]
}

Wenden Sie die Konfigurationsdatei auf Ihren Bucket an:

Terminal-Fenster
aws s3api put-bucket-cors \
--bucket my-example-bucket \
--cors-configuration file://cors-rules.json \
--endpoint-url https://object.storage.eu01.onstackit.cloud

Rufen Sie die aktuelle CORS-Konfiguration für einen Bucket ab:

Terminal-Fenster
aws s3api get-bucket-cors \
--bucket my-example-bucket \
--endpoint-url https://object.storage.eu01.onstackit.cloud

So entfernen Sie alle CORS-Regeln aus einem Bucket:

Terminal-Fenster
aws s3api delete-bucket-cors \
--bucket my-example-bucket \
--endpoint-url https://object.storage.eu01.onstackit.cloud