Konfigurieren von Snowflake für die Verwendung der Verbundauthentifizierung

Unter diesem Thema werden die Schritte beschrieben, die Sie nach der Konfiguration Ihres IdP in Snowflake ausführen müssen. Sie müssen jeden Schritt ausführen, sofern nicht anders angegeben, um die Verbundauthentifizierung zu aktivieren.

Unter diesem Thema:

Schritt 1: Benutzer in Snowflake erstellen

  1. Melden Sie sich bei Snowflake als Benutzer mit der Rolle ACCOUNTADMIN oder SECURITYADMIN an.

  2. Erstellen Sie Benutzer, falls diese noch nicht vorhanden sind, die mit den Benutzern übereinstimmen, die Sie in Ihrem IdP angelegt haben.

Wichtig

Bei Verwendung der Verbundauthentifizierung muss der login_name für Snowflake mit dem entsprechenden Wert im SAML-Subject-Attribut NameID übereinstimmen, der in der SAML-Antwort übergeben wird. Dieser Wert kann die E-Mail-Adresse des Benutzer, der Benutzernamen oder einem ganz anderen Wert sein. Wenn Sie bereits Benutzer in Snowflake haben, können Sie mit dem Befehl ALTER USER deren Attributwert aktualisieren.

Darüber hinaus sollten Sie erwägen, Benutzer so anzulegen (oder zu ändern), dass sie in Snowflake kein Kennwort haben. Dadurch wird die Snowflake-Authentifizierung für diese Benutzer effektiv deaktiviert und sie müssen sich mit der Verbundauthentifizierung anmelden. Beachten Sie, dass dies keine strenge Anforderung, aber sehr zu empfehlen ist. Weitere Details dazu finden Sie unter Verwalten von Benutzern mit aktivierter Verbundauthentifizierung.

Schritt 2: IdP-Informationen für Snowflake spezifizieren

Wichtig

Das Folgende gilt nur für die Konfiguration von SAML-SSO.

Wenn Sie erweiterte SAML-SSO-Funktionen (z. B. verschlüsselte Assertionen, signierte Anforderungen, SAML-NameID) einbeziehen möchten, finden Sie entsprechende Informationen unter Erweiterte SAML-SSO-Funktionen.

Um einen IdP für die Verbundauthentifizierung zu aktivieren, benötigt Snowflake die folgenden Informationen zu dem IdP:

  • Authentifizierungszertifikat.

  • URL-Endpunkt für SAML-Anfragen

  • Aussteller/EntityID zur Identifizierung des IdP

Darüber hinaus müssen Sie den IdP-Typ angeben, der für die Authentifizierung verwendet wird (OKTA, ADFS oder CUSTOM). Sie können optional auch die Bezeichnung für die IdP-Schaltfläche angeben, die auf der Anmeldeseite von Snowflake angezeigt wird.

Diese Informationen werden durch den Kontoparameter SAML_IDENTITY_PROVIDER angegeben. Dieser Parameter akzeptiert ein JSON-Objekt, das in einfache Anführungszeichen eingeschlossen ist, mit den folgenden Feldern:

{
  "certificate": "",
  "issuer": "",
  "ssoUrl": "",
  "type"  : "",
  "label" : ""
}

Wobei:

certificate

Gibt das Zertifikat an, das die Kommunikation zwischen IdP und Snowflake überprüft. Dieses Zertifikat (signiert mit dem Algorithmus RSA 256) wird von dem IdP erzeugt. Fügen Sie nur die Zertifizierungsstelle (ohne Kopf-/Fußzeile) in eine einzige Zeile ein.

issuer

Zeigt den Aussteller bzw. die EntityID des IdP an. Beispiel:

Okta SSO

So rufen Sie den Aussteller bzw. die EntityID Ihres Okta-Kontos ab:

  1. Navigieren Sie zur Okta Admin Console.

  2. Wählen Sie die zuvor erstellte Snowflake-Anwendung aus.

  3. Klicken Sie auf die Registerkarte Sign On.

  4. Klicken Sie auf den Link Identity Provider metadata, und laden Sie das XML-Dokument herunter.

  5. Öffnen Sie das heruntergeladene XML-Dokument, und suchen Sie im XML-Stammelement EntityDescriptor das XML-Attribut entityID.

  6. Kopieren Sie den Wert für entityID, und fügen Sie ihn zwischen die doppelten Anführungszeichen von "issuer": "" ein.

ADFS SSO

So bestimmen Sie den Aussteller bzw. die EntityID Ihrer ADFS-Instanz:

  1. Navigieren Sie zur ADFS 2.0 Management Console.

  2. Navigieren Sie zu Action.

  3. Wählen Sie Edit Federation Service Properties aus.

  4. Kopieren Sie den Wert in das Feld Federation Service identifier.

  5. Fügen Sie den Wert zwischen die doppelten Anführungszeichen von "issuer": "" ein.

