Verwenden mehrerer Identitätsanbieter für die Verbundauthentifizierung¶
Sie können Snowflake so konfigurieren, dass sich Benutzer bei mehreren Identitätsanbietern (IdPs) authentifizieren können.
Die Implementierung einer Verbundumgebung, die mehrere IdPs verwendet, besteht aus folgenden Schritten:
ID-First-Anmeldeablauf aktivieren (unter diesem Thema).
Mehrere SAML-Sicherheitsintegrationen erstellen, eine für jeden IdP.
Benutzern IdPs zuordnen (unter diesem Thema).
Bemerkung
Beachten Sie bei der Implementierung einer Umgebung mit mehreren IdPs die folgenden Punkte:
Jeder IdP muss eine entsprechende SAML-Sicherheitsintegration haben. Wenn Sie eine bestehende Einzel-IdP-Umgebung haben, die den veralteten SAML_IDENTITY_PROVIDER-Parameter verwendet, müssen Sie Ihre Umgebung mit der Funktion SYSTEM$MIGRATE_SAML_IDP_REGISTRATION auf eine SAML-Sicherheitsintegration migrieren.
Derzeit unterstützt nur eine Teilmenge der Snowflake-Treiber die Verwendung mehrerer Identitätsanbieter. Zu diesen Treibern gehören JDBC, ODBC und Python.
ID-First-Anmeldung aktivieren¶
Wenn die Verbundumgebung für ein Konto mehrere IdPs verwendet, muss Snowflake in der Lage sein, zu bestimmen, welche IdPs mit einem Benutzer verbunden sind, bevor dem Benutzer Authentifizierungsoptionen angeboten werden. In diesem Anmeldeablauf fordert Snowflake den Benutzer nur zur Eingabe seiner E-Mail-Adresse oder seines Benutzernamens auf und zeigt nach der Identifizierung des Benutzers Authentifizierungsmethoden an. Nur IdPs, die dem Benutzer zugeordnet sind, werden als Authentifizierungsoptionen angezeigt.
Wenn Sie mehrere IdPs verwenden, muss der ID-First-Anmeldeablauf aktiviert sein. Um die ID-First-Anmeldung zu aktivieren, setzen Sie den Parameter ENABLE_IDENTIFIER_FIRST_LOGIN auf TRUE
.
Weitere Informationen zum ID-First-Anmeldeablauf finden Sie unter ID-First-Anmeldung.
Benutzern IdPs zuordnen¶
In einer Umgebung mit mehreren IdPs können Sie entscheiden, wie Sie einen Benutzer einem IdP zuordnen möchten. Sie können die mit einem IdP verbundene Sicherheitsintegration oder eine Authentifizierungsrichtlinie verwenden oder beide Methoden kombinieren.
- Sicherheitsintegration:
Verwenden Sie die Eigenschaften
ALLOWED_USER_DOMAINS
undALLOWED_EMAIL_PATTERNS
der SAML2-Sicherheitsintegration, die mit jedem IdP verbunden ist. In dieser Konfiguration sieht ein Benutzer nur dann einen IdP als Authentifizierungsoption, wenn seinEMAIL
-Wert mit einer E-Mail-Adressdomäne oder einem Muster in der Sicherheitsintegration übereinstimmt.- Authentifizierungsrichtlinie:
Verwenden Sie die Eigenschaft
SECURITY_INTEGRATIONS
einer Authentifizierungsrichtlinie, um anzugeben, welche Sicherheitsintegrationen dem Benutzer zur Verfügung stehen. Bei dieser Konfiguration wird die Authentifizierungsrichtlinie einem gesamten Konto oder einem einzelnen Benutzer zugewiesen. Ein Benutzer kann sich nur mit IdPs authentifizieren, die mit Sicherheitsintegrationen verbunden sind, die in der Authentifizierungsrichtlinie angegeben sind.Wenn Sie möchten, dass ein Benutzer nur die Identitätsanbieter sieht, die er verwenden darf, erstellen Sie mehrere Authentifizierungsrichtlinien, und weisen Sie dann einem Benutzer die entsprechende Richtlinie zu.
Ein Beispiel für die Verwendung einer Authentifizierungsrichtlinie zur Implementierung mehrerer IdPs finden Sie unter Authentifizierung von mehreren Identitätsanbietern für ein Konto zulassen.
- Kombiniert:
Sie können die Methoden der Sicherheitsintegration und der Authentifizierungsrichtlinien kombinieren, um die Benutzerauthentifizierung in einer Umgebung mit mehreren IdPs weiter zu verfeinern.
Wenn Sie beide Methoden verwenden, wertet Snowflake zunächst aus, welche Sicherheitsintegrationen mit der Authentifizierungsrichtlinie verbunden sind, die für die Anmeldung des Benutzers gelten. Sobald Snowflake die Sicherheitsintegrationen identifiziert hat, wird der
EMAIL
-Wert des Benutzers anhand der EigenschaftenALLOWED_USER_DOMAINS
undALLOWED_EMAIL_PATTERNS
mit einer der Integrationen abgeglichen. Snowflake zeigt nur die IdP-Option der Sicherheitsintegration an, die mit demEMAIL
-Wert des Benutzers übereinstimmt.