Ü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 AD FS (Active Directory Federation Services) – Lokale Software (auf Windows Server installiert)

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

Bemerkung

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

Weitere Informationen zur Konfiguration von Okta, AD FS oder einem anderen SAML 2.0-kompatiblen Anbieter als IdP für Snowflake finden Sie unter Konfigurieren eines Identitätsanbieters (IdP) für Snowflake.

Verwenden mehrerer Identitätsanbieter

Sie können Snowflake so konfigurieren, dass sich verschiedene Benutzer über unterschiedliche Identitätsanbieter authentifizieren.

Nachdem das Konfigurieren aller Identitätsanbieter abgeschlossen ist, befolgen Sie die Anleitung unter Verwenden mehrerer Identitätsanbieter für die Verbundauthentifizierung.

Bemerkung

Derzeit unterstützt nur eine Teilmenge der Snowflake-Treiber die Verwendung mehrerer Identitätsanbieter. Zu diesen Treibern gehören JDBC, ODBC und Python.

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, AD FS oder ein kundenspezifischer 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 AD FS) oder die kundenspezifische 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:

    • AD FS unterstützt sowohl die Standard- als auch die globale Abmeldung. Wenn die globale Abmeldung aktiviert ist, bietet die AD FS-IdP-Anmeldeseite eine Option zum Abmelden von allen Websites, auf die der Benutzer zugegriffen hat. Bei Auswahl dieser Option und Klicken auf Sign Out wird der Benutzer von AD FS und allen seinen Snowflake-Sitzungen abgemeldet. Um wieder auf Snowflake zugreifen zu können, muss sich der Benutzer erneut mit AD FS 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 kundenspezifischen Anbieter unterstützen die Standard-Abmeldung. Die Unterstützung für die globale Abmeldung variiert je nach Anbieter.

    Bemerkung

    Bei webbasiertem IdP (z. B. Okta) beendet das Schließen von Browser-Registerkarte bzw. Browser-Fenster 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.

SSO mit privater Konnektivität

Snowflake unterstützt SSO mit privater Konnektivität zum Snowflake-Dienst für Snowflake-Konten auf Amazon Web Services (AWS), Microsoft Azure und Google Cloud Platform (GCP).

Standardmäßig unterstützen Snowflake-Konten SSO mit immer nur einer Konto-URL gleichzeitig. Geben Sie die öffentliche Konto-URL oder die URL an, die mit dem privaten Konnektivitätsdienst auf AWS, Microsoft Azure oder Google Cloud Platform verbunden ist.

Wenn Sie den ID-First-Anmeldeablauf aktiviert haben, können Sie zwei SAML2-Sicherheitsintegrationen konfigurieren: eine Integration mit der URL des öffentlichen Kontos und eine Integration mit der URL, die mit dem privaten Konnektivitätsdienst auf AWS, Microsoft Azure oder Google Cloud Platform verbunden ist.

Snowflake unterstützt die Verwendung von SSO mit Organisationen, und Sie können die entsprechenden URL in der SAML2-Sicherheitsintegration verwenden. Weitere Informationen dazu finden Sie unter Konfigurieren von Snowflake für die Verwendung der Verbundauthentifizierung.

Um SSO mit privater Konnektivität zu Snowflake zu verwenden, konfigurieren Sie die private Konnektivität vor der Konfiguration von SSO:

SSO-Konfiguration replizieren

Snowflake unterstützt Replikation und Failover/Failback der SAML2-Sicherheitsintegration von einem Quellkonto in ein Zielkonto.

Weitere Details dazu finden Sie unter Replikation von Sicherheitsintegrationen und Netzwerkrichtlinien über mehrere Konten hinweg.