REVOKE <権限> ... FROM SHARE

データベースおよびその他のサポートされているデータベースオブジェクト(スキーマ、テーブル、ビュー)のアクセス権限を共有から取り消します。これらのオブジェクトの権限を取り消すと、共有からオブジェクトが事実上削除され、共有からデータベースを作成したすべてのコンシューマーアカウント内にあるオブジェクトへのアクセスが無効になります。

詳細については、 Secure Data Sharingの紹介 および 共有の操作 をご参照ください。

こちらもご参照ください:

GRANT <権限> ... TO SHARE

REVOKE <権限>

構文

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

条件:

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

パラメーター

name

指定された権限が取り消されるオブジェクト(データベース、スキーマ、テーブル、またはセキュアビュー)の識別子を指定します。

schema_name

すべてのテーブルまたはビューに対して指定された権限が取り消されるスキーマの識別子を指定します。

share_name

指定された権限が取り消される共有の識別子を指定します。

使用上の注意

  • テーブル、Icebergテーブル、およびビューを除き、各オブジェクト権限はロールから個別に取り消す必要があります。 ALL 句を使用して、ロールから指定されたスキーマ内のすべてのテーブルまたはビューから SELECT 権限を取り消すことができます。

  • Iceberg テーブルである TABLE オブジェクトを指定した場合、コマンドはそのIcebergテーブルから権限を取り消します。

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

この例では、共有セキュアビューが別のデータベースのオブジェクトを参照することを禁止しています。

REVOKE REFERENCE_USAGE ON DATABASE database2 FROM SHARE share1;
Copy