객체권한은 USER가 소유하고 있는 특정 객체를 다른 사용자들이 엑세스 하거나 조작 할 수 있게 하기 위해 생성 한다.
객체권한(Object Privileges) 이란?
- - 테이블이나 뷰, 시퀀스, 프로시저, 함수, 또는 패키지 중 지정된 한 객체에 특별한 작업을 수행 할 수 있게 한다.
- - 객체 소유자는 다른 사용자에게 특정 객체권한을 부여 할 수 있다.
- - PUBLIC으로 권한을 부여하면 회수할 때도 PUBLIC으로 해야 한다.
- - 기본적으로 소유한 객체에 대해서는 모든 권한이 자동적으로 획득된다.
- - WITH GRANT OPTION 옵션은 ROLE에 권한을 부여할 때는 사용할 수 없다.
객체에 따른 권한 목록 예
객체권한 | 테이블 | 뷰 | 시퀀스 | 프로시저 |
---|---|---|---|---|
ALTER | ○ | ○ | ||
DELETE | ○ | ○ | ||
EXECUTE | ○ | |||
INDEX | ○ | |||
INSERT | ○ | ○ | ||
SELECT | ○ | ○ | ○ |
객체권한 부여 문법
위의 표에서 맨 왼쪽에 있는 ALTER, DELETE, EXECUTE.. 등등은 object_privilege란에 오면 되고, 맨 윗줄에 있는 테이블, 뷰, 시퀀스, 프로시저 등등은 ON 다음에 있는 object에 입력하면 된다.
- - object_privilege : 부여할 객체권한의 이름
- - object : 객체명
- - user, role : 부여할 사용자 이름과 다른 데이터 베이스 역할 이름
- - PUBLIC : 객체권한, 또는 데이터베이스 역할을 모든 사용자에게 부여할 수 있다.
- - WITH GRANT OPTION : 권한을 부여 받은 사용자도 부여 받은 권한을 다른 사용자 또는 역할로 부여할 수 있게 된다.
객체권한 부여 예제
-- scott USER에게 emp테이블을 SELECT, INSERT할 수 있는 권한을 부여했다. -- scott USER도 다른 USER에게 그 권한을 부여 할 수 있다. SQL>GRANT SELECT, INSERT ON emp TO scott WITH GRANT OPTION; 권한이 부여되었습니다.
객체권한의 회수
- - 객체 권한의 철회는 그 권한을 부여한 부여자만이 수행할수 있다.
- - CASCADE CONSTRAINTS : 이 명령어의 사용으로 참조 객체 권한에서 사용 된 참조 무결성 제한을 같이 삭제 할 수 있다.
- - WITH GRANT OPTION으로 객체 권한을 부여한 사용자의 객체 권한을 철회하면, 권한을 부여받은 사용자가 부여한 객체 권한 또한 같이 철회되는 종속철회가 발생한다.
객체권한 회수 예제
-- scott USER에게 부여한 emp 테이블에 대한 SELECT, INSERT 권한 회수 예제 -- 만약 scott USER가 다른 사용자에게 SELECT, INSERT권한을 부여했으면 그 권한들도 같이 회수가 된다. SQL>REVOKE SELECT, INSERT ON emp FROM scott; 권한이 회수되었습니다.
WITH GRANT OPTION을 사용하여 객체권한 회수
WITH GRANT OPTION을 사용하여 부여한 객체 권한을 취소하면 취소 작업이 연쇄적으로 수행 된다.
시나리오- 1. SCOTT가 STORM에게 WITH GRANT OPTION을 사용하여 emp 테이블의 SELECT 권한을 부여 한다.
- 2. STORM이 emp 테이블의 SELECT 권한을 TEST에게 부여 한다.
- 3. SCOTT가 STORM에게 부여한 emp 테이블의 SELECT 권한을 취소 한다.
- - SCOTT가 STORM에게 부여한 emp 테이블에 대한 SELECT 권한을 취소하면, TEST USER가 emp 테이블을 SELECT할 수 있는 권한도 자동으로 취소가 된다.
객체권한관련 데이터 사전
데이터 사전 | 설 명 |
---|---|
USER_TAB_PRIVS | 객체권한의 소유자, 객체권한 부여자, 객체권한 피부여자를 볼수 있음 |
USER_TAB_PRIVS_MADE | 사용자가 부여한 모든 객체권한 |
USER_TAB_PRIVS_RECD | 사용자가 부여받은 모든 객체권한 |
USER_COL_PRIVS | 객체권한의 소유자, 객체권한 부여자, 객체권한 피부여자의 컬럼의 객체권한 |
USER_COL_PRIVS_MADE | 사용자가 부여한 객체 컬럼에 대한 모든 객체권한 |
USER_COL_PRIVS_RECD | 사용자가 부여받은 객체 컬럼에 대한 모든 객체권한 |
태그
문서에 대하여
- - 강좌 URL : http://www.gurubee.net/lecture/1009
- - 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- - 구루비의 모든 강좌는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
'IT > oracle' 카테고리의 다른 글
ARCHIVELOG 모드 (0) | 2015.04.06 |
---|---|
NOARCHIVELOG 모드 (0) | 2015.04.06 |
Backup의 종류 (0) | 2015.04.06 |
Oracle Backup And Recovery (0) | 2015.04.06 |
데이터베이스 링크(Database Link)란? (0) | 2015.04.06 |
SQL*PLUS 사용법 (0) | 2015.02.05 |
NLS_DATE_FORMAT (0) | 2015.02.03 |
Oracle FlashBack 을 이용한 데이터 복구 (0) | 2015.02.03 |
오라클 RMAN 백업의 주요 특징 (0) | 2015.02.02 |
아카이브 로그 모드(Archive Log Mode)란? (0) | 2015.02.02 |