Catégories :

Utilisateur et sécurité DDL (Rôles)

SHOW ROLES

Liste tous les rôles pour lesquels vous avez des privilèges d’affichage sur l’ensemble de votre compte, y compris les rôles définis par le système et tous les rôles personnalisés existants.

Important

Snowflake permet aux utilisateurs de lister les rôles. Cependant, la possibilité de lister les rôles n’est pas la même chose que d’utiliser un rôle. Connaître les noms des rôles ne permet aucun accès supplémentaire.

Cela fait partie du contrôle d’accès discrétionnaire et du contrôle d’accès basé sur les rôles. Pour plus d’informations, voir Contrôle d’accès dans Snowflake.

Voir aussi :

SHOW GRANTS

Syntaxe

SHOW ROLES [ LIKE '<pattern>' ]

Paramètres

LIKE 'motif'

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%' ...

Notes sur l’utilisation

  • L’exécution de la commande ne nécessite pas un entrepôt virtuel en cours d’exécution.

  • La commande retourne un maximum de 10 000 enregistrements pour le type d’objet spécifié, comme dicté par les privilèges d’accès pour le rôle utilisé pour exécuter la commande ; tous les enregistrements au-dessus de la limite de 10 000 enregistrements ne sont pas retournés, même avec un filtre appliqué.

    Pour afficher les résultats pour lesquels il existe plus de 10 000 enregistrements, interrogez la vue correspondante (s’il en existe une) dans Schéma d’information.

  • Pour post-traiter la sortie de cette commande, vous pouvez utiliser la fonction RESULT_SCAN, qui traite la sortie comme une table qui peut être interrogée.

Exemples

Afficher tous les rôles :

SHOW ROLES;

---------------------------------+---------------+------------+------------+--------------+-------------------+------------------+---------------+---------------+--------------------------+
           created_on            |     name      | is_default | is_current | is_inherited | assigned_to_users | granted_to_roles | granted_roles |     owner     |         comment          |
---------------------------------+---------------+------------+------------+--------------+-------------------+------------------+---------------+---------------+--------------------------+
 Fri, 05 Dec 2014 16:25:06 -0800 | ACCOUNTADMIN  | Y          | Y          | N            | 1                 | 0                | 2             |               |                          |
 Mon, 15 Dec 2014 17:58:33 -0800 | ANALYST       | N          | N          | N            | 0                 | 6                | 0             | SECURITYADMIN | Data analyst             |
 Fri, 05 Dec 2014 16:25:06 -0800 | PUBLIC        | N          | N          | Y            | 0                 | 0                | 0             |               |                          |
 Fri, 05 Dec 2014 16:25:06 -0800 | SECURITYADMIN | N          | N          | Y            | 0                 | 1                | 0             |               |                          |
 Fri, 05 Dec 2014 16:25:06 -0800 | SYSADMIN      | N          | N          | Y            | 5                 | 1                | 2             |               |                          |
---------------------------------+---------------+------------+------------+--------------+-------------------+------------------+---------------+---------------+--------------------------+

Dans cet exemple :

  • Le rôle défini par le système ACCOUNTADMIN est le rôle actuel et le rôle par défaut de l’utilisateur actuel (c’est-à-dire connecté).

  • En plus des quatre rôles définis par le système, un rôle personnalisé (ANALYST) a été créé. Le rôle appartient au rôle défini par le système SECURITYADMIN.