Benutzerverwaltung

Benutzeradministratoren können Snowflake-Benutzer über SQL oder die Weboberfläche erstellen und verwalten:

  • Mit SQL können Administratoren alle auf den Benutzer bezogenen Aufgaben ausführen, einschließlich der Änderung der Anmeldeinformationen und der Standardeinstellungen für Benutzer.

  • Snowsight unterstützt die meisten benutzerbezogenen Aufgaben.

  • Die klassische Weboberfläche unterstützt nicht alle benutzerbezogenen Aufgaben, bietet aber einen praktischen Assistenten zum Erstellen von Benutzern und zum Ausführen der häufigsten Aktivitäten, z. B. zum Zurücksetzen des Kennworts eines Benutzers.

Unter diesem Thema:

Erforderliche Berechtigungen zum Erstellen und Ändern von Benutzern

Die folgenden Rollen oder Berechtigungen sind erforderlich, um Benutzer in Ihrem Konto zu verwalten:

Benutzer erstellen

Die Systemrolle USERADMIN kann Benutzer mit SQL (CREATE USER) erstellen.

Wenn Sie es vorziehen, eine kundenspezifische Rolle für diesen Zweck zu verwenden, erteilen Sie dieser Rolle die Berechtigung CREATE USER für das Konto.

Benutzer modifizieren

Nur die Rolle mit OWNERSHIP-Berechtigung für einen Benutzer oder eine höhere Rolle kann die meisten Benutzereigenschaften mit SQL (ALTER USER) ändern. Außerdem muss die Rolle die globale Berechtigung CREATE USER haben.

Kennwortrichtlinien

Eine Kennwortrichtlinie legt die Anforderungen für das Erstellen und Zurücksetzen von Kennwörtern fest, die der Authentifizierung bei Snowflake dienen.

Snowflake bietet zwei Optionen für Kennwortrichtlinien:

  • Eine integrierte Kennwortrichtlinie zur Vereinfachung des erstmaligen Benutzerbereitstellungsprozesses.

  • Ein Kennwortrichtlinienobjekt auf Schemaebene, das auf der Ebene des Snowflake-Kontos, eines einzelnen Benutzers oder auf beiden Ebenen festgelegt werden kann, je nach Anwendungsfall und den Anforderungen des Benutzeradministrators.

Weitere Informationen zu Best Practices und den jeweiligen Optionen für Kennwortrichtlinien finden Sie unter:

Best Practices bei Kennwortrichtlinien und Kennwörter

Snowflake empfiehlt die folgenden bewährten Methoden für Kennwörter und Kennwortrichtlinien:

Kundenspezifische Kennwortrichtlinie erstellen und durchsetzen

Das Kennwortrichtlinienobjekt wird durchgesetzt, sobald die Kennwortrichtlinie für ein Konto oder einen Benutzer festgelegt ist.

Setzen Sie diese Eigenschaften auf Werte, die Ihren internen Sicherheitsanforderungen entsprechen. Weitere Informationen dazu finden Sie unter Schritt 4: Kennwortrichtlinie erstellen (unter diesem Thema):

  • PASSWORD_HISTORY, um sicherzustellen, dass Benutzer Kennwörter nicht zu häufig wiederverwenden können, und um Brute-Force-Angriffe zur Ermittlung des Kennworts eines Benutzers zu verhindern.

  • PASSWORD_MIN_AGE_DAYS, um den Benutzer aufzufordern, das neue Kennwort zu verwenden. Ein Wert von 0 wird nicht empfohlen, da der Benutzer das Kennwort ändern kann, um den Kennwortverlauf zu erschöpfen und den ursprünglichen Kennwortwert zu früh wieder zu verwenden.

Damit der Benutzer bei der ersten oder nächsten Anmeldung bei Snowflake zur Änderung seines Kennworts aufgefordert wird, damit dieses der Kennwortrichtlinie entspricht, setzen Sie die Eigenschaft MUST_CHANGE_PASSWORD des Benutzers mit einem ALTER USER-Befehl auf TRUE.

Weitere Details dazu finden Sie unter Schritt 6: Kennwortänderung einfordern (unter diesem Thema).

Sichere Kennwörter einfordern

Definieren Sie eine Kennwortrichtlinie auf Kontoebene, um sichere Kennwörter einzufordern.

Ein sicheres Kennwort besteht aus mindestens 8 Zeichen und enthält eine Kombination aus Groß- und Kleinbuchstaben, Sonderzeichen (z. B. ! und *) sowie Ziffern.

MFA

Verwenden Sie Mehrstufige Authentifizierung (MFA) zur Erhöhung der Sicherheit.

Verwenden von SCIM

Sie können in einer SCIM-API-Anforderung ein Kennwort für den Benutzer für den Zugriff auf Snowflake festlegen. SCIM-Administratoren und Benutzeradministratoren sollten das Benutzerkennwort für den Zugriff auf Snowflake entweder über Ihren Identitätsanbieter oder mithilfe einer Kennwortrichtlinie in Snowflake verwalten.

Derzeit müssen Benutzer, die mit SCIM in Snowflake bereitgestellt werden, ihr Kennwort der Standard-Kennwortrichtlinie von Snowflake anpassen. Diese Anforderung kann durch Verwendung dieses Kennwortrichtlinien-Features umgangen werden.

