Übersicht zu Verbundauthentifizierung und SSO

Dieses Thema beschreibt die Komponenten, die eine Verbundumgebung zur Authentifizierung von Benutzern und die von Snowflake unterstützten SSO-Workflows (Single Sign-On-Workflows) umfassen.

Unter diesem Thema:

Was ist eine Verbundumgebung?

In einer Verbundumgebung wird die Benutzerauthentifizierung vom Benutzerzugriff durch die Verwendung einer oder mehrerer externer Einheiten getrennt, die eine unabhängige Authentifizierung von Benutzeranmeldeinformationen ermöglichen. Die Authentifizierung wird dann an einen oder mehrere Services weitergeleitet, sodass Benutzer über SSO auf die Dienste zugreifen können. Eine Verbundumgebung besteht aus den folgenden Komponenten:

  • Service-Anbieter (SP):

    In einer Snowflake-Verbundumgebung dient Snowflake als SP.

  • Identitätsanbieter (IdP):

    Die externe, unabhängige Stelle, die für die Erbringung der folgenden Services für den SP verantwortlich ist:

    • Erstellen und Pflegen von Benutzeranmeldeinformationen und anderen Profilinformationen.

    • Authentifizieren von Benutzern für SSO-Zugriff auf den SP.

Snowflake unterstützt die meisten SAML 2.0-konformen Anbieter als IdP; einige Anbieter bieten jedoch native Unterstützung für Snowflake (siehe unten für Details).

Unterstützte Identitätsanbieter

Die folgenden Anbieter bieten native Snowflake-Unterstützung für die Verbundauthentifizierung und SSO:

  • Okta – gehosteter Service

  • Microsoft ADFS (Active Directory Federation Services) – Lokale Software (auf Windows Server installiert)

Zusätzlich zur nativen Snowflake-Unterstützung von Okta und ADFS unterstützt Snowflake die Verwendung der meisten SAML 2.0-kompatiblen Anbietern als IdP, einschließlich:

Bemerkung

Um einen anderen IdP als Okta oder ADFS zu verwenden, müssen Sie beim IdP für Snowflake eine benutzerdefinierte Anwendung definieren.

Details zur Konfiguration von Okta, ADFS oder einem anderen SAML 2.0-Beschwerdeanbieter als IdP für Snowflake finden Sie unter Konfigurieren eines Identitätsanbieters (IdP) für Snowflake.

Unterstützte SSO-Workflows

Die Verbundauthentifizierung ermöglicht die folgenden SSO-Workflows:

  • Anmelden bei Snowflake.

  • Abmelden von Snowflake.

  • System-Timeout aufgrund von Inaktivität.

Das Verhalten für jeden Workflow wird davon bestimmt, ob die Aktion innerhalb von Snowflake oder Ihrem IdP eingeleitet wird.

Anmelde-Workflow

Wenn sich ein Benutzer anmeldet, wird das Verhalten des Systems davon bestimmt, ob die Anmeldung über Snowflake oder den IdP eingeleitet wird:

  • Von Snowflake initiierte Anmeldung:

    Um sich über Snowflake anzumelden:

    1. Der Benutzer ruft die Weboberfläche von Snowflake auf.

    2. Der Benutzer entscheidet sich für die Anmeldung mit dem für Ihr Konto konfigurierten IdP (Okta, ADFS oder ein benutzerdefinierter IdP).

    3. Der Benutzer authentifiziert sich beim IdP mit seinen IdP-Anmeldeinformationen (z. B. E-Mail-Adresse und Kennwort).

    4. Wenn die Authentifizierung erfolgreich ist, sendet der IdP eine SAML-Antwort an Snowflake, um eine Sitzung zu initiieren, und zeigt die Snowflake-Weboberfläche an.

    Bemerkung

    Für die von Snowflake initiierte Anmeldung bietet die Anmeldeseite von Snowflake zwei Optionen zur Authentifizierung (IdP oder Snowflake). Um die Verbundauthentifizierung zu verwenden, müssen Benutzer die Option IdP wählen und bei Aufforderung ihre Anmeldeinformationen eingeben. Wenn sie die Option Snowflake wählen, wird die Verbundauthentifizierung umgangen und der Benutzer wird mit der nativen Authentifizierung von Snowflake angemeldet.

  • Vom IdP initiierte Anmeldung:

    Um sich mit dem IdP für Ihr Konto anzumelden:

    1. Der Benutzer geht zur Website/Anwendung des IdP und authentifiziert sich mit seinen IdP-Anmeldeinformationen (z. B. E-Mail-Adresse und Kennwort).

    2. Beim IdP klickt der Benutzer auf die Snowflake-Anwendung (bei Verwendung von Okta oder ADFS) oder die benutzerdefinierte Anwendung, die beim IdP (bei Verwendung eines anderen IdP) definiert wurde.

    3. Der IdP sendet eine SAML-Antwort an Snowflake, um eine Sitzung zu initiieren, und zeigt dann die Snowflake-Weboberfläche an.

