SHOW USERS

Répertorie tous les utilisateurs dans le système.

Voir aussi :

CREATE USER , ALTER USER , DROP USER , DESCRIBE USER

Syntaxe

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

Paramètres

TERSE

Renvoie uniquement les colonnes de sortie suivantes :

  • 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'

(Facultatif) Filtre la sortie de commande par nom d’objet. Le filtre utilise une concordance de motif insensible à la casse avec prise en charge des caractères génériques SQL (% et _).

Par exemple, les motifs suivants donnent les mêmes résultats :

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

. Par défaut : aucune valeur (aucun filtrage n’est appliqué à la sortie).

STARTS WITH 'name_string'

(Facultatif) Filtre la sortie de commande en fonction des caractères qui apparaissent au début du nom de l’objet. La chaîne doit être encadrée de guillemets simples et est sensible à la casse.

Par exemple, les chaînes suivantes renvoient des résultats différents :

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

. Par défaut : aucune valeur (aucun filtrage n’est appliqué à la sortie)

LIMIT rows [ FROM 'name_string' ]

(Facultatif) Limite le nombre maximum de lignes retournées, tout en permettant la « pagination » des résultats. Le nombre réel de lignes renvoyées peut être inférieur à la limite spécifiée. Par exemple, le nombre d’objets existants est inférieur à la limite spécifiée.

La sous-clause facultative FROM 'name_string' sert effectivement de « curseur » pour les résultats. Ceci permet de récupérer le nombre spécifié de lignes suivant la première ligne dont le nom d’objet correspond à la chaîne spécifiée :

  • La chaîne doit être encadrée de guillemets simples et est sensible à la casse.

  • La chaîne n’a pas besoin d’inclure le nom complet de l’objet ; les noms partiels sont pris en charge.

Par défaut : aucune valeur (aucune limite n’est appliquée à la sortie)

Note

Pour les commandes SHOW qui prennent en charge les clauses FROM 'name_string' et STARTS WITH 'name_string', vous pouvez combiner ces deux clauses dans la même instruction. Cependant, les deux conditions doivent être remplies ou elles s’annulent mutuellement et aucun résultat n’est renvoyé.

De plus, les objets sont retournés dans l’ordre lexicographique par nom, donc FROM 'name_string' ne retourne que les lignes ayant une valeur lexicographique plus élevée que les lignes retournées par STARTS WITH 'name_string'

Par exemple :

  • ... STARTS WITH 'A' LIMIT ... FROM 'B' ne donnerait aucun résultat.

  • ... STARTS WITH 'B' LIMIT ... FROM 'A' ne donnerait aucun résultat.

  • ... STARTS WITH 'A' LIMIT ... FROM 'AB' donnerait des résultats (si des lignes correspondent aux chaînes d’entrée).

Sortie

La sortie de la commande comprend les colonnes suivantes, qui décrivent les propriétés et les métadonnées de l’objet :

Colonne

Description

name

Nom de l’utilisateur.

created_on

Date et heure de création de l’utilisateur.

login_name

Nom que l’utilisateur saisit pour se connecter au système.

display_name

Nom affiché pour l’utilisateur dans Snowsight.

first_name

Prénom de l’utilisateur.

last_name

Nom de famille de l’utilisateur.

email

Adresse e-mail de l’utilisateur.

mins_to_unlock

Indique le nombre de minutes jusqu’à ce que le verrouillage temporaire de la connexion utilisateur soit désactivé.

days_to_expiry

Le nombre de jours après lequel le statut utilisateur est défini sur « Expiré » et l’utilisateur n’est plus autorisé à se connecter.

comment

Commentaire sur l’utilisateur.

disabled

Si true, l’utilisateur ne peut plus accéder à Snowflake et ne peut plus se connecter.

must_change_password

Si true, l’utilisateur doit obligatoirement modifier son mot de passe lors de la prochaine connexion (y compris sa première connexion) dans le système.

snowflake_lock

Si true, l’utilisateur est verrouillé par Snowflake. Lorsqu’un utilisateur est verrouillé, il est incapable de se connecter tant que le verrou n’a pas été retiré.

default_warehouse

L’entrepôt virtuel qui est actif par défaut pour la session de l’utilisateur lors de la connexion.

default_namespace

L’espace de noms (base de données uniquement ou base de données et schéma) qui est actif par défaut pour la session de l’utilisateur lors de la connexion.

default_role

Rôle primaire qui est actif par défaut pour la session de l’utilisateur lors de la connexion.