Um die Standard-Kennwortrichtlinie zu umgehen, folgen Sie der Anleitung im Abschnitt Verwenden von Kennwortrichtlinien (unter diesem Thema).

Überwachen von Kennwörtern

So überwachen Sie Kennwörter:

  • Fragen Sie die in Snowflake die Account Usage-Ansicht USERS ab, um festzustellen, ob der Wert der Spalte HAS_PASSWORD („hat Kennwort“) für einen bestimmten Benutzer TRUE („Wahr“) ist.

  • Fragen Sie in Snowflake die Account Usage-Ansicht LOGIN_HISTORY ab, und werten Sie die Spalte FIRST_AUTHENTICATION_FACTOR aus. Wenn ein Benutzer für den Zugriff auf Snowflake kein Kennwort benötigt, führen Sie einen ALTER USER-Befehl aus, um die Eigenschaft password auf NULL zu setzen.

Von Snowflake bereitgestellte Kennwortrichtlinie

Ein Kennwort kann eine beliebige Zeichenfolge von bis zu 256 Zeichen unter Beachtung der Groß-/Kleinschreibung und einschließlich Leerzeichen und Sonderzeichen (d. h. nicht alphanumerische Zeichen) wie Ausrufezeichen (!), Prozentzeichen (%) und Sternchen (*) sein.

Während der erstmaligen Erstellung eines Benutzers ist es möglich, ein schwaches Kennwort für den Benutzer festzulegen, das die unten beschriebenen Mindestanforderungen nicht erfüllt (z. B. 'test12345'). Dieses Feature bietet Administratoren die Möglichkeit, während des Erstellungsprozesses generische Kennwörter für den Benutzer zu verwenden. Wenn diese Vorgehensweise gewählt wird, empfiehlt Snowflake dringend, die Eigenschaft MUST_CHANGE_PASSWORD auf TRUE zu setzen, damit Benutzer bei der nächsten Anmeldung, einschließlich der erstmaligen Anmeldung, gezwungen werden, ihr Kennwort auf Snowflake zu ändern.

Darüber hinaus ermöglicht Snowflake das Anlegen von Benutzern ohne Initialkennwort, um Geschäftsprozesse zu unterstützen, bei denen sich neue Benutzer nicht beim System anmelden dürfen. In diesem Fall hat die Eigenschaft PASSWORD des Benutzers den Wert NULL. Snowflake erwartet jedoch in der Regel, dass Benutzer mit Initialkennwörtern angelegt werden.

Im Zusammenhang mit dem Zurücksetzen eines bestehenden Kennworts (z. B. Änderung von 'test12345' in 'q@-*DaC2yjZoq3Re4JYX'), ersetzt Snowflake bei Verwendung des Befehls ALTER USER und der Weboberfläche die folgende Kennwortrichtlinie als Mindestanforderung durch:

  • Muss mindestens 8 Zeichen lang sein.

  • Muss mindestens 1 Ziffer enthalten.

  • Muss mindestens 1 Großbuchstaben und 1 Kleinbuchstaben enthalten.

Snowflake empfiehlt dringend die Einhaltung der folgenden Richtlinien zum Erstellen möglichst starker Kennwörter:

  • Erstellen Sie ein Kennwort nur für Snowflake (d. h. verwenden Sie nie dieselben Kennwörter auch bei anderen Systemen oder Konten).

  • Verwenden Sie mehr als 8 Zeichen.

  • Verwenden Sie verschiedene, zufällig angeordnete Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen einschließlich Leerzeichen.

  • Verwenden Sie niemals einfach zu erratende, gängige Kennwörter, Namen, Zahlen oder Datumsangaben.

Um das höchste Sicherheitsniveau für die Benutzeranmeldung zu konfigurieren, empfiehlt Snowflake außerdem, dass sich Benutzer bei MFA anmelden.

Kundenspezifische Kennwortrichtlinie für Konto und Benutzer

Die kundenspezifische Kennwortrichtlinie ist ein Objekt auf Schemaebene, das die Anforderungen für das Erstellen und Zurücksetzen eines Kennworts zur Authentifizierung bei Snowflake festlegt, einschließlich der Anzahl der Versuche, das Kennwort erfolgreich einzugeben, und der Anzahl der Minuten, bevor eine erneute Eingabe des Kennworts erfolgen kann (d. h. die „Sperrungszeit“).

Die Anforderungen der Kennwortrichtlinie für ein Kennwort umfassen Groß-/Kleinbuchstaben, Sonderzeichen, Ziffern und Kennwortlänge, um die Sicherheitsanforderungen für Benutzer und Clients zur Authentifizierung bei Snowflake zu erfüllen. Kennwortrichtlinien, die sichere Kennwörter vorschreiben, helfen bei der Einhaltung von Sicherheitsrichtlinien und -bestimmungen.

Snowflake unterstützt das Festlegen einer Kennwortrichtlinie für Ihr Snowflake-Konto und für einzelne Benutzer. Für Ihr Snowflake-Konto oder einen Benutzer kann immer nur genau eine Kennwortrichtlinie festgelegt werden. Wenn für das Snowflake-Konto eine Kennwortrichtlinie vorhanden ist und für einen Benutzer desselben Snowflake-Kontos eine andere Kennwortrichtlinie festgelegt ist, hat die Kennwortrichtlinie auf Benutzerebene Vorrang vor der Kennwortrichtlinie auf Kontoebene.

