SHOW USERS

Listet alle Benutzer im System auf.

Siehe auch:

CREATE USER, ALTER USER, DROP USER, DESCRIBE USER

Syntax

SHOW [ TERSE ] USERS
  [ LIKE '<pattern>' ]
  [ STARTS WITH '<name_string>' ]
  [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

Parameter

TERSE

Gibt nur die folgenden Ausgabespalten zurück:

  • name

  • created_on

  • display_name

  • first_name

  • last_name

  • email

  • org_identity

  • comment

  • has_password

  • has_rsa_public_key

  • type

  • has_mfa

  • has_pat

  • has_federated_workload_authentication

LIKE 'pattern'

Filtert optional die Befehlsausgabe nach dem Objektnamen. Der Filter verwendet einen Musterabgleich ohne Berücksichtigung der Groß-/Kleinschreibung, aber mit Unterstützung von SQL-Platzhalterzeichen (% und _).

Die folgenden Muster geben beispielsweise die gleichen Ergebnisse zurück:

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. Standard: Kein Wert (die Ausgabe wird nicht gefiltert).

STARTS WITH 'name_string'

Filtert die Befehlsausgabe optional anhand der Zeichen, die am Anfang des Objektnamens angezeigt werden. Die Zeichenfolge muss in einfache Anführungszeichen gesetzt werden, wobei zwischen Groß-/Kleinschreibung unterschieden wird.

Die folgenden Zeichenfolgen geben beispielsweise unterschiedliche Ergebnisse zurück:

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. Standard: Kein Wert (die Ausgabe wird nicht gefiltert)

LIMIT rows [ FROM 'name_string' ]

Schränkt optional die maximale Anzahl der zurückgegebenen Zeilen ein und ermöglicht gleichzeitig die „Paginierung“ der Ergebnisse. Die tatsächliche Anzahl der zurückgegebenen Zeilen kann geringer sein als das angegebene Limit. Beispielsweise ist die Anzahl der vorhandenen Objekte geringer als das angegebene Limit.

Die optionale Unterklausel FROM 'name_string' dient als „Cursor“ für die Ergebnisse. Dies ermöglicht das Abrufen der angegebenen Anzahl von Zeilen nach der ersten Zeile, deren Objektname mit der angegebenen Zeichenfolge übereinstimmt:

  • Die Zeichenfolge muss in einfache Anführungszeichen gesetzt werden, wobei zwischen Groß-/Kleinschreibung unterschieden wird.

  • Die Zeichenfolge muss nicht den vollständigen Datenbanknamen enthalten. Partielle Namen werden unterstützt.

Standard: Kein Wert (die Ausgabe wird nicht begrenzt)

Bemerkung

Bei SHOW-Befehlen, die sowohl die FROM 'name_string'- als auch die STARTS WITH 'name_string'-Klausel unterstützen, können Sie diese beiden Klauseln in derselben Anweisung kombinieren. Beide Bedingungen müssen jedoch erfüllt sein, da sie sich sonst gegenseitig aufheben und keine Ergebnisse zurückgegeben werden.

Außerdem werden Objekte in lexikographischer Reihenfolge nach Namen zurückgegeben. Daher gibt FROM 'name_string' nur Zeilen mit einem höheren lexikografischen Wert zurück als die von STARTS WITH 'name_string' zurückgegebenen Zeilen.

Beispiel:

  • ... STARTS WITH 'A' LIMIT ... FROM 'B' würde keine Ergebnisse zurückgeben.

  • ... STARTS WITH 'B' LIMIT ... FROM 'A' würde keine Ergebnisse zurückgeben.

  • ... STARTS WITH 'A' LIMIT ... FROM 'AB' würde Ergebnisse zurückgeben (wenn Zeilen mit den Eingabezeichenfolgen übereinstimmen).

Ausgabe

Die Ausgabe des Befehls enthält die folgenden Spalten, die die Eigenschaften und Metadaten des Objekts beschreiben:

Spalte

Beschreibung

name

Name des Benutzers.

created_on

Datum und Uhrzeit der Erstellung des Benutzers.

login_name

Name, den der Benutzer eingibt, um sich beim System anzumelden.

display_name

Name, der für den Benutzer in Snowsight angezeigt wird.

first_name

Vorname des Benutzers.

last_name

Nachname des Benutzers.

email

E-Mail-Adresse des Benutzers.

mins_to_unlock

Anzahl der Minuten, bis die temporäre Sperre für die Benutzeranmeldung aufgehoben wird.

days_to_expiry

Anzahl der Tage, nach denen der Benutzerstatus auf „Abgelaufen“ gesetzt wird und der Benutzer sich nicht mehr anmelden darf.

comment

Kommentar zum Benutzer.

disabled

Wenn true, ist der Benutzer von Snowflake gesperrt und kann sich nicht mehr anmelden.

must_change_password

Wenn true, ist der Benutzer gezwungen, sein Kennwort bei der nächsten Anmeldung (einschließlich der ersten Anmeldung) beim System zu ändern.

snowflake_lock

Wenn true, ist der Benutzer von Snowflake gesperrt. Wenn ein Benutzer gesperrt ist, kann er sich erst dann anmelden, wenn die Sperre aufgehoben wurde.

default_warehouse

Virtuelles Warehouse, das bei der Anmeldung standardmäßig für die Sitzung des Benutzers aktiv ist.

default_namespace

Namespace (nur Datenbank oder Datenbank und Schema), der bei der Anmeldung standardmäßig für die Sitzung des Benutzers aktiv ist.

default_role

Primärrolle, die bei der Anmeldung standardmäßig für die Sitzung des Benutzers aktiv ist.

default_secondary_roles

Liste der Sekundärrollen, die bei der Anmeldung für die Sitzung des Benutzers aktiv sind.

ext_authn_duo

Wenn true, ist Duo für den Benutzer aktiviert, was erfordert, dass der Benutzer MFA (mehrstufige Authentifizierung) beim Anmelden verwendet.

ext_authn_uid

Autorisierungs-ID, die für Duo verwendet wird.

mins_to_bypass_mfa

Anzahl der Minuten zum vorübergehenden Umgehen der MFA-Anforderung für den Benutzer.

owner

Rolle, die Eigentümer des Benutzers ist.

last_success_login

Datum und Uhrzeit, zu der sich der Benutzer letztmalig bei Snowflake angemeldet hat.

expires_at_time

Datum und Uhrzeit, zu der der Status des Benutzers auf EXPIRED geändert wird und der Benutzer sich nicht mehr anmelden kann.

locked_until_time

Anzahl der Minuten an, bis die temporäre Sperre für die Benutzeranmeldung aufgehoben wird.

has_password

Wenn true, hat der Benutzer ein Kennwort.

has_rsa_public_key

Wenn true, hat der Benutzer einen öffentlichen Schlüssel für die Schlüsselpaar-Authentifizierung.

type

Typ des Benutzers. Die Liste der möglichen Werte finden Sie unter Benutzertypen.

has_mfa

Wenn true, ist der Benutzer zur mehrstufigen Authentifizierung (MFA) registriert.

has_pat

Wenn true, hat der Benutzer eine oder mehrere programmgesteuerte Zugriffstoken.

has_workload_identity

Wenn true, ist der Benutzer für die Authentifizierung mit Workload Identity Federation konfiguriert.

is_from_organization_user

Wenn true, wurde der Benutzer aus einem globalen Organisationsbenutzer importiert.

Anforderungen an die Zugriffssteuerung

Der Befehl SHOW USERS kann von jedem Benutzer ausgeführt werden. Die Ausgabe enthält immer den Benutzernamen in der Spalte name.

Für die anderen Spalten filtert Snowflake die Ausgabe auf der Grundlage der Berechtigungen, die der aktiven Rolle des Benutzers gewährt werden. Die Werte in den anderen Spalten werden zurückgegeben, wenn die aktive Rolle eine der folgenden Berechtigungen hat:

Berechtigung

Objekt

Anmerkungen

OWNERSHIP

Benutzer

MANAGE GRANTS

Konto

Andernfalls enthalten die anderen Spalten den Wert NULL.

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.

Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.

Nutzungshinweise

  • Wenn das Konto mehr als 10.000 Benutzer hat, können Sie den Parameter LIMIT … FROM … verwenden, um kleinere Gruppen von Benutzern zurückzugeben.

    So können Sie beispielsweise SHOW USERS LIMIT 10000 FROM my_user ausführen, um die nächsten 10.000 Benutzer zurückzugeben, beginnend mit dem Benutzer namens my_user.

  • Für die Ausführung des Befehls ist kein aktives Warehouse erforderlich.

  • Der Befehl gibt nur Objekte zurück, für die der aktuellen Rolle des aktuellen Benutzers mindestens ein Zugriffsrecht zugewiesen wurde.

  • Das Zugriffsrecht MANAGE GRANTS gibt seinem Eigentümer implizit die Möglichkeit, jedes Objekt im Konto anzuzeigen. Standardmäßig haben nur der Kontoadministrator (Benutzer mit der Rolle ACCOUNTADMIN) und der Systemadministrator (Benutzer mit der Rolle SECURITYADMIN) die Berechtigung MANAGE GRANTS.

  • Um die Ausgabe dieses Befehls nachzubearbeiten, können Sie den Befehl Pipe-Operator (->>) oder die RESULT_SCAN-Funktion verwenden. Beide Konstrukte behandeln die Ausgabe als Resultset, das Sie abfragen können.

    Die Namen der Ausgabespalten für diesen Befehl werden in Kleinbuchstaben generiert. Wenn Sie ein Resultset dieses Befehls mit dem Pipe-Operator oder der RESULT_SCAN-Funktion verbrauchen, verwenden Sie Bezeichner mit doppelten Anführungszeichen für die Spaltennamen in der Abfrage, um sicherzustellen, dass sie mit den Spaltennamen in der gescannten Ausgabe übereinstimmen. Wenn der Name einer Ausgabespalte beispielsweise type lautet, geben Sie "type" für den Bezeichner an.

Beispiele

Im folgenden Beispiel werden die Benutzer des Kontos aufgelistet:

SHOW USERS;
Copy
+--------------+-------------------------------+---------------+--------------+------------+-----------+------------------------+----------------+----------------+---------+----------+----------------------+----------------+-------------------+-------------------+--------------+-------------------------+---------------+---------------+--------------------+--------------+-------------------------------+-----------------+-------------------+--------------+--------------------+--------+---------+---------+---------------------------------------+
| name         | created_on                    | login_name    | display_name | first_name | last_name | email                  | mins_to_unlock | days_to_expiry | comment | disabled | must_change_password | snowflake_lock | default_warehouse | default_namespace | default_role | default_secondary_roles | ext_authn_duo | ext_authn_uid | mins_to_bypass_mfa | owner        | last_success_login            | expires_at_time | locked_until_time | has_password | has_rsa_public_key | type   | has_mfa | has_pat | has_federated_workload_authentication |
|--------------+-------------------------------+---------------+------------- +------------+-----------+------------------------+----------------+----------------+---------+----------+----------------------+----------------+-------------------+-------------------+--------------+-------------------------+---------------+---------------+--------------------+--------------+-------------------------------+-----------------+-------------------+--------------+--------------------+--------+---------+---------+---------------------------------------|
| MY_USER_NAME | 2020-04-28 12:24:38.722 -0700 | MY_LOGIN_NAME | Jane Smith   | Jane       | Smith     | jane.smith@example.com | NULL           | NULL           | NULL    | false    | false                | false          | MY_WAREHOUSE      | MY_DB.MY_SCHEMA   | MY_ROLE      | []                      | false         | NULL          | NULL               | ACCOUNTADMIN | 2025-06-12 15:02:22.783 -0700 | NULL            | NULL              | true         | true               | PERSON | true    | true    | false                                 |
+--------------+-------------------------------+---------------+--------------+------------+-----------+------------------------+----------------+----------------+---------+----------+----------------------+----------------+-------------------+-------------------+--------------+-------------------------+---------------+---------------+--------------------+--------------+-------------------------------+-----------------+-------------------+--------------+--------------------+--------+---------+---------+---------------------------------------+