Mehrstufige Authentifizierung (MFA)

Snowflake unterstützt mehrstufige Authentifizierung (Multi-Factor Authentication, MFA), um Benutzern, die sich mit Snowflake verbinden, erhöhte Anmeldesicherheit zu bieten. Die MFA-Unterstützung wird als integrierte Snowflake-Funktion angeboten, die vom Service Duo Security unterstützt wird, der vollständig von Snowflake verwaltet wird. Benutzer müssen sich nicht separat bei Duo anmelden, es genügt die Installation der Duo Mobile-Anwendung, die auf mehreren Smartphone-Plattformen (iOS, Android, Windows usw.) unterstützt wird. Weitere Informationen zu unterstützten Plattformen/Geräten und zur Funktionsweise der mehrstufigen Duo-Authentifizierung finden Sie im Duo-Benutzerhandbuch.

MFA wird auf Benutzerebene aktiviert. Zu diesem Zeitpunkt sind die Benutzer jedoch nicht automatisch in MFA angemeldet. Um MFA verwenden zu können, müssen sich Benutzer registrieren.

Achtung

Snowflake empfiehlt dringend, dass alle Benutzer mit der Rolle ACCOUNTADMIN mindestens verpflichtet sind, MFA zu verwenden.

Unter diesem Thema:

Workflow zur MFA-Anmeldung

Die folgende Abbildung veranschaulicht den gesamten Anmeldevorgang für einen MFA-registrierten Benutzer, unabhängig von der für die Verbindung verwendeten Schnittstelle:

MFA login flow

Anmelden eines Snowflake-Benutzers für MFA

Bisher konnten Benutzer nur dann für MFA registriert werden, wenn sie eine Anfrage an den Snowflake-Support stellten. Dies ist nicht mehr erforderlich.

Jeder Snowflake-Benutzer kann sich über die Weboberfläche selbst für MFA anmelden. Weitere Informationen dazu finden Sie unter Verwalten Ihrer Benutzereinstellungen.

Verwalten von MFA für Ihr Konto und Ihre Benutzer

Auf Kontoebene erfordert MFA keine Verwaltung. Es ist automatisch für Ihr Konto aktiviert und steht allen Ihren Benutzern zur Selbstregistrierung zur Verfügung. Möglicherweise müssen Sie jedoch MFA für andere Benutzer vorübergehend oder dauerhaft deaktivieren. Wenn beispielsweise Benutzer ihr Handy vergessen oder verlieren und sich nicht mit MFA anmelden können, oder wenn Benutzer ihre Telefonnummer ändern.

Zur Ausführung dieser Aufgabe können Sie den Befehl ALTER USER mit folgenden Eigenschaften verwenden:

  • MINS_TO_BYPASS_MFA

    Gibt die Anzahl der Minuten an, in denen MFA für den Benutzer vorübergehend deaktiviert wird, damit er sich anmelden kann. Nach Ablauf der Zeit wird MFA erzwungen, und der Benutzer kann sich nicht ohne den von der Duo Mobile-Anwendung generierten temporären Token anmelden.

  • DISABLE_MFA

    Deaktiviert MFA für den Benutzer und storniert damit seine Registrierung. Um MFA wieder zu verwenden, muss sich der Benutzer erneut anmelden.

Verbinden mit Snowflake mit MFA

Die MFA-Anmeldung ist in erster Linie für die Verbindung mit Snowflake über die Weboberfläche gedacht, wird aber auch von SnowSQL und den Snowflake JDBC- und ODBC-Treibern vollständig unterstützt.

Verwenden von MFA über die Weboberfläche