Die Kennwortrichtlinie gilt für neue Kennwörter, die in Ihrem Snowflake-Konto festgelegt werden. Um sicherzustellen, dass Benutzer mit vorhandenen Kennwörtern die Anforderungen der Kennwortrichtlinie erfüllen, fordern Sie die Benutzer bei der nächsten Anmeldung bei Snowflake auf, das Kennwort zu ändern, wie unter Schritt 6: Kennwortänderung einfordern (unter diesem Thema) gezeigt.

Bemerkung

Für jeden Kennwortrichtlinienparameter ist eine ALTER USER-Anweisung erforderlich, um die MUST_CHANGE_PASSWORD-Eigenschaft auf TRUE zu setzen, damit die Benutzer bei der nächsten Anmeldung bei Snowflake gezwungen werden, ihr Kennwort entsprechend dem Wert des Kennwortrichtlinienparameters zu aktualisieren.

Die folgenden Parameter bilden jedoch Ausnahmen:

  • PASSWORD_MAX_AGE_DAYS = integer

  • PASSWORD_MAX_AGE_DAYS = integer

  • PASSWORD_LOCKOUT_TIME_MINS = integer

Diese Parameter sind zustandsabhängig. Ein zustandsabhängiger Parameter bedeutet, dass der Parameterwert wirksam wird, sobald die Ausführung des Befehls abgeschlossen ist. Es ist nicht notwendig, einen ALTER USER … SET MUST_CHANGE_PASSWORD-Befehl auszuführen, wenn Ihre Anweisung für CREATE PASSWORD POLICY oder ALTER PASSWORD POLICY nur einen oder mehrere zustandsabhängige Parameter enthält.

Beachten Sie, dass das Ändern des Wertes eines zustandsabhängigen Parameters mit einem ALTER PASSWORD POLICY-Befehl keine Auswirkungen auf die aktuelle Sitzung hat. Wenn Sie beispielsweise den Wert des Parameters PASSWORD_MAX_AGE_DAYS in eine Zahl ändern, die das aktuelle Kennwort des Benutzers ablaufen lässt, wird der Benutzer bei der nächsten Anmeldung bei Snowflake sein Kennwort ändern. Snowflake zwingt den Benutzer nicht dazu, sein Kennwort in der aktuellen Sitzung zu ändern.

Hinweise

  • Zukünftige Berechtigungszuweisungen zu Kennwortrichtlinien werden nicht unterstützt.

    Als Problemumgehung können Sie einer kundenspezifischen Rolle die Berechtigung APPLYPASSWORD POLICY zuweisen, damit diese Rolle Kennwortrichtlinien auf einen Benutzer oder ein Snowflake-Konto anwenden kann.

  • Die Kennwortrichtlinie kann auf zwei Arten verwaltet werden: mit SQL (unter Verwendung von SnowSQL oder einem der unterstützten Treiber oder Konnektoren) oder mit Worksheets (unter Verwendung der klassischen Weboberfläche oder Snowsight).

  • Zurücksetzen oder Ändern eines Kennworts:

    • Klassische Weboberfläche, SnowSQL und unterstützte Konnektoren und Treiber:

      Wenn zum Zurücksetzen oder Ändern eines Kennworts ein ALTER USER-Befehl ausgeführt oder die klassische Weboberfläche verwendet wird, wertet Snowflake die Kennwortrichtlinie aus, um sicherzustellen, dass das neu erstellte Kennwort die Anforderungen der Kennwortrichtlinie erfüllt.

  • Verfolgen der Nutzung von Kennwortrichtlinien:

    • Fragen Sie die Account Usage-Ansicht PASSWORD_POLICIES ab, um eine Zeile für jede Kennwortrichtlinie Ihres Snowflake-Kontos zurückzugeben.

    • Verwenden Sie die Information Schema-Tabellenfunktion POLICY_REFERENCES, um eine Zeile für jeden Benutzer zurückzugeben, der der angegebenen Kennwortrichtlinie zugeordnet ist, und eine Zeile für die dem Snowflake-Konto zugeordnete Kennwortrichtlinie.

      Derzeit wird nur die folgende Syntax für Kennwortrichtlinien unterstützt:

      POLICY_REFERENCES( POLICY_NAME => '<password_policy_name>' )
      
      Copy

      Wobei password_policy_name der vollqualifizierte Name der Kennwortrichtlinie ist.

      Führen Sie zum Beispiel die folgende Abfrage aus, um eine Zeile für jeden Benutzer zurückzugeben, dem die Kennwortrichtlinie mit dem Namen password_policy_prod_1 zugewiesen ist, die in der Datenbank mit dem Namen my_db und dem Schema mit dem Namen my_schema gespeichert ist:

      SELECT *
      FROM TABLE(
          my_db.information_schema.policy_references(
            POLICY_NAME => 'my_db.my_schema.password_policy_prod_1'
        )
      );
      
      Copy

Verwenden von Kennwortrichtlinien

Die folgenden Schritte sind eine repräsentative Anleitung für das Definieren und Festlegen einer Kennwortrichtlinie in Snowflake.

