REVOKE <privilège> … FROM SHARE

Révoque les privilèges d’accès pour les bases de données et d’autres objets de base de données pris en charge (schémas, tables et vues) d’un partage. La révocation des privilèges sur ces objets supprime effectivement les objets du partage, désactivant ainsi l’accès aux objets accordés via le rôle de base de données dans tous les comptes consommateurs qui ont créé une base de données à partir du partage.

Pour plus de détails, voir Présentation de Secure Data Sharing et Utilisation des partages.

Voir aussi :

GRANT <privilège> … TO SHARE

REVOKE <privilèges>

Syntaxe

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

Où :

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
Copy

Paramètres

name

Indique l’identificateur de l’objet (base de données, schéma, table ou vue sécurisée) pour lequel le privilège spécifié est révoqué.

schema_name

Indique l’identificateur du schéma pour lequel le privilège spécifié est révoqué pour toutes les tables ou vues.

share_name

Indique l’identificateur du partage à partir duquel le privilège spécifié est révoqué.

Notes sur l’utilisation

  • Chaque privilège d’objet doit être révoqué individuellement d’un rôle, sauf pour les tables, les tables Iceberg et les vues. En utilisant une clause ALL, vous pouvez révoquer le privilège SELECT d’un rôle sur toutes les tables ou vues du schéma spécifié.

  • Si vous spécifiez un objet TABLE qui est une table Iceberg, la commande révoque le privilège de cette table Iceberg.

Exemples

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

Cet exemple interdit à une vue sécurisée partagée de référencer des objets provenant d’une autre base de données :

REVOKE REFERENCE_USAGE ON DATABASE database2 FROM SHARE share1;
Copy