So melden Sie sich mit MFA bei der Snowflake-Weboberfläche an:

  1. Wechseln Sie in Ihrem Browser zur URL Ihres Kontos (z. B. https://xy12345.snowflakecomputing.com, https://xy12345.eu-central-1.snowflakecomputing.com).

  2. Geben Sie Ihre Anmeldeinformationen (Benutzeranmeldename und Kennwort) ein.

    MFA login
  3. Wenn Duo Push aktiviert ist, wird eine Push-Benachrichtigung an Ihre Duo Mobile-Anwendung gesendet. Wenn Sie die Benachrichtigung erhalten, klicken Sie einfach auf Approve, und Sie werden bei Snowflake angemeldet.

    MFA approval

    Wie im obigen Screenshot gezeigt, können Sie anstelle der Push-Benachrichtigung auch Folgendes wählen:

    • Klicken Sie auf Enter Duo Passcode, um sich manuell durch Eingabe einer von der Duo Mobile-Anwendung bereitgestellte Kennung anzumelden.

    • Klicken Sie auf Request SMS Passcodes, um einen Satz temporärer Kennungen über eine SMS an Ihr Gerät zu senden. Sie können sich dann anmelden, indem Sie eine der Kennungen manuell eingeben.

Verwenden von MFA mit SnowSQL

MFA kann für das Verbinden mit Snowflake über SnowSQL verwendet werden. Standardmäßig wird der Duo Push-Authentifizierungsmechanismus verwendet, wenn ein Benutzer in MFA registriert ist.

Um anstelle des Push-Mechanismus eine von Duo generierte Kennung zu verwenden, müssen die Anmeldeparameter eine der folgenden Verbindungsoptionen enthalten:

--mfa-passcode <Zeichenfolge> oder --mfa-passcode-in-password

Weitere Details dazu finden Sie unter SnowSQL (CLI-Client).

Verwenden von MFA mit JDBC

MFA kann für die Verbindung mit Snowflake über den Snowflake-JDBC-Treiber verwendet werden. Standardmäßig wird der Duo-Push-Authentifizierungsmechanismus verwendet, wenn ein Benutzer in MFA registriert ist. Dann sind keine Änderungen an der JDBC-Verbindungszeichenfolge erforderlich.

Um anstelle des Push-Mechanismus eine von Duo generierte Kennung zu verwenden, muss in der JDBC-Verbindungszeichenfolge einer der folgenden Parameter enthalten sein:

passcode=<Kennungszeichenfolge> OR passcodeInPassword=on

Wobei:

  • Kennungszeichenfolge ist eine in Duo generierte Kennung für den Benutzer, der sich verbindet. Dabei kann es sich um eine von der Duo Mobile-Anwendung generierte Kennung oder um eine SMS-Kennung handeln.

  • Wenn passcodeInPassword=on, dann werden Kennwort und Kennung in der Form <Kennwortzeichenfolge><Kennungszeichenfolge> verkettet.

Weitere Details dazu finden Sie unter JDBC-Treiber.

Beispiele für JDBC-Verbindungszeichenfolgen mit Duo

JDBC-Verbindungszeichenfolge für den Benutzer demo, der sich mit dem Konto xy12345 (in der Region US West) unter Verwendung einer Duo-Kennung verbindet:

jdbc:snowflake://xy12345.snowflakecomputing.com/?user=demo&passcode=123456

JDBC-Verbindungszeichenfolge für den Benutzer demo, der sich mit dem Konto xy12345 (in der Region US West) unter Verwendung einer in das Kennwort eingebetteten Duo-Kennung verbindet:

jdbc:snowflake://xy12345.snowflakecomputing.com/?user=demo&passcodeInPassword=on

Verwenden von MFA mit ODBC

MFA kann für die Verbindung mit Snowflake über den Snowflake-ODBC-Treiber verwendet werden. Standardmäßig wird der Duo-Push-Authentifizierungsmechanismus verwendet, wenn ein Benutzer in MFA registriert ist. Dann sind keine Änderungen an den ODBC-Einstellungen erforderlich.

Um anstelle des Push-Mechanismus eine von Duo generierte Kennung zu verwenden, muss für den Treiber einer der folgenden Parameter angegeben werden:

passcode=<Kennungszeichenfolge> OR passcodeInPassword=on

Wobei:

  • Kennungszeichenfolge ist eine in Duo generierte Kennung für den Benutzer, der sich verbindet. Dabei kann es sich um eine von der Duo Mobile-Anwendung generierte Kennung oder um eine SMS-Kennung handeln.

  • Wenn passcodeInPassword=on, dann werden Kennwort und Kennung in der Form <Kennwortzeichenfolge><Kennungszeichenfolge> verkettet.

Weitere Details dazu finden Sie unter ODBC-Treiber.

Verwenden von MFA mit Python

MFA kann für die Verbindung mit Snowflake über den Snowflake-Konnektor für Python verwendet werden. Standardmäßig wird der Duo-Push-Authentifizierungsmechanismus verwendet, wenn ein Benutzer in MFA registriert ist. Dann sind keine Änderungen an den Python-API-Einstellungen erforderlich.

Um anstelle des Push-Mechanismus eine von Duo generierte Kennung zu verwenden, muss für den Treiber in der Methode connect() einer der folgenden Parameter angegeben werden:

passcode=<Kennungszeichenfolge> OR passcode_in_password=True

Wobei:

  • Kennungszeichenfolge ist eine in Duo generierte Kennung für den Benutzer, der sich verbindet. Dabei kann es sich um eine von der Duo Mobile-Anwendung generierte Kennung oder um eine SMS-Kennung handeln.

  • Wenn passcode_in_password=True, dann werden Kennwort und Kennung in der Form <Kennwortzeichenfolge><Kennungszeichenfolge> verkettet.

Weitere Details dazu finden Sie in der Beschreibung der connect()-Methode im Abschnitt Funktionen der Dokumentation zur Python-Konnektor-API.