Bei diesen Schritten wird von einem zentralen Verwaltungsansatz ausgegangen, bei dem eine kundenspezifische Rolle mit dem Namen policy_admin Eigentümer der Kennwortrichtlinie ist (d. h. die Rolle hat die OWNERSHIP-Berechtigung für die Kennwortrichtlinie) und bei dem diese Rolle für das Zuweisen der Kennwortrichtlinie zu einem Konto oder einem Benutzer verantwortlich ist (d. h. die Rolle hat die Berechtigung APPLY PASSWORD POLICY wie in Schritt 2 gezeigt).

Bemerkung

Um eine Richtlinie für ein Konto festzulegen, muss die kundenspezifische Rolle policy_admin auch die USAGE-Berechtigung für die Datenbank und das Schema haben, die die Kennwortrichtlinie enthalten.

Weitere Informationen dazu finden Sie unter Zugriffssteuerungsrechte.

Schritt 1: Kundenspezifische Rolle erstellen

Erstellen Sie eine kundenspezifische Rolle, die das Erstellen und Verwalten von Kennwortrichtlinien erlaubt. Unter diesem Thema wird die kundenspezifische Rolle als policy_admin bezeichnet, obwohl die Rolle jeden beliebigen Namen haben kann.

Wenn die kundenspezifische Rolle bereits vorhanden ist, fahren Sie mit dem nächsten Schritt fort.

Erstellen Sie andernfalls die kundenspezifische Rolle policy_admin.

USE ROLE USERADMIN;

CREATE ROLE policy_admin;
Copy

Schritt 2: Kundenspezifischer Rolle Berechtigungen zuweisen

Wenn die kundenspezifische Rolle policy_admin nicht bereits über die folgenden Berechtigungen verfügt, weisen Sie ihr folgende Berechtigungen zu:

  • USAGE für die Datenbank und das Schema, die die Kennwortrichtlinie enthalten werden

  • CREATE PASSWORD POLICY für das Schema, in dem die Kennwortrichtlinie gespeichert werden soll.

  • APPLY PASSWORD POLICY für das Konto

USE ROLE SECURITYADMIN;

GRANT USAGE ON DATABASE security TO ROLE policy_admin;

GRANT USAGE ON SCHEMA security.policies TO ROLE policy_admin;

GRANT CREATE PASSWORD POLICY ON SCHEMA security.policies TO ROLE policy_admin;

GRANT APPLY PASSWORD POLICY ON ACCOUNT TO ROLE policy_admin;
Copy

Wenn Sie eine Kennwortrichtlinie für einen Benutzer festlegen möchten, erteilen Sie die Berechtigung APPLY PASSWORD POLICY für den Benutzer. Wenn der Benutzername beispielsweise JSMITH ist, führen Sie den folgenden Befehl aus.

GRANT APPLY PASSWORD POLICY ON USER jsmith TO ROLE policy_admin;
Copy

Weitere Informationen dazu finden Sie unter Übersicht der DDL-Befehle, Operationen und Berechtigungen.

Schritt 3: Kundenspezifische Rolle einem Benutzer zuweisen

Weisen Sie den Benutzern, die für die Verwaltung der Kennwortrichtlinien zuständig sind, die kundenspezifische Rolle policy_admin zu.

USE ROLE SECURITYADMIN;
GRANT ROLE policy_admin TO USER jsmith;
Copy

Weitere Informationen dazu finden Sie unter Konfigurieren der Zugriffssteuerung.

Schritt 4: Kennwortrichtlinie erstellen

Erstellen Sie mit der kundenspezifischen Rolle policy_admin eine Kennwortrichtlinie namens password_policy_prod_1. Weitere Informationen dazu finden Sie unter CREATE PASSWORD POLICY.

USE ROLE policy_admin;

USE SCHEMA security.policies;

CREATE PASSWORD POLICY PASSWORD_POLICY_PROD_1
    PASSWORD_MIN_LENGTH = 12
    PASSWORD_MAX_LENGTH = 24
    PASSWORD_MIN_UPPER_CASE_CHARS = 2
    PASSWORD_MIN_LOWER_CASE_CHARS = 2
    PASSWORD_MIN_NUMERIC_CHARS = 2
    PASSWORD_MIN_SPECIAL_CHARS = 2
    PASSWORD_MIN_AGE_DAYS = 1
    PASSWORD_MAX_AGE_DAYS = 999
    PASSWORD_MAX_RETRIES = 3
    PASSWORD_LOCKOUT_TIME_MINS = 30
    PASSWORD_HISTORY = 5
    COMMENT = 'production account password policy';
Copy

Bemerkung

Die Eigenschaft PASSWORD_MAX_AGE_DAYS wird auf den größten Wert 999 gesetzt. Wählen Sie einen Wert, der mit Ihren internen Richtlinien übereinstimmt. Weitere Details dazu finden Sie unter CREATE PASSWORD POLICY.

Schritt 5: Kennwortrichtlinie für das Konto oder einen einzelnen Benutzer festlegen

Weisen Sie einem Konto die Richtlinie mit dem Befehl ALTER ACCOUNT zu:

ALTER ACCOUNT SET PASSWORD POLICY security.policies.password_policy_prod_1;
Copy

Wenn Sie eine zusätzliche Kennwortrichtlinie für einen oder mehrere Benutzer erstellen möchten, weisen Sie einem Benutzer die Kennwortrichtlinie auf Benutzerebene mit dem Befehl ALTER USER zu:

