REVOKE <Berechtigung> … FROM SHARE¶
Entzieht einer Freigabe die Zugriffsrechte für Datenbanken und andere unterstützte Datenbankobjekte (Schemas, Tabellen und Ansichten). Durch das Entziehen von Berechtigungen für diese Objekte werden die Objekte effektiv aus der Freigabe entfernt. Dadurch wird der Zugriff auf die Objekte, der über die Datenbankrolle allen Verbraucherkonten erteilt wurde, die eine Datenbank aus der Freigabe erstellt haben, deaktiviert.
Weitere Details dazu finden Sie unter Einführung in Secure Data Sharing und Verwenden von Freigaben.
Syntax¶
REVOKE objectPrivilege ON
{ DATABASE <name>
| SCHEMA <name>
| { TABLE <name> | ALL TABLES IN SCHEMA <schema_name> }
| { ICEBERG TABLE <name> | ALL ICEBERG TABLES IN SCHEMA <schema_name> }
| { VIEW <name> | ALL VIEWS IN SCHEMA <schema_name> } }
FROM SHARE <share_name>
Wobei:
objectPrivilege ::=
-- For DATABASE
REFERENCE_USAGE [ , ... ]
-- For DATABASE, FUNCTION, or SCHEMA
USAGE [ , ... ]
-- For TABLE
EVOLVE SCHEMA [ , ... ]
-- For ICEBERG TABLE, TABLE, or VIEW
SELECT [ , ... ]
-- For TAG
READ
Parameter¶
name
Gibt den Bezeichner für das Objekt (Datenbank, Schema, Tabelle oder sichere Ansicht) an, für das die angegebene Berechtigung widerrufen wird.
schema_name
Gibt den Bezeichner für das Schema an, für das die angegebene Berechtigung für alle Tabellen oder Ansichten widerrufen wird.
share_name
Gibt den Bezeichner für die Freigabe an, der die angegebene Berechtigung entzogen wird.
Nutzungshinweise¶
Mit Ausnahme von Tabellen, Iceberg-Tabellen und Ansichten muss einer Rolle jede Objektberechtigung einzeln entzogen werden. Mit einer
ALL
-Klausel können Sie einer Rolle die SELECT-Berechtigung für alle Tabellen oder Ansichten in einem angegebenen Schema auf einmal entziehen.Wenn Sie ein
TABLE
-Objekt angeben, das eine Iceberg-Tabelle ist, entzieht der Befehl die Berechtigung für diese Iceberg-Tabelle.
Beispiele¶
REVOKE SELECT ON VIEW mydb.shared_schema.view1 FROM SHARE share1; REVOKE SELECT ON VIEW mydb.shared_schema.view3 FROM SHARE share1; REVOKE USAGE ON SCHEMA mydb.shared_schema FROM SHARE share1; REVOKE SELECT ON ALL TABLES IN SCHEMA mydb.public FROM SHARE share1; REVOKE SELECT ON ALL ICEBERG TABLES IN SCHEMA mydb.public FROM SHARE share1; REVOKE SELECT ON ALL DYNAMIC TABLES IN SCHEMA mydb.public FROM SHARE share1; REVOKE SELECT ON ICEBERG TABLE mydb.shared_schema.iceberg_table_1 FROM SHARE share1; REVOKE SELECT ON DYNAMIC TABLE mydb TO SHARE share1; REVOKE USAGE ON SCHEMA mydb.public FROM SHARE share1; REVOKE USAGE ON DATABASE mydb FROM SHARE share1;Copy
In diesem Beispiel wird es einer freigegebenen sicheren Ansicht untersagt, auf Objekte aus einer anderen Datenbank zu verweisen:
REVOKE REFERENCE_USAGE ON DATABASE database2 FROM SHARE share1;Copy