개인공부
사용자 관리 - 2 본문
객체 권한
객체 권한은 테이블이나 뷰나 시퀀스나 함수 등과 같은 객체별로 DML문(SELECT, INSERT, DELETE)을 사용할 수 있는 권한을 설정하는 것입니다.
GRANT privilege_name [(column_name)] | ALL ①
ON object_name | role_name | PUBLIC ②
TO user_name; ③
GRANT 명령어의 형식은 어떤 객체(②)에 어떠한 권한(①)을 어느 사용자(③)에게 부여하는가를 설정합니다. 시스템 권한과 차이점이 있다면 ON 옵션이 추가된다는 점입니다. ON 다음에 테이블 객체나 뷰 객체 등을 기술합니다.
SCOTT 사용자 소유의 EMP 테이블을 조회(SELECT)할 수 있는 권한을 USER01이란 사용자에게 부여합니다.
GRANT SELECT ON EMP TO USER01;
스키마란 ?
스키마(SCHEMA)란 객체를 소유한 사용자명을 의미합니다. 객체 명 앞에 소속 사용자명을 기술합니다.
SELECT * FROM SCOTT.EMP;
현재 사용자가 SCOTT일 경우 자신이 소유한 객체를 언급할 때 객체 명 앞에 스키마를 생략할 수 있다.
사용자에게 부여된 권한 조회
CONN USER01/TIGER
SELECT * FROM USER_TAB_PRIVS_MADE;
SELECT * FROM USER_TAB_PRIVS_RECD;
권한 빼앗기 REVOKE
REVOKE {privilege_name | all}
ON object_name
FROM {user_name | role_name | public};
REVOKE 명령어 다음에는 철회하고자하는 객체 권한을 기술하고 ON 다음에는 어떤 테이블에 부여된 권한인지 해당 테이블명을 기술하고 FROM 다음에는 어떤 사용자에게 부여한 권한인지 사용자명을 기술합니다.
USER01 사용자에게 부여된 EMP 테이블에 대한 SELECT 권한을 철회합니다.
REVOKE SELECT ON EMP FROM USER01;