Skip to main content
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Cross-Origin Resource Sharing (CORS) für ONTAP S3 Buckets konfigurieren

Beitragende dmp-netapp netapp-dbagwell netapp-lenida netapp-aaron-holt
Änderungen vorschlagen

Ab ONTAP 9.16.1 ist es möglich, Cross-Origin Resource Sharing (CORS) zu konfigurieren, sodass Client-Webanwendungen aus verschiedenen Domänen auf Ihre ONTAP Buckets zugreifen können. Dadurch wird ein sicherer Zugriff auf die Bucket-Objekte über einen Webbrowser ermöglicht.

CORS ist ein auf HTTP basierendes Framework, das es Skripten auf einer Webseite ermöglicht, auf Ressourcen eines Servers in einer anderen Domain zuzugreifen. Das Framework wird verwendet, um die Same-Origin-Policy sicher zu umgehen, die eine frühe Grundlage der Websicherheit bildet. Die wichtigsten Konzepte und die Terminologie werden nachfolgend beschrieben.

Herkunft

Der Ursprung definiert präzise den Ort und die Identität einer Ressource. Er wird als Kombination der folgenden Werte dargestellt:

  • URI-Schema (Protokoll)

  • Hostname (Domänenname oder IP-Adresse)

  • Portnummer

Hier ist ein einfaches Beispiel für einen Ursprung: https://www.mycompany.com:8001. Wenn ein Ursprung mit CORS verwendet wird, identifiziert er den Client, der die Anfrage stellt.

Same-origin-Richtlinie

Die Same-Origin-Policy (SOP) ist ein Sicherheitskonzept und eine Beschränkung für browserbasierte Skripte. Die Richtlinie erlaubt Skripten, die ursprünglich von einer Webseite geladen wurden, auf Daten einer anderen Seite zuzugreifen, sofern beide Seiten denselben Ursprung haben. Diese Einschränkung verhindert, dass schädliche Skripte auf Daten von Seiten mit anderem Ursprung zugreifen.

Häufige Anwendungsfälle für CORS

CORS hat mehrere allgemeine Anwendungsfälle. Die meisten betreffen klar definierte Fälle von domänenübergreifendem Zugriff, wie AJAX-Anfragen, das Laden von Schriftarten, Stylesheets und Skripten sowie die domänenübergreifende Authentifizierung. CORS kann auch als Teil einer Single-Page-Anwendung (SPA) implementiert werden.

HTTP-Header

CORS wird mithilfe von Headern implementiert, die in die HTTP-Anfragen und -Antworten eingefügt werden. Beispielsweise gibt es mehrere Antwort-Header, die eine Zugriffskontrolle implementieren und angeben, welche Operationen, einschließlich Methoden und Header, zulässig sind. Das Vorhandensein des Origin-Headers in einer HTTP-Anfrage definiert diese als domänenübergreifende Anfrage. Der Origin-Wert wird vom CORS-Server verwendet, um eine gültige CORS-Konfiguration zu finden.

HTTP Preflight-Anfrage

Dies ist eine optionale Anfrage, um zunächst zu prüfen, ob ein Server CORS unterstützt, einschließlich der spezifischen Methoden und Header. Basierend auf der Antwort kann die CORS-Anfrage abgeschlossen oder nicht abgeschlossen werden.

ONTAP Buckets

Ein Bucket ist ein Container für Objekte, die anhand eines klar definierten Namensraums gespeichert und abgerufen werden. Es gibt zwei Arten von ONTAP Buckets:

  • NAS Buckets, die über die NAS- und S3-Protokolle zugänglich sind

  • S3 Buckets, die ausschließlich über das S3-Protokoll zugänglich sind

CORS-Implementierung in ONTAP

CORS ist in ONTAP 9.16.1 und späteren Versionen standardmäßig aktiviert. CORS muss auf jeder SVM konfiguriert werden, auf der es aktiv sein soll.

Hinweis Es gibt keine administrative Option, CORS für einen ONTAP Cluster zu deaktivieren. Allerdings kann CORS effektiv deaktiviert werden, indem keine Regeln definiert oder alle vorhandenen Regeln gelöscht werden.

Mögliche Anwendungsfälle

Die ONTAP CORS-Implementierung ermöglicht verschiedene Topologien für den domänenübergreifenden Ressourcenzugriff, darunter:

  • ONTAP S3 Buckets (innerhalb desselben oder eines anderen SVM oder Clusters)

  • ONTAP NAS Buckets (innerhalb derselben oder verschiedener SVM oder Cluster)

  • ONTAP S3 und NAS Buckets (innerhalb derselben oder verschiedener SVM oder Cluster)

  • ONTAP Buckets und Buckets externer Anbieter

  • Buckets in verschiedenen Zeitzonen

Überblick

Nachfolgend wird auf hoher Ebene veranschaulicht, wie CORS den Zugriff auf die ONTAP S3 Buckets ermöglicht.

Zugriff auf S3-Buckets über CORS

Definition von CORS-Regeln

CORS-Regeln müssen in ONTAP definiert werden, um die Funktion zu aktivieren und zu nutzen.

Konfigurationsaktionen

In ONTAP werden drei primäre Konfigurationsregel-Aktionen unterstützt:

  • Zeigen

  • Erstellen

  • Löschen

Eine in ONTAP definierte CORS-Regel besitzt mehrere Eigenschaften, darunter die SVM und den Bucket sowie die zulässigen Ursprünge, Methoden und Header.

