- Kategorien:
Systemfunktionen (Systeminformationen)
EXPLAIN_GRANTABLE_PRIVILEGES¶
Gibt eine JSON-Zeichenfolge zurück, die alle erteilten Berechtigungen für jeden Objekttyp in Snowflake darstellt. Diese Funktion bietet umfassende Informationen darüber, welche Berechtigungen für verschiedene Objekttypen erteilt werden können, einschließlich der verfügbaren Gewährungstypen für jede Berechtigung.
- Siehe auch:
Syntax¶
Argumente¶
Alle Argumente sind optional und verwenden die Syntax benannter Parameter:
grantee => 'grantee_type'Filtern Sie die Ergebnisse nach Berechtigungsempfängertyp. Gültige Werte:
ROLEAPPLICATION
Standard:
ROLEDer Berechtigungsempfängertyp bestimmt, welche Berechtigungen verfügbar sind. So können Anwendungen beispielsweise keine individuelle Eigentümerschaft von Objekten haben.
object_type => 'object_type_name'Filtern Sie die Ergebnisse nach einem einzigen Objekttyp. Akzeptiert die Singularform des Objekttypnamens (zum Beispiel
'DATABASE','TABLE','SCHEMA'). Beim Text wird nicht zwischen Groß- und Kleinschreibung unterschieden.grant_type => 'grant_type_name'Filtern Sie die Ergebnisse nach Berechtigungen, die einen bestimmten Gewährungstyp unterstützen. Gültige Werte:
'INDIVIDUAL': Berechtigungen für einzelne Objekte. Siehe GRANT <Berechtigungen> … TO ROLE.'ALL': Massenerteilung von Berechtigungen auf alle aktuellen Objekte (z. B.GRANT ... ON ALL TABLES IN SCHEMA). Siehe GRANT <Berechtigungen> … TO ROLE.'FUTURE': Massenerteilung von Berechtigungen auf zukünftige Objekte (z. B.GRANT ... ON FUTURE TABLES IN SCHEMA). Siehe Zukünftige Berechtigungszuweisungen zu Datenbank- oder Schemaobjekten.'INHERITED': Massenerteilung von Berechtigungen auf aktuelle und zukünftige Objekte in einem Container (kombiniertALLundFUTURE). Siehe GRANT <Berechtigungen> … TO ROLE.'CALLER': Aufruferberechtigungen für einzelne Objekte. Siehe GRANT CALLER.'INHERITED_CALLER': Massenerteilung von Aufruferberechtigungen auf alle aktuellen und zukünftigen Objekte in einem Container (z. B.GRANT INHERITED CALLER ... ON ALL TABLES IN SCHEMA). Siehe GRANT CALLER.
Beim Text wird nicht zwischen Groß- und Kleinschreibung unterschieden.
Rückgabewerte¶
Die Funktion gibt einen VARCHAR-Wert zurück, der ein JSON-Array enthält. Jedes Element in dem Array ist ein JSON-Objekt, das einen Objekttyp repräsentiert und die folgende Struktur aufweist:
JSON-Felder:
parent: Der Typ des übergeordneten Objekts in der Objekthierarchie (z. B. ist SCHEMA das übergeordnete Objekt von TABLE). Für Objekte der obersten Ebene, wie beispielsweise ACCOUNT, ist die Zeichenfolge leer.singular: Die Singularform des Objekttypnamens (zum Beispiel DATABASE). Wird für einzelne Zuweisungen verwendet.plural: Die Pluralform des Objekttypnamens (zum Beispiel DATABASES). Wird für die Massenerteilung von Berechtigungen verwendet.privileges: Eine Zuordnung, bei der jeder Schlüssel ein Berechtigungsname ist und jeder Wert ein Array von Namen der Gewährungstypen ist, die angeben, wie diese Berechtigung erteilt werden kann.
Nutzungshinweise¶
Alle Argumente müssen konstante Ausdrücke sein. Sie können keine Spaltenwerte oder andere nicht konstante Ausdrücke übergeben.
Wenn keine Argumente angegeben werden, gibt die Funktion alle zuweisbaren Berechtigungen für Rollen für alle Objekttypen zurück.
Beispiele¶
Die folgenden Beispiele rufen die Funktion EXPLAIN_GRANTABLE_PRIVILEGES auf.
Alle zuweisbaren Berechtigungen für Rollen abrufen¶
Alle Objekttypen und deren zuweisbare Berechtigungen für Rollen zurückgeben:
Berechtigungen für einen bestimmten Objekttyp abrufen¶
Nur die Berechtigungen für den 'DATABASE'-Objekttyp zurückgeben:
Beispielausgabe:
Filtern nach Berechtigungsempfängertyp¶
Rückgabe von Berechtigungen, die für Anwendungen verfügbar sind:
Anwendungen können nicht eine individuelle Eigentümerschaft haben. Folglich zeigt OWNERSHIP nur Gewährungstypen, wie beispielsweise 'ALL', 'FUTURE' und 'INHERITED', an.