Kategorien:

DDL für Benutzer und Sicherheit (Benutzer)

ALTER USER

Ändert die Eigenschaften und Objekt-/Sitzungsparameter für einen vorhandenen Benutzer im System:

  • Mit diesem Befehl können Administratoren Eigenschaften und Standardparameterwerte für alle Benutzer ändern, für die die Administratoren entsprechende Berechtigungen besitzen.

  • Mit diesem Befehl können einzelne Benutzer bestimmte Eigenschaften und die Standardeinstellungen für Sitzungsparameter für sich selbst ändern. Weitere Details dazu finden Sie unter Nutzungshinweise (unter diesem Thema).

Der Befehl kann auch verwendet werden, um alle vom Benutzer übermittelten Abfragen (und andere SQL-Anweisungen) abzubrechen.

Siehe auch:

CREATE USER, DESCRIBE USER, SHOW PARAMETERS

Syntax

ALTER USER [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER USER [ IF EXISTS ] <name> RESET PASSWORD

ALTER USER [ IF EXISTS ] <name> ABORT ALL QUERIES

ALTER USER [ IF EXISTS ] <name> ADD DELEGATED AUTHORIZATION OF ROLE <role_name> TO SECURITY INTEGRATION <integration_name>

ALTER USER [ IF EXISTS ] <name> REMOVE DELEGATED { AUTHORIZATION OF ROLE <role_name> | AUTHORIZATIONS } FROM SECURITY INTEGRATION <integration_name>

ALTER USER [ IF EXISTS ] <name> SET { [ objectProperties ] [ objectParams ] [ sessionParams ] }

ALTER USER [ IF EXISTS ] <name> UNSET { <object_property_name> | <object_param_name> | <session_param_name> } [ , ... ]

Wobei:

objectProperties ::=
    PASSWORD = '<string>'
    LOGIN_NAME = <string>
    DISPLAY_NAME = <string>
    FIRST_NAME = <string>
    MIDDLE_NAME = <string>
    LAST_NAME = <string>
    EMAIL = <string>
    MUST_CHANGE_PASSWORD = TRUE | FALSE
    DISABLED = TRUE | FALSE
    SNOWFLAKE_SUPPORT = TRUE | FALSE
    DAYS_TO_EXPIRY = <integer>
    MINS_TO_UNLOCK = <integer>
    DEFAULT_WAREHOUSE = <string>
    DEFAULT_NAMESPACE = <string>
    DEFAULT_ROLE = <string>
    EXT_AUTHN_DUO = TRUE | FALSE
    EXT_AUTHN_UID = <string>
    MINS_TO_BYPASS_MFA = <integer>
    DISABLE_MFA = TRUE | FALSE
    RSA_PUBLIC_KEY = <string>
    RSA_PUBLIC_KEY_2 = <string>
    COMMENT = '<string_literal>'
objectParams ::=
    NETWORK_POLICY = <string>
sessionParams ::=
    ABORT_DETACHED_QUERY = TRUE | FALSE
    AUTOCOMMIT = TRUE | FALSE
    BINARY_INPUT_FORMAT = <string>
    BINARY_OUTPUT_FORMAT = <string>
    DATE_INPUT_FORMAT = <string>
    DATE_OUTPUT_FORMAT = <string>
    ERROR_ON_NONDETERMINISTIC_MERGE = TRUE | FALSE
    ERROR_ON_NONDETERMINISTIC_UPDATE = TRUE | FALSE
    JSON_INDENT = <num>
    LOCK_TIMEOUT = <num>
    QUERY_TAG = <string>
    ROWS_PER_RESULTSET = <num>
    SIMULATED_DATA_SHARING_CONSUMER = <string>
    STATEMENT_TIMEOUT_IN_SECONDS = <num>
    STRICT_JSON_OUTPUT = TRUE | FALSE
    TIMESTAMP_DAY_IS_ALWAYS_24H = TRUE | FALSE
    TIMESTAMP_INPUT_FORMAT = <string>
    TIMESTAMP_LTZ_OUTPUT_FORMAT = <string>
    TIMESTAMP_NTZ_OUTPUT_FORMAT = <string>
    TIMESTAMP_OUTPUT_FORMAT = <string>
    TIMESTAMP_TYPE_MAPPING = <string>
    TIMESTAMP_TZ_OUTPUT_FORMAT = <string>
    TIMEZONE = <string>
    TIME_INPUT_FORMAT = <string>
    TIME_OUTPUT_FORMAT = <string>
    TRANSACTION_DEFAULT_ISOLATION_LEVEL = <string>
    TWO_DIGIT_CENTURY_START = <num>
    UNSUPPORTED_DDL_ACTION = <string>
    USE_CACHED_RESULT = TRUE | FALSE
    WEEK_OF_YEAR_POLICY = <num>
    WEEK_START = <num>

Bemerkung

Aus Gründen der Lesbarkeit ist die vollständige Liste der Sitzungsparameter, die für einen Benutzer festgelegt werden können, hier nicht enthalten. Eine vollständige Liste aller Sitzungsparameter mit ihren Beschreibungen sowie Konto- und Objektparametern finden Sie unter Parameter.

Parameter

Name

Gibt den Bezeichner für den zu ändernden Benutzer an. Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß- und Kleinschreibung zu beachten.

RENAME TO neuer_Name

Gibt den neuen Bezeichner für den Benutzer an. Dieser muss für Ihr Konto eindeutig sein.

Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.

RESET PASSWORD

Generiert eine URL, die Sie für den Benutzer freigeben können und die eine Webseite öffnet, über die der Benutzer ein neues Kennwort eingeben kann. Die generierte URL ist für eine einmalige Verwendung gültig und läuft nach 4 Stunden ab.

Die Angabe dieses Parameters führt nicht dazu, dass das aktuelle Kennwort des Benutzers ungültig wird. Der Benutzer kann sein aktuelles Kennwort so lange weiterverwenden, bis er es über die URL zurückgesetzt hat.

Wenn Sie das aktuelle Kennwort ungültig machen möchten, verwenden Sie stattdessen die Zeichenfolge SET PASSWORD = '{}', wodurch das Kennwort in einen neuen Wert geändert wird.

ABORT ALL QUERIES

Bricht alle Abfragen und andere SQL-Anweisungen ab, die derzeit vom Benutzer ausgeführt oder geplant werden, unabhängig davon, in welchem Warehouse die Abfragen ausgeführt oder geplant werden.

Beachten Sie, dass sich der Benutzer weiterhin bei Snowflake anmelden und neue Abfragen starten kann.

Wenn Sie alle aktiven/geplanten Abfragen abbrechen und verhindern möchten, dass sich der Benutzer bei Snowflake anmeldet oder neue Abfragen startet, geben Sie stattdessen SET DISABLED = TRUE an.

ADD DELEGATED AUTHORIZATION OF ROLE Rollenname TO SECURITY INTEGRATION Integrationsname;

Fügt die Benutzerzustimmung zum Initiieren einer Sitzung unter Verwendung einer angegebenen Rolle für eine bestimmte Integration hinzu.

Weitere Details dazu finden Sie unter Hinzufügen delegierter Berechtigungen für die OAuth-Benutzerzustimmung.

REMOVE DELEGATED AUTHORIZATION OF ROLE Rollenname FROM SECURITY INTEGRATION Integrationsname, . REMOVE DELEGATED AUTHORIZATIONS FROM SECURITY INTEGRATION Integrationsname

Widerruft die Einwilligung des Benutzers:

  • Die erste Syntax widerruft die Zustimmung zu einer bestimmten Sicherheitsintegration für eine bestimmte Rolle. Dies hat zur Folge, dass alle mit der Integration und spezifischen Rolle verbundenen OAuth-Zugriffstoken gesperrt werden.

  • Die zweite Syntax widerruft jede Zustimmung zu einer bestimmten Sicherheitsintegration. Dies hat zur Folge, dass alle mit der Integration verbundenen OAuth-Zugriffstoken gesperrt werden.

Weitere Details dazu finden Sie unter:

Objekteigenschaften (objectProperties)

SET property_name = property_value [ ... ] , . UNSET property_name [ , ... ]

Gibt eine oder mehrere Objekteigenschaften an, die für die Verwendung festgelegt oder deaktiviert werden sollen. Durch Deaktivieren einer Objekteigenschaft wird diese auf den Standardwert zurückgesetzt.

For more details about the object properties you can set (e.g. PASSWORD, LOGIN_NAME, DEFAULT_ROLE), see CREATE USER.

Weitere allgemeine Informationen zum Festlegen und Deaktivieren von Eigenschaften finden Sie unter Nutzungshinweise (unter diesem Thema).

Objektparameter (objectParams)

SET NETWORK_POLICY = Zeichenfolge [ ... ], . UNSET NETWORK_POLICY  [ , ... ]

Gibt einen (oder mehrere) Objektparameter an, die für den Benutzer festgelegt werden sollen. Durch Deaktivieren eines Objektparameters wird dieser auf den Standardwert zurückgesetzt.

Derzeit können Sie nur NETWORK_POLICY festlegen, um die für den Benutzer aktive Netzwerkrichtlinie anzugeben.

Weitere Informationen zu diesem Objektparameter finden Sie unter CREATE USER oder Parameter.

Weitere allgemeine Informationen zum Festlegen und Deaktivieren von Parametern finden Sie unter Nutzungshinweise (unter diesem Thema).

Sitzungsparameter (sessionParams)

SET Sitzungsparametername = Parameterwert [ ... ], . UNSET Sitzungsparametername [ , ... ]

Gibt einen (oder mehrere) Sitzungsparameter an, die für den Benutzer festgelegt oder deaktiviert werden sollen. Durch Deaktivieren eines Sitzungsparameters wird dieser auf den Standardwert zurückgesetzt.

Weitere Informationen zu den Sitzungsparametern, die Sie festlegen können (ABORT_DETACHED_SESSION, AUTOCOMMIT usw.), finden Sie unter Parameter.

Weitere allgemeine Informationen zum Festlegen und Deaktivieren von Parametern finden Sie unter Nutzungshinweise (unter diesem Thema).

Nutzungshinweise

  • Einzelne Benutzer können den Befehl ALTER USER selbst ausführen (d. h. indem sie Benutzername und -kennung im Befehl angeben) und Folgendes ändern:

    • DEFAULT_WAREHOUSE

    • DEFAULT_NAMESPACE

    • DEFAULT_ROLE

    • Beliebige Standardwerte ihrer Sitzungsparameter

    Beachten Sie, dass Benutzer nicht mit diesem Befehl ihr Kennwort ändern können. Aus Sicherheitsgründen erlaubt Snowflake Benutzern die Änderung ihrer Kennwörter nur über die Weboberfläche.

    Ein Administrator mit den entsprechenden Berechtigungen kann diesen Befehl jedoch mit SET PASSWORD = 'Zeichenfolge' verwenden, um das Kennwort für einen Benutzer zu ändern.

    Tipp

    Wenn Sie das Kennwort eines Benutzers ändern, empfehlen wir auch die Angabe von MUST_CHANGE_PASSWORD = TRUE, um den Benutzer zu zwingen, sich bei der Weboberfläche anzumelden und sein Kennwort zu ändern, bevor er sich über eine andere Schnittstelle bei Snowflake anmelden kann (z. B. SnowSQL oder eine andere Clientanwendung).

    Alternativ können Sie mit RESET PASSWORD eine URL zu einer Webseite generieren, auf die der Benutzer zugreifen kann, um sein Kennwort zu ändern.

  • Sie können mehrere Objekteigenschaften und Objekt-/Sitzungsparameter mit einer einzigen ALTER-Anweisung festlegen und deaktivieren:

    • Wenn Sie mehrere Eigenschaften/Parameter festlegen, trennen Sie diese durch Leerzeichen, Kommas oder Neue-Zeile-Zeichen.

    • Wenn Sie mehrere Eigenschaften/Parameter deaktivieren, müssen diese durch ein Komma getrennt werden. Wenn Sie eine Eigenschaft oder einen Parameter zurücksetzen, geben Sie nur den Namen an. Die Angabe eines Wertes für die Eigenschaft oder den Parameter gibt einen Fehler zurück.

  • Wenn Sie SET DISABLED = TRUE für einen Benutzer angeben:

    • Alle Abfragen und anderen SQL-Anweisungen, die derzeit ausgeführt oder vom Benutzer geplant werden, werden abgebrochen, und der Benutzer kann keine zusätzlichen Abfragen initiieren.

    • Der Benutzer ist in Snowflake gesperrt und kann sich nicht mehr anmelden.

    Wenn Sie nur alle aktiven und geplanten Abfragen/Anweisungen eines Benutzers abbrechen möchten, verwenden Sie stattdessen ABORT ALL QUERIES.

Beispiele

Benennen Sie user1 in user2 um:

ALTER USER user1 RENAME TO user2;

Legen Sie das Kennwort für einen Benutzer mit dem Namen user1 auf H8MZRqa8gEe/kvHzvJ+Giq94DuCYoQXmfbb$Xnt fest, und verlangen Sie, dass der Benutzer sein Kennwort ändert, indem er sich bei der Snowflake-Weboberfläche anmeldet:

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

Entfernen Sie einen bestehenden Kommentar von einem Benutzer:

ALTER USER user1 UNSET COMMENT;