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