ALTER USER jsmith SET PASSWORD POLICY security.policies.password_policy_user;
Copy

Wichtig

Um eine Kennwortrichtlinie zu ersetzen, die bereits für ein Konto oder einen Benutzer festgelegt ist, heben Sie zuerst die Kennwortrichtlinie auf, und legen Sie dann die neue Kennwortrichtlinie für das Konto bzw. den Benutzer fest. Beispiel:

ALTER ACCOUNT UNSET PASSWORD POLICY;

ALTER ACCOUNT SET PASSWORD POLICY security.policies.password_policy_prod_2;
Copy

Schritt 6: Kennwortänderung einfordern

Setzen Sie die Eigenschaft MUST_CHANGE_PASSWORD für einzelne Benutzer mit einer ALTER USER-Anweisung auf TRUE, damit die Benutzer bei der nächsten Anmeldung bei Snowflake gezwungen werden, ihr Kennwort entsprechend der Kennwortrichtlinie zu ändern.

ALTER USER JSMITH SET MUST_CHANGE_PASSWORD = true;
Copy

Schritt 7: Kennwortrichtlinie in Zielkonto replizieren

Eine Kennwortrichtlinie und deren Referenzen (d. h. Zuweisungen zu einem Benutzer oder dem Konto) können mithilfe der Datenbankreplikation und der Kontoreplikation vom Quellkonto in das Zielkonto repliziert werden. Weitere Informationen dazu finden Sie unter:

Verwalten von Kennwortrichtlinien

Snowflake bietet die folgenden Berechtigungen und DDL-Befehle zum Verwalten von Kennwortrichtlinien:

Snowflake bietet die folgenden DDL-Befehle zum Verwalten von Kennwortrichtlinienobjekten:

Beachten Sie, dass für die Bearbeitung eines Objekts in einem Schema auch die Berechtigung USAGE für die übergeordnete Datenbank und das Schema erforderlich ist.

Berechtigung

Verwendung

CREATE PASSWORD POLICY

Ermöglicht das Erstellen einer neuen Kennwortrichtlinie.

APPLY PASSWORD POLICY

Ermöglicht das Anwenden einer Kennwortrichtlinie auf Konto- oder Benutzerebene.

OWNERSHIP

Gewährt volle Kontrolle über die Kennwortrichtlinie. Erforderlich, um die meisten Eigenschaften einer Kennwortrichtlinie zu ändern.

Übersicht der DDL-Befehle, Operationen und Berechtigungen

In der folgenden Tabelle wird die Beziehung zwischen den DDL-Operationen für Kennwortrichtlinien und den dafür erforderlichen Berechtigungen zusammengefasst.

Beachten Sie, dass für die Bearbeitung eines Objekts in einem Schema auch die Berechtigung USAGE für die übergeordnete Datenbank und das Schema erforderlich ist.

Operation

Erforderliche Berechtigung

Kennwortrichtlinie erstellen

Eine Rolle mit CREATE PASSWORD POLICY-Berechtigung für das Schema, um die Kennwortrichtlinie zu speichern.

Kennwortrichtlinie ändern

Eine Rolle mit OWNERSHIP-Berechtigung für die Kennwortrichtlinie.

Kennwortrichtlinie löschen

Eine Rolle mit OWNERSHIP-Berechtigung für die Kennwortrichtlinie.

Kennwortrichtlinie beschreiben

Eine Rolle mit OWNERSHIP-Berechtigung für die Kennwortrichtlinie oder . mit APPLY PASSWORD POLICY-Berechtigung für das Konto.

Kennwortrichtlinien anzeigen

Eine Rolle mit OWNERSHIP-Berechtigung für die Kennwortrichtlinie oder . mit APPLY PASSWORD POLICY-Berechtigung für das Konto.

Kennwortrichtlinie festlegen/aufheben

Eine Rolle mit APPLY PASSWORD POLICY-Berechtigung für das Konto oder den Benutzer.

Benutzerrollen

Snowflake verwendet Rollen, um zu steuern, auf welche Objekte (virtuelle Warehouses, Datenbanken, Tabellen usw.) die Benutzer zugreifen können:

  • Snowflake bietet eine Reihe vordefinierter Rollen sowie ein Framework zum Definieren einer Hierarchie von kundenspezifischen Rollen.

  • Allen Snowflake-Benutzern wird automatisch die vordefinierte Rolle PUBLIC zugewiesen, die die Anmeldung bei Snowflake und den Zugriff auf grundlegende Objekte ermöglicht.

  • Zusätzlich zu der Rolle PUBLIC kann jedem Benutzer eine zusätzliche Rolle zugewiesen werden, wobei eine dieser Rollen als Standardrolle bezeichnet wird. Die Standardrolle eines Benutzers bestimmt die Rolle, die in den vom Benutzer initiierten Snowflake-Sitzungen verwendet wird. Dies ist jedoch nur eine Standardeinstellung. Benutzer können jederzeit innerhalb einer Sitzung die Rollen wechseln.

  • Rollen können bei der Benutzererstellung oder danach zugewiesen werden.

Achtung