Verwaltungsoptionen

Bei der Administration von CORS in Ihrem ONTAP Cluster stehen mehrere Optionen zur Verfügung.

ONTAP Befehlszeilenschnittstelle

CORS kann über die Befehlszeile konfiguriert werden. Siehe CORS-Verwaltung mit der CLI für weitere Informationen.

ONTAP REST API

Sie können CORS über die ONTAP REST API konfigurieren. Es wurden keine neuen Endpunkte zur Unterstützung der CORS-Funktion hinzugefügt. Stattdessen kann der folgende vorhandene Endpunkt verwendet werden:

/api/protocols/s3/services/{svm.uuid}/buckets/{bucket.uuid}

Weitere Informationen finden Sie im "ONTAP Automatisierungsdokumentation".

S3 API

Sie können die S3-API verwenden, um eine CORS-Konfiguration auf einem ONTAP Bucket zu erstellen und zu löschen. Ein S3-Clientadministrator benötigt ausreichende Berechtigungen, darunter:

  • Zugangs- oder geheime Schlüssel-Anmeldeinformationen

  • Für den Bucket wurde eine Richtlinie konfiguriert, die den Zugriff über s3api ermöglicht.

Aktualisierung und Zurücksetzung

Wenn Sie CORS für den Zugriff auf die ONTAP S3 Buckets verwenden möchten, sollten Sie sich einiger administrativer Aspekte bewusst sein.

Upgrade

Die CORS-Funktion wird unterstützt, wenn alle Knoten auf 9.16.1 aktualisiert wurden. In Clustern im gemischten Modus ist die Funktion nur verfügbar, wenn die effektive Clusterversion (ECV) 9.16.1 oder höher ist.

Wiederherstellung

Aus Benutzersicht müssen alle CORS-Konfigurationen entfernt werden, bevor die Clusterwiederherstellung durchgeführt werden kann. Intern werden dabei alle CORS-Datenbanken gelöscht. Es erfolgt eine Aufforderung, einen Befehl auszuführen, um diese Datenstrukturen zu löschen und zurückzusetzen.

CORS-Verwaltung mit der CLI

Die ONTAP CLI kann zur Verwaltung von CORS-Regeln verwendet werden. Die wichtigsten Vorgänge sind nachfolgend beschrieben. Für die Ausführung der CORS-Befehle ist die ONTAP admin-Berechtigungsstufe erforderlich.

Erstellen

Eine CORS-Regel kann mit dem vserver object-store-server bucket cors-rule create Befehl definiert werden. Weitere Informationen zu vserver object-store-server bucket cors-rule create finden sich in der "ONTAP-Befehlsreferenz".

Parameter

Die zur Erstellung einer Regel verwendeten Parameter sind nachfolgend beschrieben.

Parameter Beschreibung

vserver

Gibt den Namen der SVM (vserver) an, die den Objektspeicher Server-Bucket hostet, in dem die Regel erstellt wird.

bucket

Der Name des Buckets auf dem Objektspeicher-Server, für den die Regel erstellt wurde.

index

Ein optionaler Parameter, der den Index des Objektspeicher-Server-Buckets angibt, in dem die Regel erstellt wird.

rule id

Eine eindeutige Kennung für die Bucket-Regel des Objektspeicherservers.

allowed-origins

Eine Liste der Ursprünge, von denen Cross-Origin-Anfragen zulässig sind.

allowed-methods

Eine Liste der in einer ursprungsübergreifenden Anfrage zulässigen HTTP-Methoden.

allowed-headers

Eine Liste der in Cross-Origin-Anfragen zulässigen HTTP-Header.

expose-headers

Eine Liste der zusätzlichen Header, die in den CORS-Antworten gesendet werden und auf die Kunden von ihren Anwendungen aus zugreifen können.

max-age-in-seconds

Ein optionaler Parameter, der die Zeitdauer angibt, für die Ihr Browser eine Preflight-Antwort für eine bestimmte Ressource zwischenspeichern soll.

Beispiel
vserver object-store-server bucket cors-rule create -vserver vs1 -bucket bucket1 -allowed-origins www.myexample.com -allowed-methods GET,DELETE

Zeigen

Sie können den Befehl vserver object-store-server bucket cors-rule show verwenden, um eine Liste der aktuellen Regeln und deren Inhalte anzuzeigen. Weitere Informationen zu vserver object-store-server bucket cors-rule show finden sich in der "ONTAP-Befehlsreferenz".

Hinweis Durch die Einbeziehung des Parameters -instance werden die für jede Regel angezeigten Daten erweitert. Es kann außerdem festgelegt werden, welche Felder gewünscht sind.
Beispiel
server object-store-server bucket cors-rule show -instance

Löschen

Mit dem Befehl „delete“ kann eine Instanz einer CORS-Regel entfernt werden. Der index Wert der Regel wird benötigt, daher erfolgt dieser Vorgang in zwei Schritten:

  1. Ein `show`Befehl gibt die Regel aus und ruft deren Index ab.

  2. Der Löschvorgang wird anhand des Indexwerts ausgeführt.

Beispiel
vserver object-store-server bucket cors-rule delete -vserver vs1 -bucket bucket1 -index 1

Ändern

Es gibt keinen CLI-Befehl zum Ändern einer bestehenden CORS-Regel. Zum Ändern einer Regel sind die folgenden Schritte erforderlich:

  1. Die bestehende Regel wird gelöscht.

  2. Eine neue Regel mit den gewünschten Optionen erstellen.