ssoUrl

Gibt den URL-Endpunkt an, an den Snowflake die SAML-Anfragen sendet. Dieser Endpunkt ist IdP-spezifisch und wird durch den IdP bei der Konfiguration bestimmt. Beispiel:

Okta SSO

https://Name_Ihres_Okta-Kontos.okta.com/app/Okta-Snowflake-App-ID/sso/saml.

ADFS SSO

Anmelde-URL für ADFS, die normalerweise die IP oder der FQDN Ihres ADFS-Servers mit angehängtem /adfs/ls ist.

type

Zeichenfolgenliteral, das den für die Verbundauthentifizierung verwendeten IdP angibt. Mögliche Werte sind:

  • "OKTA"

  • "ADFS"

  • "Custom" (für alle anderen IdPs)

label

Gibt den Text der Schaltfläche für den IdP auf der Anmeldeseite von Snowflake an. Die Standardbezeichnung lautet Single Sign On. Wenn Sie die Standardbezeichnung ändern, darf die von Ihnen angegebene Bezeichnung nur alphanumerische Zeichen enthalten (d. h. Sonderzeichen und Leerzeichen werden derzeit nicht unterstützt).

Beachten Sie, dass, wenn das Feld "type" "Okta" ist, ein Wert für das Feld label nicht angegeben werden muss, da Snowflake automatisch das Okta-Logo in der Schaltfläche anzeigt.

Um den Parameter einzustellen, führen Sie als Benutzer mit der Rolle ACCOUNTADMIN einen ALTER ACCOUNT-Befehl aus:

  • Im folgenden Beispiel wird Okta als IdP für Ihr Konto verwendet (mit abccorp als Ihren Okta-Kontonamen):

    USE ROLE ACCOUNTADMIN;
    
    ALTER ACCOUNT SET SAML_IDENTITY_PROVIDER = '{
      "certificate": "XXXXXXXXXXXXXXXXXXX",
      "ssoUrl": "https://abccorp.okta.com/app/<okta_snowflake_app_id>/sso/saml",
      "type"  : "OKTA"
      }';
    
  • Im folgenden Beispiel wird ADFS als IdP für Ihr Konto festgelegt (mit abccorp.testmachime.com als IP/FQDN für Ihren ADFS-Server):

    USE ROLE ACCOUNTADMIN;
    
    ALTER ACCOUNT SET SAML_IDENTITY_PROVIDER = '{
      "certificate": "XXXXXXXXXXXXXXXXXXX",
      "ssoUrl": "https://abccorp.testmachine.com/adfs/ls",
      "type"  : "ADFS",
      "label" : "ADFSSingleSignOn"
      }';
    

Schritt 3: Von Snowflake initiiertes SSO testen – Optional

Snowflake bietet eine Vorschau-Anmeldeseite auf der Weboberfläche, mit der Sie die von Snowflake initiierte Anmeldung testen können, bevor Sie diese an alle Ihre Benutzer auf der Hauptanmeldeseite verteilen. Nachdem Sie den Kontoparameter SAML_IDENTITY_PROVIDER zur Aktivierung von SSO festgelegt haben, können Sie mit der folgenden URL die Vorschauseite aufrufen:

  • Wenn sich Ihr Konto in US West befindet: https://<Kontoname>.snowflakecomputing.com/console/login?fedpreview=true

  • Wenn sich Ihr Konto in einer anderen Region befindet: https://<Kontoname>.<Regions-ID>.snowflakecomputing.com/console/login?fedpreview=true

Die Schaltfläche zum Anmelden über den IdP für Ihr Konto (Okta, ADFS oder benutzerdefiniert) wird auf der Vorschauseite angezeigt.

Bemerkung

Dieser Schritt ist optional, wird aber dringend empfohlen, um sicherzustellen, dass die Funktion wie erwartet funktioniert, bevor Sie sie an Ihre Benutzer weitergeben.

Schritt 4: Von Snowflake initiiertes SSO aktivieren

Snowflake stellt den Kontoparameter SSO_LOGIN_PAGE bereit, um die durch Snowflake initiierte Anmeldung auf der Hauptanmeldeseite zu aktivieren. Sie müssen diesen Parameter auf TRUE setzen (Standardwert ist FALSE), um die Konfiguration der Verbundauthentifizierung für Ihr Konto abzuschließen. Nach Einstellung dieses Parameters wird, wenn Benutzer auf die Hauptanmeldeseite wechseln, die Schaltfläche zum Anmelden über den IdP für Ihr Konto (Okta, ADFS oder benutzerdefiniert) angezeigt.

Um den Parameter einzustellen, führen Sie als Benutzer mit der Rolle ACCOUNTADMIN den folgenden Befehl ALTER ACCOUNT aus:

USE ROLE ACCOUNTADMIN;

ALTER ACCOUNT SET SSO_LOGIN_PAGE = TRUE;