Zugriffssteuerung für dynamische Tabellen¶
Unter diesem Thema werden die Berechtigungen erörtert, die erforderlich sind, um Operationen mit dynamischen Tabellen auszuführen, z. B. Erstellen, Abfragen, Ändern, Anzeigen und Löschen.
Um einem Benutzer vollen Zugriff auf eine dynamische Tabelle zu gewähren, können Sie eine der folgenden Möglichkeiten nutzen:
Einer Rolle die Berechtigung OWNERSHIP für die dynamische Tabelle zuweisen.
Einer Rolle alle Berechtigung außer OWNERSHIP für eine dynamische Tabelle zuweisen.
Weitere Informationen zum Snowflake-Berechtigungsmodell finden Sie unter Übersicht zur Zugriffssteuerung und Zugriffssteuerungsrechte.
Berechtigungen zum Erstellen einer dynamischen Tabelle¶
Um eine dynamische Tabelle zu erstellen, müssen Sie eine Rolle verwenden, die über die folgenden Berechtigungen verfügt:
Berechtigung |
Objekt |
---|---|
CREATE DYNAMIC TABLE |
Schema, in dem die dynamische Tabelle erstellt werden soll. |
SELECT |
Vorhandene Tabellen und Ansichten, die Sie für die dynamische Tabelle abfragen möchten. |
USAGE |
Datenbank und Schema, die Sie für die neue dynamische Tabelle verwenden möchten. Warehouse, das zum Aktualisieren der Tabelle verwendet werden soll. |
Um eine dynamische Tabelle zu erstellen, die von einer anderen dynamischen Tabelle abhängt, müssen Sie eine Rolle verwenden, die über die folgenden Berechtigungen verfügt:
Berechtigung |
Objekt |
---|---|
SELECT |
Dynamische Tabelle, die Sie abfragen möchten, um die neue dynamische Tabelle zu erstellen. |
OPERATE |
Alle vorgelagerten dynamischen Tabellen, von denen die neue dynamische Tabelle abhängt. Nur erforderlich, wenn Sie die dynamische Tabelle so einstellen, dass sie beim Erstellen synchron aktualisiert wird. |
Berechtigungen zum Abfragen einer dynamischen Tabelle¶
Um eine dynamische Tabelle abzufragen, können Sie eine Rolle verwenden, die über die Berechtigungen zum Erstellen einer dynamischen Tabelle verfügt. In Szenarios, bei denen ein Benutzer, wie z. B. ein Datenanalyst, nur eine dynamische Tabelle abfragen muss, verwenden Sie eine Rolle mit den folgenden Berechtigungen:
Berechtigung |
Objekt |
---|---|
USAGE |
Datenbank und Schema, die die dynamische Tabelle enthalten. Warehouse, das zum Aktualisieren der Tabelle verwendet wird. |
SELECT |
Die abgefragte dynamische Tabelle. |
Berechtigungen zum Ändern einer dynamischen Tabelle¶
Um eine dynamische Tabelle zu ändern, müssen Sie eine Rolle verwenden, die über die OWNERSHIP- oder die OPERATE-Berechtigung für diese dynamische Tabelle verfügt.
Wenn Sie die Berechtigung OPERATE für eine dynamische Tabelle haben, können Sie mit dem Befehl ALTER DYNAMIC TABLE Folgendes tun:
Anhalten einer dynamischen Tabelle mit ALTER … SUSPEND
Fortsetzen einer dynamischen Tabelle mit ALTER … RESUME
Aktualisieren einer dynamischen Tabelle mit ALTER … REFRESH
Einstellen oder Ändern des Warehouses und/oder der Zielverzögerung mit ALTER … SET.
Berechtigung zum Anzeigen der Metadaten einer dynamischen Tabelle¶
Um die Metadaten und das Information Schema einer dynamischen Tabelle anzuzeigen, müssen Sie eine Rolle verwenden, die über die Berechtigung MONITOR für diese dynamische Tabelle verfügt.
Die Berechtigung OPERATE gewährt ebenfalls diesen Zugriff, bietet aber auch die Fähigkeit, dynamische Tabellen zu ändern. MONITOR ist daher die geeignetere Option in Szenarios ist, in denen ein Benutzer eine dynamische Tabelle nicht ändern muss. Dies betrifft zum Beispiel Rollen für Datenwissenschaftler.
Wenn Sie die Berechtigung MONITOR für eine dynamische Tabelle haben, können Sie Folgendes tun:
Verwenden des Befehls DESCRIBE DYNAMIC TABLE und der Snowsight-Detailseite für dynamische Tabellen, um die spezifischen Details einer dynamischen Tabelle anzuzeigen. Die folgenden Felder werden ausgeblendet, wenn Sie nur über die SELECT-Berechtigung für eine dynamische Tabelle verfügen:
text
,warehouse
,scheduling_state
,last_suspended_on
undsuspend_reason_code
(nur UI).Verwenden des Befehls SHOW DYNAMIC TABLES, um zu ermitteln, auf welche dynamischen Tabellen Sie Zugriff haben.
Navigieren zur Tabellenfunktion DYNAMIC_TABLE_GRAPH_HISTORY, um den Task-Graph-Verlauf anzuzeigen.
Navigieren zur Tabellenfunktion DYNAMIC_TABLE_REFRESH_HISTORY, um den Aktualisierungsverlauf anzuzeigen.
Berechtigungen zum Löschen einer dynamischen Tabelle¶
Um eine dynamische Tabelle zu löschen, müssen Sie eine Rolle verwenden, die über die Berechtigung OWNERSHIP für diese dynamische Tabelle verfügt.