예시
다음 예에서는 GUESTS 사용자 그룹에서 SALES 테이블에 대한 INSERT 권한을 취소합니다. 이 명령을 실행하면 GUESTS의 구성원이 INSERT 명령을 사용하여 SALES 테이블로 데이터를 로드할 수 없게 됩니다.
revoke insert on table sales from group guests;
다음 예에서는 사용자 fred
에게서 QA_TICKIT 스키마에 있는 모든 테이블에 대한 SELECT 권한을 취소합니다.
revoke select on all tables in schema qa_tickit from fred;
다음 예에서는 사용자 bobr
에 대한 뷰에서 선택할 권한을 취소합니다.
revoke select on table eventview from bobr;
다음 예에서는 모든 사용자에게서 TICKIT 데이터베이스에 임시 테이블을 만들 권한을 취소합니다.
revoke temporary on database tickit from public;
다음 예에서는 사용자 user1
에게서 cust_profile
테이블의 cust_name
및 cust_phone
열에 대한 SELECT 권한을 취소합니다.
revoke select(cust_name, cust_phone) on cust_profile from user1;
다음 예에서는 sales_group
그룹에서 cust_profile
테이블의 cust_name
및 cust_phone
열에 대한 SELECT 권한과 cust_contact_preference
열에 대한 UPDATE 권한을 취소합니다.
revoke select(cust_name, cust_phone), update(cust_contact_preference) on cust_profile from group sales_group;
다음 예에서는 ALL 키워드를 사용하여 sales_admin
그룹에서 cust_profile
테이블의 세 열에 대한 SELECT 및 UPDATE 권한을 모두 취소하는 것을 보여 줍니다.
revoke ALL(cust_name, cust_phone,cust_contact_preference) on cust_profile from group sales_admin;
다음 예에서는 user2
사용자에게서 cust_profile_vw
뷰의 cust_name
열에 대한 SELECT 권한을 취소합니다.
revoke select(cust_name) on cust_profile_vw from user2;
데이터 공유에서 생성된 데이터베이스에서 USAGE 권한 취소의 예
다음 예시에서는 13b8833d-17c6-4f16-8fe4-1a018f5ed00d
네임스페이스에서 salesshare
데이터 공유에 대한 액세스 권한을 취소합니다.
REVOKE USAGE ON DATASHARE salesshare FROM NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
다음 예시에서는 Bob
에게서 sales_db
에 대한 USAGE 권한을 취소합니다.
REVOKE USAGE ON DATABASE sales_db FROM Bob;
다음 예시에서는 Analyst_role
에게서 sales_schema
에 대한 USAGE 권한을 취소합니다.
REVOKE USAGE ON SCHEMA sales_schema FROM ROLE Analyst_role;
범위가 지정된 권한 취소의 예
다음 예시에서는 Sales_db
데이터베이스의 모든 현재 및 미래 스키마에 대한 사용 권한을 Sales
역할에게서 취소합니다.
REVOKE USAGE FOR SCHEMAS IN DATABASE Sales_db FROM ROLE Sales;
다음 예시에서는 Sales_db
데이터베이스의 모든 현재 및 미래 테이블에 대한 SELECT 권한을 부여하는 권한을 alice
라는 사용자에게서 취소합니다. alice
는 Sales_db
의 모든 테이블에 대한 액세스 권한을 유지합니다.
REVOKE GRANT OPTION SELECT FOR TABLES IN DATABASE Sales_db FROM alice;
다음 예시에서는 Sales_schema
스키마의 함수에 대한 EXECUTE 권한을 bob
이라는 사용자에게서 취소합니다.
REVOKE EXECUTE FOR FUNCTIONS IN SCHEMA Sales_schema FROM bob;
다음 예시에서는 ShareDb
데이터베이스의 ShareSchema
스키마에 있는 모든 테이블에 대한 모든 권한을 Sales
역할에게서 취소합니다. 스키마를 지정할 때 두 부분으로 구성된 database.schema
형식을 사용하여 스키마의 데이터베이스를 지정할 수도 있습니다.
REVOKE ALL FOR TABLES IN SCHEMA ShareDb.ShareSchema FROM ROLE Sales;
다음 예시는 이전 예시와 동일합니다. 두 부분으로 구성된 형식을 사용하는 대신 DATABASE
키워드를 사용하여 스키마의 데이터베이스를 지정할 수 있습니다.
REVOKE ALL FOR TABLES IN SCHEMA ShareSchema DATABASE ShareDb FROM ROLE Sales;
ASSUMEROLE 권한 취소의 예
다음은 ASSUMEROLE 권한을 취소하는 예입니다.
슈퍼 사용자는 클러스터에서 다음 문을 한 번 실행하여 사용자와 그룹에 ASSUMEROLE 권한을 사용하도록 설정해야 합니다.
revoke assumerole on all from public for all;
다음 문은 모든 작업에 대한 모든 역할에 대한 사용자 reg_user1의 ASSUMEROLE 권한을 취소합니다.
revoke assumerole on all from reg_user1 for all;
ROLE 권한 취소의 예
다음은 sample_role1을 sample_role2에서 취소하는 예입니다.
CREATE ROLE sample_role2; GRANT ROLE sample_role1 TO ROLE sample_role2; REVOKE ROLE sample_role1 FROM ROLE sample_role2;
다음은 user1에서 시스템 권한을 취소하는 예입니다.
GRANT ROLE sys:DBA TO user1; REVOKE ROLE sys:DBA FROM user1;
다음은 sample_role1 및 sample_role2를 user1에서 취소하는 예입니다.
CREATE ROLE sample_role1; CREATE ROLE sample_role2; GRANT ROLE sample_role1, ROLE sample_role2 TO user1; REVOKE ROLE sample_role1, ROLE sample_role2 FROM user1;
다음은 user1에서 ADMIN OPTION을 사용하여 sample_role2를 취소하는 예입니다.
GRANT ROLE sample_role2 TO user1 WITH ADMIN OPTION; REVOKE ADMIN OPTION FOR ROLE sample_role2 FROM user1; REVOKE ROLE sample_role2 FROM user1;
다음은 sample_role1 및 sample_role2를 sample_role5에서 취소하는 예입니다.
CREATE ROLE sample_role5; GRANT ROLE sample_role1, ROLE sample_role2 TO ROLE sample_role5; REVOKE ROLE sample_role1, ROLE sample_role2 FROM ROLE sample_role5;
다음은 sample_role1에 대한 CREATE SCHEMA 및 DROP SCHEMA 시스템 권한을 취소하는 예입니다.
GRANT CREATE SCHEMA, DROP SCHEMA TO ROLE sample_role1; REVOKE CREATE SCHEMA, DROP SCHEMA FROM ROLE sample_role1;