예시 - Amazon Redshift

예시

다음 예에서는 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_namecust_phone 열에 대한 SELECT 권한을 취소합니다.

revoke select(cust_name, cust_phone) on cust_profile from user1;

다음 예에서는 sales_group 그룹에서 cust_profile 테이블의 cust_namecust_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라는 사용자에게서 취소합니다. aliceSales_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;