Kategorien:

DDL für Benutzer und Sicherheit (Zugriffssteuerung)

SHOW GRANTS

Listet alle Zugriffssteuerungsrechte auf, die Rollen, Benutzern und Freigaben erteilt wurden. Weitere Informationen zu Berechtigungen und Rollen finden Sie unter Zugriffssteuerung in Snowflake. Weitere Informationen zu Freigaben finden Sie unter Einführung in Secure Data Sharing.

Bemerkung

SHOW GRANTS ist eine spezielle Variante, die eine andere Syntax als alle anderen SHOW <Objekte>-Befehle verwendet.

Syntax

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

Varianten

SHOW GRANTS ON ...

ACCOUNT

Listet alle Berechtigungen auf Kontoebene (d. h. globale Berechtigungen) auf, die Rollen erteilt wurden.

Objekttype Objektname

Listet alle Berechtigungen auf, die dem Objekt erteilt wurden.

SHOW GRANTS TO ...

ROLE Rollenname

Listet alle Berechtigungen und Rollen auf, die der Rolle erteilt wurden.

USER Benutzername

Listet alle dem Benutzer erteilten Rollen auf.

SHARE Freigabename

Listet alle der Freigabe erteilten Berechtigungen auf.

SHOW GRANTS OF...

ROLE Rollenname

Listet alle Benutzer und Rollen auf, denen die Rolle zugewiesen wurde.

SHARE Freigabename

Listet alle Konten für die Freigabe auf und gibt die Konten an, die die Freigabe verwenden.

SHOW FUTURE GRANTS IN ...

SCHEMA Datenbankname.Schemaname

Listet für neue (d. h. zukünftige) Objekte eines angegebenen Typs im Schema alle Berechtigungen auf, die einer Rolle erteilt wurden. Datenbankname. gibt die Datenbank an, in der sich das Schema befindet. Die Angabe ist optional, wenn sich das abgefragte Schema in der aktuellen Datenbank befindet.

DATABASE Datenbankname

Listet für neue (d. h. zukünftige) Objekte eines angegebenen Typs in der Datenbank alle Berechtigungen auf, die einer Rolle erteilt wurden.

Nutzungshinweise

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

  • Der Befehl gibt maximal 10.000 Datensätze für den angegebenen Objekttyp zurück, wie durch die Zugriffsrechte für die Rolle vorgegeben, die zur Ausführung des Befehls verwendet wird. Datensätze, die über dem Limit von 10.000 liegen, werden nicht zurückgegeben, selbst wenn ein Filter angewendet wird.

    Um Ergebnisse anzuzeigen, für die mehr als 10.000 Datensätze existieren, fragen Sie die entsprechende Ansicht (falls vorhanden) in der Datei Information Schema ab.

  • Um die Ausgabe dieses Befehls nachzubearbeiten, können Sie die Funktion RESULT_SCAN verwenden, die die Ausgabe wie eine abfragbare Tabelle behandelt.

Beispiele

Listen Sie alle Berechtigungen auf, die für die Datenbank sales erteilt wurden:

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

Listen Sie alle Berechtigungen auf, die der Rolle analyst erteilt wurden:

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

Listen Sie alle dem Benutzer demo zugewiesenen Rollen auf:

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

Listen Sie alle Rollen und Benutzer auf, denen die Rolle analyst zugewiesen wurde:

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

Listen Sie alle Berechtigungen auf, die zukünftigen Objekten im Schema sales.public erteilt werden:

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