Abmelde-Workflow

Wenn sich ein Benutzer abmeldet, werden die verfügbaren Optionen davon bestimmt, ob der IdP globale Abmeldung oder nur Standard-Abmeldung unterstützt:

Standard

Erfordert, dass sich Benutzer explizit sowohl vom IdP als auch von Snowflake abmelden, um die Verbindung vollständig zu trennen. Alle IdPs unterstützen die Standard-Abmeldung.

Global

Ermöglicht es einem Benutzer, sich vom IdP und anschließend allen seinen Snowflake-Sitzungen abzumelden. Die Unterstützung für das globale Abmelden ist IdP-abhängig.

Darüber hinaus wird das Verhalten des Systems davon bestimmt, ob das Abmelden durch Snowflake oder den IdP eingeleitet wird:

  • Von Snowflake initiierte Abmeldung:

    Globales Abmelden wird von Snowflake aus nicht unterstützt, unabhängig davon, ob der IdP es unterstützt. Wenn sich ein Benutzer von einer Snowflake-Sitzung abmeldet, wird er nur von dieser Sitzung abgemeldet. Alle anderen aktuellen Snowflake-Sitzungen bleiben geöffnet, ebenso wie seine IdP-Sitzung. Dadurch kann er in seinen anderen Sitzungen weiterarbeiten oder zusätzliche Sitzungen initiieren, ohne sich über den IdP erneut authentifizieren zu müssen.

    Um die Verbindung vollständig zu trennen, müssen sich die Benutzer explizit sowohl von Snowflake als auch vom IdP abmelden.

  • Vom IdP initiierte Abmeldung:

    Wenn sich ein Benutzer über einen IdP abmeldet, hängt das Verhalten davon ab, ob der IdP nur die Standard-Abmeldung oder auch die globale Abmeldung unterstützt:

    • ADFS unterstützt sowohl die Standard- als auch die globale Abmeldung. Wenn die globale Abmeldung aktiviert ist, bietet die ADFS-IdP-Anmeldeseite eine Option zum Abmelden von allen Websites, auf die der Benutzer zugegriffen hat. Wenn Sie diese Option auswählen und auf Sign Out klicken, wird der Benutzer von ADFS und allen seinen Snowflake-Sitzungen abgemeldet. Um wieder auf Snowflake zugreifen zu können, muss er sich mit ADFS neu authentifizieren.

    • Okta unterstützt nur die Standard-Abmeldung. Wenn sich ein Benutzer von Okta abmeldet, wird er nicht automatisch von einer seiner aktiven Snowflake-Sitzungen abgemeldet und kann weiterarbeiten. Um jedoch neue Snowflake-Sitzungen zu initiieren, muss er sich erneut über Okta authentifizieren.

    • Alle benutzerdefinierten Anbieter unterstützen die Standard-Abmeldung; die Unterstützung für die globale Abmeldung variiert je nach Anbieter.

    Bemerkung

    Bei einem webbasierten IdP (z. B. Okta) beendet das Schließen der Browser-Registerkarte/des Fensters nicht unbedingt die IdP-Sitzung. Wenn die IdP-Sitzung eines Benutzers noch aktiv ist, kann er weiterhin auf Snowflake zugreifen, bis die IdP-Sitzung abläuft.

Timeout-Workflow

Wenn die Sitzung eines Benutzers unterbrochen wird, hängt das Verhalten davon ab, ob es sich um seine Snowflake-Sitzung oder um eine IdP-Sitzung handelt, die unterbrochen wurde:

  • Snowflake-Timeout:

    Wenn sich ein Benutzer mit SSO bei Snowflake anmeldet und seine Snowflake-Sitzung aufgrund von Inaktivität abläuft, wird die Snowflake-Weboberfläche deaktiviert und die Eingabeaufforderung zur IdP-Authentifizierung angezeigt:

    • Um eine abgelaufene Snowflake-Sitzung weiter zu nutzen, muss sich der Benutzer erneut über den IdP authentifizieren.

    • Der Benutzer kann die Sitzung durch Anklicken der Schaltfläche Cancel beenden.

    • Der Benutzer kann auch direkt zur Website/Anwendung des IdP gehen und Snowflake neu starten, aber damit wird eine neue Snowflake-Sitzung gestartet.

  • IdP-Timeout:

    Nach einer bestimmten Zeitspanne (definiert durch den IdP) wird die Sitzung eines Benutzers beim IdP automatisch beendet, dies hat jedoch keinen Einfluss auf seine Snowflake-Sitzungen. Alle Snowflake-Sitzungen, die zu diesem Zeitpunkt aktiv sind, bleiben offen und erfordern keine erneute Authentifizierung. Um jedoch neue Snowflake-Sitzungen zu initiieren, muss sich der Benutzer erneut beim IdP anmelden.