Berücksichtigen Sie beim Festlegen der zusätzlichen Rollen, die einem Benutzer zugewiesen werden sollen, sowie beim Festlegen der Standardrolle, die folgende Aspekte für die vordefinierte Rolle ACCOUNTADMIN (erforderlich für Verwaltungsaufgaben auf Kontoebene):

  • Snowflake empfiehlt, die Zuweisung von ACCOUNTADMIN streng zu kontrollieren, sie aber trotzdem mindestens zwei Benutzern zuzuweisen.

  • ACCOUNTADMIN sollte niemals als Standardrolle eines Benutzers festgelegt werden. Legen Sie stattdessen eine untergeordnete administrative oder kundenspezifische Rolle als Standardrolle fest.

Weitere Details und bewährte Methoden zur ACCOUNTADMIN-Rolle finden Sie unter Hinweise zur Zugriffssteuerung. Allgemeine Informationen zu Rollen finden Sie unter Übersicht zur Zugriffssteuerung.

Erstellen von Benutzern

Sie können einen Benutzer mit Snowsight, mit der klassischen Konsole oder mit SQL anlegen.

Bemerkung

Bei Verwendung der Weboberfläche (klassische Weboberfläche und Snowsight) müssen Sie beim Erstellen eines Benutzers ein Kennwort angeben. Bei Verwendung des Befehls CREATE USER ist dies nicht erforderlich.

Weitere Informationen zu Kennwörtern in Snowflake finden Sie unter Kennwortrichtlinien (unter diesem Thema).

Verwenden von Snowsight

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Admin » Users & Roles aus.

  3. Wählen Sie + User aus.

  4. Geben Sie im Feld User Name einen eindeutigen Bezeichner für den Benutzer ein. Der Benutzer verwendet diesen Bezeichner, um sich bei Snowflake anzumelden, es sei denn, Sie geben einen Anmeldenamen an.

  5. Geben Sie optional im Feld Email eine E-Mail-Adresse für den Benutzer an.

  6. Geben Sie in den Feldern Password und Confirm Password das Kennwort für den Benutzer ein.

  7. Fügen Sie optional einen Kommentar hinzu, der erklärt, warum Sie den Benutzer erstellt haben.

  8. Lassen Sie das Kontrollkästchen Force user to change password on first time login aktiviert, um den Benutzer zu zwingen, sein Kennwort zu ändern, wenn er sich anmeldet.

  9. Wählen Sie optional Advanced User Options aus, um weitere Details zu dem Benutzer anzugeben:

    • Login Name ist der Name, der anstelle des Benutzernamens (User Name) bei der Anmeldung in Snowflake zu verwenden ist.

    • Display Name ist der Name, der nach der Anmeldung angezeigt wird.

    • First Name (Vorname) und Last Name (Nachname), um das Benutzerprofil zu vervollständigen.

    • Default Role (Standardrolle), Default Warehouse (Standard-Warehouse) und Default Namespace (Standard-Namespace)

  10. Wählen Sie Create User aus, um den Benutzer zu erstellen.

Verwenden der klassischen Konsole

  1. Wählen Sie Account Account tab » Users aus.

  2. Wählen Sie Create aus.

  3. Geben Sie im Feld User Name einen eindeutigen Bezeichner für den Benutzer ein.

    Bemerkung

    Der Benutzername ist der eindeutige Bezeichner eines Benutzers in Snowflake. Dabei handelt es sich nicht um den Anmeldenamen des Benutzers (d. h. den Namen, den der Benutzer bei der Anmeldung bei Snowflake eingibt). In Snowflake können Benutzername und Anmeldename eines Benutzers unterschiedlich sein. Geben Sie auf dem nächsten Bildschirm einen Anmeldenamen für den Benutzer an.

  4. Geben Sie in den Feldern Password und Confirm Password das Kennwort für den Benutzer ein.

  5. Lassen Sie das Kontrollkästchen Force Password Change aktiviert, damit der Benutzer bei der nächsten Anmeldung zur Änderung seines Kennworts gezwungen wird. Andernfalls deaktivieren Sie das Kontrollkästchen.

  6. Wählen Sie Next aus. Der Bildschirm Advanced wird angezeigt.

  7. Geben Sie optional Login Name, Display Name und persönliche Daten für den Benutzer ein.

    Bemerkung

    Benutzer benötigen einen Anmeldenamen, um sich bei Snowflake anzumelden. Wenn Sie keinen Anmeldenamen explizit angeben, verwendet Snowflake den Benutzernamen als Anmeldenamen.

  8. Wählen Sie Next aus. Der Bildschirm Preferences wird angezeigt.

  9. Geben Sie optional Standardwerte für den Benutzer ein:

    • Virtuelles Warehouse

    • Namespace in der Form db_name oder db_name.schema_name

    • Rolle

  10. Wählen Sie Finish aus. Snowflake zeigt eine Erfolgsmeldung an.

Verwenden von SQL

Verwenden Sie den Befehl CREATE USER, um einen Benutzer zu erstellen.

Wichtig

Wenn Sie beim Erstellen eines Benutzers dem Benutzer eine Standardrolle zuweisen, müssen Sie dem Benutzer diese Rolle danach explizit gewähren. Beispiel:

CREATE USER janesmith PASSWORD = 'abc123' DEFAULT_ROLE = myrole MUST_CHANGE_PASSWORD = TRUE;

GRANT ROLE myrole TO USER janesmith;
Copy

