Wie ONTAP den Client-Zugriff bestimmt
Für die korrekte Konzeption und Implementierung von OAuth 2.0 ist es wichtig zu verstehen, wie Ihre Autorisierungskonfiguration von ONTAP verwendet wird, um Zugriffsentscheidungen für die Clients zu treffen. Die wichtigsten Schritte zur Bestimmung des Zugriffs werden im Folgenden basierend auf der ONTAP Version dargestellt.
|
|
Mit ONTAP 9.15.1 gab es keine wesentlichen Aktualisierungen für OAuth 2.0. Für die Version 9.15.1 ist die Beschreibung für ONTAP 9.14.1 maßgeblich. |
ONTAP 9.16.1
ONTAP 9.16.1 erweitert die standardmäßige OAuth 2.0 Unterstützung um Microsoft Entra ID spezifische Erweiterungen für native Entra ID Gruppen sowie externes Rollenmapping.
Clientzugriff für ONTAP 9.16.1 bestimmen
Enthält das Zugriffstoken in sich abgeschlossene Bereiche, prüft ONTAP diese zuerst. Sind keine in sich abgeschlossenen Bereiche vorhanden, erfolgt Schritt 2.
Sind ein oder mehrere in sich abgeschlossene Bereiche vorhanden, wendet ONTAP jeden Bereich so lange an, bis eine explizite ALLOW- oder DENY-Entscheidung getroffen werden kann. Wenn eine explizite Entscheidung getroffen wurde, endet die Verarbeitung.
Wenn ONTAP keine explizite Zugriffsentscheidung treffen kann, wird mit Schritt 2 fortgefahren.
ONTAP prüft den booleschen Parameter use-local-roles-if-present. Der Wert dieses Flags wird für jeden Autorisierungsserver, der in ONTAP definiert ist, separat festgelegt.
-
Wenn der Wert
trueist, zu Schritt 3 wechseln. -
Wenn der Wert
falseist, endet die Verarbeitung und der Zugriff wird verweigert.
Enthält das Zugriffstoken eine benannte REST-Rolle im scope- oder scp-Feld oder als Claim, verwendet ONTAP die Rolle für die Zugriffsentscheidung. Dies führt immer zu einer ALLOW- oder DENY-Entscheidung und die Verarbeitung endet.
Falls keine benannte REST-Rolle vorhanden ist oder die Rolle nicht gefunden wird, wird mit Schritt 4 fortgefahren.
Der Benutzername wird aus dem Zugriffstoken extrahiert und mit Benutzern abgeglichen, die Zugriff auf die Anwendung "http" haben. Die Benutzer werden anhand des Authentifizierungsverfahrens in der folgenden Reihenfolge geprüft:
-
Passwort
-
Domäne (Active Directory)
-
nsswitch (LDAP)
Wird ein passender Benutzer gefunden, verwendet ONTAP die für den Benutzer definierte Rolle, um eine Zugriffsentscheidung zu treffen. Dies führt immer zu einer ALLOW- oder DENY-Entscheidung und die Verarbeitung endet.
Falls kein Benutzer gefunden wird oder im Zugriffstoken kein Benutzername vorhanden ist, wird mit Schritt 5 fortgefahren.
Sind eine oder mehrere Gruppen enthalten, wird das Format geprüft. Werden die Gruppen als UUIDs dargestellt, wird eine interne Gruppenzuordnungstabelle durchsucht. Wenn eine Übereinstimmung zwischen Gruppe und zugehöriger Rolle besteht, verwendet ONTAP die für die Gruppe definierte Rolle, um eine Zugriffsentscheidung zu treffen. Dies führt immer zu einer ALLOW- oder DENY-Entscheidung und die Verarbeitung endet. Weitere Informationen finden Sie unter "Arbeiten mit OAuth 2.0 oder SAML IdP-Gruppen in ONTAP".
Wenn Gruppen als Namen dargestellt und mit Domänen- oder nsswitch-Autorisierung konfiguriert sind, versucht ONTAP, sie einer Active Directory- bzw. LDAP-Gruppe zuzuordnen. Bei einer Übereinstimmung mit einer Gruppe verwendet ONTAP die für die Gruppe definierte Rolle, um eine Zugriffsentscheidung zu treffen. Dies führt immer zu einer ALLOW- oder DENY-Entscheidung und die Verarbeitung endet.
Wenn keine Gruppenübereinstimmung vorliegt oder wenn im Zugriffstoken keine Gruppe vorhanden ist, wird der Zugriff verweigert und die Verarbeitung endet.
ONTAP 9.14.1
Die anfängliche Unterstützung für OAuth 2.0 ist mit ONTAP 9.14.1 auf Basis der Standardfunktionen von OAuth 2.0 verfügbar.
Clientzugriff für ONTAP 9.14.1 ermitteln
Enthält das Zugriffstoken in sich abgeschlossene Bereiche, prüft ONTAP diese zuerst. Sind keine in sich abgeschlossenen Bereiche vorhanden, erfolgt Schritt 2.
Sind ein oder mehrere in sich abgeschlossene Bereiche vorhanden, wendet ONTAP jeden Bereich so lange an, bis eine explizite ALLOW- oder DENY-Entscheidung getroffen werden kann. Wenn eine explizite Entscheidung getroffen wurde, endet die Verarbeitung.
Wenn ONTAP keine explizite Zugriffsentscheidung treffen kann, wird mit Schritt 2 fortgefahren.
ONTAP prüft den booleschen Parameter use-local-roles-if-present. Der Wert dieses Flags wird für jeden Autorisierungsserver, der in ONTAP definiert ist, separat festgelegt.
-
Wenn der Wert
trueist, zu Schritt 3 wechseln. -
Wenn der Wert
falseist, endet die Verarbeitung und der Zugriff wird verweigert.
Enthält das Zugriffstoken eine benannte REST-Rolle im scope- oder scp-Feld, verwendet ONTAP die Rolle für die Zugriffsentscheidung. Dies führt immer zu einer ALLOW- oder DENY-Entscheidung und die Verarbeitung endet.
Falls keine benannte REST-Rolle vorhanden ist oder die Rolle nicht gefunden wird, wird mit Schritt 4 fortgefahren.
Der Benutzername wird aus dem Zugriffstoken extrahiert und mit Benutzern abgeglichen, die Zugriff auf die Anwendung "http" haben. Die Benutzer werden anhand des Authentifizierungsverfahrens in der folgenden Reihenfolge geprüft:
-
Passwort
-
Domäne (Active Directory)
-
nsswitch (LDAP)
Wird ein passender Benutzer gefunden, verwendet ONTAP die für den Benutzer definierte Rolle, um eine Zugriffsentscheidung zu treffen. Dies führt immer zu einer ALLOW- oder DENY-Entscheidung und die Verarbeitung endet.
Falls kein Benutzer gefunden wird oder im Zugriffstoken kein Benutzername vorhanden ist, wird mit Schritt 5 fortgefahren.
Wenn eine oder mehrere Gruppen mit Domänen- oder nsswitch-Autorisierung enthalten und konfiguriert sind, versucht ONTAP, diese jeweils einer Active Directory- bzw. LDAP-Gruppe zuzuordnen.
Bei einer Übereinstimmung mit einer Gruppe verwendet ONTAP die für die Gruppe definierte Rolle, um eine Zugriffsentscheidung zu treffen. Dies führt immer zu einer ALLOW- oder DENY-Entscheidung und die Verarbeitung endet.
Wenn keine Gruppenübereinstimmung vorliegt oder wenn im Zugriffstoken keine Gruppe vorhanden ist, wird der Zugriff verweigert und die Verarbeitung endet.