SHOW USERS¶
Listet alle Benutzer im System auf.
- Siehe auch:
Syntax¶
SHOW [ TERSE ] USERS
[ LIKE '<pattern>' ]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> [ FROM '<name_string>' ] ]
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 dieSTARTS 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 vonSTARTS 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 des Benutzers. |
|
Datum und Uhrzeit der Erstellung des Benutzers. |
|
Name, den der Benutzer eingibt, um sich beim System anzumelden. |
|
Name, der für den Benutzer in Snowsight angezeigt wird. |
|
Vorname des Benutzers. |
|
Nachname des Benutzers. |
|
E-Mail-Adresse des Benutzers. |
|
Anzahl der Minuten, bis die temporäre Sperre für die Benutzeranmeldung aufgehoben wird. |
|
Anzahl der Tage, nach denen der Benutzerstatus auf „Abgelaufen“ gesetzt wird und der Benutzer sich nicht mehr anmelden darf. |
|
Kommentar zum Benutzer. |
|
Wenn |
|
Wenn |
|
Wenn |
|
Virtuelles Warehouse, das bei der Anmeldung standardmäßig für die Sitzung des Benutzers aktiv ist. |
|
Namespace (nur Datenbank oder Datenbank und Schema), der bei der Anmeldung standardmäßig für die Sitzung des Benutzers aktiv ist. |
|
Primärrolle, die bei der Anmeldung standardmäßig für die Sitzung des Benutzers aktiv ist. |
|
Liste der Sekundärrollen, die bei der Anmeldung für die Sitzung des Benutzers aktiv sind. |
|
Wenn |
|
Autorisierungs-ID, die für Duo verwendet wird. |
|
Anzahl der Minuten zum vorübergehenden Umgehen der MFA-Anforderung für den Benutzer. |
|
Rolle, die Eigentümer des Benutzers ist. |
|
Datum und Uhrzeit, zu der sich der Benutzer letztmalig bei Snowflake angemeldet hat. |
|
Datum und Uhrzeit, zu der der Status des Benutzers auf |
|
Anzahl der Minuten an, bis die temporäre Sperre für die Benutzeranmeldung aufgehoben wird. |
|
Wenn |
|
Wenn |
|
Typ des Benutzers. Die Liste der möglichen Werte finden Sie unter Benutzertypen. |
|
Wenn |
|
Wenn |
|
Wenn |
|
Wenn |
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 namensmy_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;
+--------------+-------------------------------+---------------+--------------+------------+-----------+------------------------+----------------+----------------+---------+----------+----------------------+----------------+-------------------+-------------------+--------------+-------------------------+---------------+---------------+--------------------+--------------+-------------------------------+-----------------+-------------------+--------------+--------------------+--------+---------+---------+---------------------------------------+
| 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 |
+--------------+-------------------------------+---------------+--------------+------------+-----------+------------------------+----------------+----------------+---------+----------+----------------------+----------------+-------------------+-------------------+--------------+-------------------------+---------------+---------------+--------------------+--------------+-------------------------------+-----------------+-------------------+--------------+--------------------+--------+---------+---------+---------------------------------------+