Mit dem Befehl GRANT ROLE können Sie einem Benutzer mehrere Rollen zuweisen. Die Weboberfläche unterstützt diese Funktion derzeit nicht.

Zurücksetzen des Kennworts eines Benutzers

Administratoren können das Kennwort eines Benutzers über die Weboberfläche oder mit SQL ändern.

Verwenden von Snowsight

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Admin » Users & Roles aus.

  3. Suchen Sie den Benutzer, dessen Kennwort Sie ändern möchten, und wählen Sie dann More options » Reset Password aus.

  4. Geben Sie ein neues Kennwort für den Benutzer ein, und bestätigen Sie das Kennwort.

  5. Wählen Sie Update aus.

Verwenden der klassischen Konsole

Bemerkung

Benutzer können über die klassische Weboberfläche nur ihr eigenes Kennwort ändern. Weitere Informationen dazu finden Sie unter Ändern des Kennworts / Wechseln der (Sitzungs-)Rolle / Abmelden.

  1. Wählen Sie Account Account tab » Users aus.

  2. Klicken Sie auf die Zeile eines Benutzers, um diese zu markieren, und wählen Sie dann Reset Password (Kennwort zurücksetzen) aus. Das Dialogfenster Reset Password wird geöffnet.

  3. Geben Sie das neue Kennwort des Benutzers ein, und bestätigen Sie das Kennwort.

  4. Lassen Sie das Kontrollkästchen Force Password Change aktiviert, damit der Benutzer bei der nächsten Anmeldung zur Änderung seines Kennworts gezwungen wird. Andernfalls deaktivieren Sie das Kontrollkästchen.

  5. Wählen Sie Finish aus.

Verwenden von SQL

Verwenden Sie den Befehl ALTER USER, um das Kennwort eines Benutzers einzugeben. Beispiel:

ALTER USER janesmith SET PASSWORD = 'H8MZRqa8gEe/kvHzvJ+Giq94DuCYoQXmfbb$Xnt' MUST_CHANGE_PASSWORD = TRUE;
Copy

Verwenden Sie alternativ die Syntax ALTER USER … RESET PASSWORD, um eine URL zu generieren und diese dem Benutzer bereitzustellen. Die URL führt zu einer Webseite, auf der der Benutzer das neue Kennwort eingeben kann. Beispiel:

ALTER USER janesmith RESET PASSWORD;
Copy

Bemerkung

  • Die generierte URL ist nur für eine einmalige Verwendung gültig und erlischt nach 4 Stunden.

  • Durch die Ausführung der ALTER USER … RESET PASSWORD-Anweisung wird das aktuelle Kennwort nicht ungültig. Der Benutzer kann das alte Kennwort so lange weiterverwenden, bis das neue Kennwort gesetzt ist.

Zurücksetzen des Kennworts eines Administrators

Ein Kontoadministrator (d. h. ein Benutzer mit der Rolle ACCOUNTADMIN) kann sein eigenes Kennwort zurücksetzen, indem er/sie das unter Zurücksetzen des Kennworts eines Benutzers beschriebene Verfahren anwendet.

Wenn ein Kontoadministrator aus seinem Konto ausgesperrt wird, kann ein anderer Benutzer mit der Rolle ACCOUNTADMIN das Kennwort für den ausgesperrten Administrator zurücksetzen. Falls der Administrator ausgesperrt ist und kein anderer Administrator das Kennwort ändern kann, wenden Sie sich an den Snowflake-Support, um das Kennwort zurückzusetzen.

Deaktivieren der Kennwortänderungsfunktion für Benutzer

Benutzer ändern ihr Snowflake-Kennwort über die Weboberfläche, indem Sie oben rechts (neben dem Anmeldenamen) auf das Dropdown-Menü » Change Password klicken. Das Dialogfenster Select a New Password wird geöffnet. Der Dialog akzeptiert das aktuelle und das neue Kennwort.

Sie können optional für Benutzer in Ihrem Konto die Möglichkeit deaktivieren, das eigene Kennwort zu ändern. Kontoadministratoren können Benutzerkennwörter weiterhin über die Weboberfläche mit Account Account tab » Users oder über SQL mit dem Befehl ALTER USER ändern.

Wenden Sie sich an den Snowflake-Support, um diese Änderung anzufordern.

Deaktivieren/Aktivieren von Benutzern

Durch das Deaktivieren eines Benutzers kann sich der Benutzer nicht bei Snowflake anmelden. Sie können einen Benutzer über die Weboberfläche oder mit SQL deaktivieren.

Verwenden von Snowsight

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Admin » Users & Roles aus.

  3. Suchen Sie den Benutzer, den Sie deaktivieren möchten, und wählen Sie More options » Disable User aus.

  4. Wählen Sie im Bestätigungsdialog, der sich öffnet, Disable aus.

Führen Sie zum Aktivieren eines Benutzers die gleichen Schritte aus, aber wählen Sie Enable User (Benutzer aktivieren) aus.

Verwenden der klassischen Konsole

  1. Klicken Sie auf Account Account tab » Users.

  2. Klicken Sie auf eine Benutzerzeile, um diese auszuwählen, und klicken Sie dann auf die Schaltfläche Disable User. Ein Bestätigungsdialog wird geöffnet.

  3. Klicken Sie auf Yes, um den Benutzer zu deaktivieren.

