Catégories :

Utilisateur et sécurité DDL (contrôle d’accès)

SHOW GRANTS

Liste tous les privilèges de contrôle d’accès qui ont été accordés aux rôles, aux utilisateurs et aux partages. Pour plus d’informations sur les privilèges et les rôles, voir Contrôle d’accès dans Snowflake. Pour plus d’informations sur les partages, voir Présentation de Secure Data Sharing.

Note

SHOW GRANTS est une variante spéciale qui utilise une syntaxe différente de toutes les autres commandes SHOW <objets>.

Syntaxe

SHOW GRANTS ON ACCOUNT

SHOW GRANTS ON <object_type> <object_name>

SHOW GRANTS TO { ROLE <role_name> | USER <user_name> | SHARE <share_name> }

SHOW GRANTS OF ROLE <role_name>

SHOW GRANTS OF SHARE <share_name>

SHOW FUTURE GRANTS IN SCHEMA { <schema_name> }

SHOW FUTURE GRANTS IN DATABASE { <database_name> }

Variantes

SHOW GRANTS ON ...

ACCOUNT

Liste tous les privilèges de niveau compte (c’est-à-dire globaux) qui ont été accordés aux rôles.

type_objet nom_objet

Liste tous les privilèges qui ont été accordés sur l’objet.

SHOW GRANTS TO ...

ROLE nom_rôle

Liste tous les privilèges et rôles accordés au rôle.

USER nom_utilisateur

Liste tous les rôles accordés à l’utilisateur.

SHARE nom_partage

Liste tous les privilèges accordés au partage.

SHOW GRANTS OF...

ROLE nom_rôle

Liste tous les utilisateurs et tous les rôles auxquels le rôle a été accordé.

SHARE nom_partage

Liste tous les comptes pour le partage et indique les comptes qui utilisent le partage.

SHOW FUTURE GRANTS IN ...

SCHEMA nom_base_de_donneesnom_schéma

Répertorie tous les privilèges sur les nouveaux (c’est-à-dire les futurs) objets d’un type spécifié dans le schéma assigné à un rôle. nom_base_de_données. spécifie la base de données dans laquelle réside le schéma. Ceci est facultatif lors de l’interrogation d’un schéma dans la base de données actuelle.

DATABASE nom_base_de_données

Répertorie tous les privilèges sur les nouveaux objets (c’est-à-dire futurs) d’un type spécifié dans la base de données accordés à un rôle.

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

Lister tous les privilèges qui ont été accordés sur la base de données sales :

SHOW GRANTS ON DATABASE sales;

+---------------------------------+-----------+------------+------------+------------+--------------+--------------+--------------+
| created_on                      | privilege | granted_on | name       | granted_to | grantee_name | grant_option | granted_by   |
|---------------------------------+-----------+------------+------------+------------+--------------+--------------+--------------|
| Thu, 07 Jul 2016 05:22:29 -0700 | OWNERSHIP | DATABASE   | REALESTATE | ROLE       | ACCOUNTADMIN | true         | ACCOUNTADMIN |
| Thu, 07 Jul 2016 12:14:12 -0700 | USAGE     | DATABASE   | REALESTATE | ROLE       | PUBLIC       | false        | ACCOUNTADMIN |
+---------------------------------+-----------+------------+------------+------------+--------------+--------------+--------------+

Lister tous les privilèges accordés au rôle analyst :

SHOW GRANTS TO ROLE analyst;

+---------------------------------+------------------+------------+------------+------------+--------------+------------+
| created_on                      | privilege        | granted_on | name       | granted_to | grant_option | granted_by |
|---------------------------------+------------------+------------+------------+------------+--------------+------------+
| Wed, 17 Dec 2014 18:19:37 -0800 | CREATE WAREHOUSE | ACCOUNT    | DEMOENV    | ANALYST    | false        | SYSADMIN   |
+---------------------------------+------------------+------------+------------+------------+--------------+------------+

Lister tous les rôles attribués à l’utilisateur demo :

SHOW GRANTS TO USER demo;

+---------------------------------+------+------------+-------+---------------+
| created_on                      | role | granted_to | name  | granted_by    |
|---------------------------------+------+------------+-------+---------------+
| Wed, 31 Dec 1969 16:00:00 -0800 | DBA  | USER       | DEMO  | SECURITYADMIN |
+---------------------------------+------+------------+-------+---------------+

Lister tous les rôles et utilisateurs qui se sont vu attribuer le rôle analyst :

SHOW GRANTS OF ROLE analyst;

+---------------------------------+---------+------------+--------------+---------------+
| created_on                      | role    | granted_to | grantee_name | granted_by    |
|---------------------------------+---------+------------+--------------+---------------|
| Tue, 05 Jul 2016 16:16:34 -0700 | ANALYST | ROLE       | ANALYST_US   | SECURITYADMIN |
| Tue, 05 Jul 2016 16:16:34 -0700 | ANALYST | ROLE       | DBA          | SECURITYADMIN |
| Fri, 08 Jul 2016 10:21:30 -0700 | ANALYST | USER       | JOESM        | SECURITYADMIN |
+---------------------------------+---------+------------+--------------+---------------+

Répertoriez tous les privilèges accordés sur les futurs objets du schéma sales.public :

SHOW FUTURE GRANTS IN SCHEMA sales.public;

+-------------------------------+-----------+----------+---------------------------+----------+-----------------------+--------------+
| created_on                    | privilege | grant_on | name                      | grant_to | grantee_name          | grant_option |
|-------------------------------+-----------+----------+---------------------------+----------+-----------------------+--------------|
| 2018-12-21 09:22:26.946 -0800 | INSERT    | TABLE    | SALES.PUBLIC.<TABLE>      | ROLE     | ROLE1                 | false        |
| 2018-12-21 09:22:26.946 -0800 | SELECT    | TABLE    | SALES.PUBLIC.<TABLE>      | ROLE     | ROLE1                 | false        |
+-------------------------------+-----------+----------+---------------------------+----------+-----------------------+--------------+