default_secondary_roles

Ensemble des rôles secondaires qui sont actifs pour la session de l’utilisateur lors de la connexion.

ext_authn_duo

Si true, Duo est activé pour l’utilisateur, ce qui nécessite que celui-ci utilise la MFA (authentification multifactorielle) lors de la connexion.

ext_authn_uid

ID d’autorisation utilisé pour Duo.

mins_to_bypass_mfa

Nombre de minutes jusqu’à la désactivation temporaire MFA de l’exigence pour l’utilisateur.

owner

Rôle qui possède l’utilisateur.

last_success_login

Date et heure de la dernière connexion de l’utilisateur à Snowflake.

expires_at_time

Date et heure auxquelles le statut de l’utilisateur est défini sur EXPIRED et auxquelles l’utilisateur ne peut plus se connecter.

locked_until_time

Nombre de minutes jusqu’à ce que le verrouillage temporaire de la connexion utilisateur soit désactivé.

has_password

Si true, l’utilisateur a un mot de passe.

has_rsa_public_key

Si true, l’utilisateur dispose d’une clé publique pour l’authentification par paire de clés.

type

Type de l’utilisateur. Pour une liste des valeurs possibles, voir Types d’utilisateurs.

has_mfa

Si true, l’utilisateur est inscrit à l’authentification multifactorielle (MFA).

has_pat

Si true, l’utilisateur possède un ou plusieurs jeton d’accès programmatiques.

has_workload_identity

Si true, l’utilisateur est configuré pour s’authentifier avec la fédération d’identité de charge de travail.

is_from_organization_user

Si true, l’utilisateur a été importé depuis un utilisateur d’organisation globale.

Exigences en matière de contrôle d’accès

Tout utilisateur peut exécuter la commande SHOW USERS. La sortie inclut toujours le nom d’utilisateur dans la colonne name.

Pour les autres colonnes, Snowflake filtre la sortie en fonction des privilèges accordés au rôle actif <label-access_control_overview_active_roles> de l’utilisateur. Les valeurs des autres colonnes sont renvoyées si le rôle actif possède l’un des privilèges suivants :

Privilège

Objet

Remarques

OWNERSHIP

Utilisateur

MANAGE GRANTS

Compte

Sinon, les autres colonnes contiennent NULL.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Notes sur l’utilisation

  • Si le compte comprend plus de 10 000 utilisateurs, vous pouvez utiliser le paramètre LIMIT … FROM … pour renvoyer des ensembles d’utilisateurs plus petits.

    Par exemple, vous pouvez exécuter SHOW USERS LIMIT 10000 FROM my_user pour renvoyer les 10 000 prochains utilisateurs à partir de l’utilisateur nommé my_user.

  • La commande ne nécessite pas l’exécution d’un entrepôt en cours d’exécution.

  • La commande ne renvoie que les objets pour lesquels le rôle actuel de l’utilisateur s’est vu accorder au moins un privilège d’accès.

  • Le privilège d’accès MANAGE GRANTS permet implicitement à son titulaire de voir tous les objets du compte. Par défaut, seuls l’administrateur du compte (utilisateurs avec le rôle ACCOUNTADMIN) et l’administrateur de sécurité (utilisateurs avec le rôle SECURITYADMIN) ont le privilège MANAGE GRANTS.

  • Pour post-traiter la sortie de cette commande, vous pouvez utiliser l’opérateur de canal (->>) ou la fonction RESULT_SCAN. Les deux constructions traitent la sortie comme un jeu de résultats que vous pouvez interroger.

    Les noms des colonnes de sortie pour cette commande sont générés en minuscules. Si vous consommez un jeu de résultats de cette commande avec l’opérateur de canal ou la fonction RESULT_SCAN, utilisez des identificateurs entre guillemets doubles pour les noms de colonnes de la requête, afin de vous assurer qu’ils correspondent aux noms de colonnes dans la sortie analysée. Par exemple, si le nom d’une colonne de sortie est type, spécifiez "type" pour l’identificateur.

Exemples

L’exemple suivant répertorie les utilisateurs du compte :

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                                 |
+--------------+-------------------------------+---------------+--------------+------------+-----------+------------------------+----------------+----------------+---------+----------+----------------------+----------------+-------------------+-------------------+--------------+-------------------------+---------------+---------------+--------------------+--------------+-------------------------------+-----------------+-------------------+--------------+--------------------+--------+---------+---------+---------------------------------------+