Führen Sie zum Aktivieren eines Benutzers die gleichen Schritte aus, aber wählen Sie Enable User (Benutzer aktivieren) aus.

Verwenden von SQL

Verwenden Sie den Befehl ALTER USER, um einen Benutzer zu deaktivieren oder zu aktivieren. Beispiel:

  • Benutzer deaktivieren:

    ALTER USER janesmith SET DISABLED = TRUE;
    
    Copy
  • Benutzer aktivieren:

    ALTER USER janesmith SET DISABLED = FALSE;
    
    Copy

Entsperren eines Benutzers

Wenn eine Benutzeranmeldung nach fünf aufeinanderfolgenden Versuchen fehlschlägt, wird der Benutzer für einen bestimmten Zeitraum (derzeit 15 Minuten) von seinem Konto gesperrt. Nach Ablauf der Zeit löscht das System die Sperre automatisch und der Benutzer kann versuchen, sich erneut anzumelden.

Um den Benutzer vor Ablauf der Zeit zu entsperren, können Sie den Timer mit dem Befehl ALTER USER zurücksetzen.

Im folgenden Beispiel wird der Timer auf 0 zurückgesetzt, wodurch der Benutzer janesmith sofort entsperrt wird:

ALTER USER janesmith SET MINS_TO_UNLOCK= 0;
Copy

Tipp

Wenn eine einzelne Rolle die Berechtigung OWNERSHIP für alle Snowflake-Benutzer hat, empfehlen wir, die Rolle mehreren Benutzern zuzuweisen. Wenn ein Mitglied der Rolle gesperrt ist, kann auf diese Weise ein anderes Mitglied diesen Benutzer entsperren.

Ändern der Sitzungsparameter eines Benutzers

  • Verwenden Sie zum Anzeigen der Sitzungsparameter eines Benutzers die folgende SQL-Syntax:

    SHOW PARAMETERS [ LIKE '<pattern>' ] FOR USER <name>
    
    Copy
  • Verwenden Sie die folgende Syntax, um die Sitzungsparameter für einen Benutzer zu ändern:

    ALTER USER <name> SET <session_param> = <value>
    
    Copy

    Ermöglichen Sie beispielsweise einem Benutzer, auf unbestimmte Zeit ohne Unterbrechung mit Snowflake verbunden zu bleiben:

    ALTER USER janesmith SET CLIENT_SESSION_KEEP_ALIVE = TRUE;
    
    Copy
  • Verwenden Sie die folgende Syntax, um einen Sitzungsparameter für einen Benutzer auf den Standardwert zurückzusetzen:

    ALTER USER <name> UNSET <session_param>
    
    Copy

Ändern anderer Benutzereigenschaften

Sie können alle anderen Benutzereigenschaften mit dem Befehl ALTER USER ändern. Beispiel:

  • Ändern des Nachnamens von Benutzer janesmith in Jones:

    ALTER USER janesmith SET LAST_NAME = 'Jones';
    
    Copy
  • Einstellen oder Ändern der Standardwerte für Warehouse, Namespace, Primärrolle und Sekundärrolle für Benutzer janesmith:

    ALTER USER janesmith SET DEFAULT_WAREHOUSE = mywarehouse DEFAULT_NAMESPACE = mydatabase.myschema DEFAULT_ROLE = myrole DEFAULT_SECONDARY_ROLES = ('ALL');
    
    Copy

Anzeigen von Benutzern

Sie können Informationen zu Benutzern mit SQL anzeigen.

Verwenden Sie den Befehl DESCRIBE USER oder SHOW USERS, um Informationen zu einem oder mehreren Benutzern anzuzeigen.

Beispiel:

DESC USER janeksmith;
Copy

Löschen eines Benutzers

Durch das Löschen eines Benutzers werden die Benutzeranmeldeinformationen von Snowflake entfernt.

Vorsicht

Wenn Sie einen Benutzer löschen, werden auch die Arbeitsblätter und Dashboards entfernt, die diesem Benutzer gehören.

Um Zugriff auf die Arbeitsblätter eines Benutzers zu erhalten, haben Sie zwei Optionen:

Vom Benutzer erstellte Objekte, wie z. B. Tabellen oder Ansichten, werden nicht gelöscht, da sie der aktiven Rolle des Benutzers gehören, mit der die Objekte erstellt wurden. Ein anderer Benutzer, dem die gleiche Rolle oder eine höhere Rolle in der Rollenhierarchie zugewiesen wurde, kann die Objekte verwalten oder die Eigentümerschaft an eine andere Rolle übertragen.

Verwenden von Snowsight

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie Admin » Users & Roles aus.

  3. Suchen Sie den Benutzer, den Sie deaktivieren möchten, und wählen Sie More options » Drop aus.

  4. Wählen Sie im Bestätigungsdialog, der sich öffnet, Drop User aus.

Verwenden der klassischen Konsole

  1. Wählen Sie Account Account tab » Users aus.

  2. Klicken Sie auf die Zeile eines Benutzers, um diese zu markieren, und wählen Sie dann Drop (Löschen) aus. Ein Bestätigungsdialog wird geöffnet.

  3. Wählen Sie Yes aus, um den Benutzer zu löschen.

Verwenden von SQL

Verwenden Sie den Befehl DROP USER, um einen Benutzer zu löschen.

DROP USER janesmith;
Copy