시스템 권한(System Privileges)

개발 Programming/ORACLE & DB|2010. 12. 24. 09:21

시스템 권한(System Privileges)

오라클에서 권한(Privilege)은 특정 타입의 SQL문을 실행하거나 데이터베이스나 객체에 접근할 수 있는 권리이다.

시스템권한(System Privileges)이란?
  • - 시스템권한은 사용자가 데이터베이스에서 특정 작업을 수행 할 수 있도록 한다
  • - 권한의 ANY 키워드는 사용자가 모든 스키마에서 권한을 가짐을 의미 한다.
  • - GRANT 명령은 사용자 또는 ROLE에 대해서 권한을 부여 할 수 있다.
  • - REVOKE 명령은 권한을 회수 한다.

대표적인 시스템권한
  • - CREATE SESSION : 데이터 베이스를 연결할 수 있는 권한
  • - CREATE ROLE : 오라클 데이터베이스 역할을 생성할 수 있는 권한
  • - CREATE VIEW : 뷰의 생성 권한
  • - ALTER USER : 생성한 사용자의 정의를 변경할 수 있는 권한
  • - DROP USER : 생성한 사용자를 삭제시키는 권한

시스템권한 부여 문법

시스템권한 부여 문법

  • - system_privilege : 부여할 시스템권한의 이름
  • - role : 부여할 데이터베이스 역할의 이름
  • - user, role : 부여할 사용자 이름과 다른 데이터 베이스 역할 이름
  • - PUBLIC : 시스템권한, 또는 데이터베이스 역할을 모든 사용자에게 부여할 수 있다.
  • - WITH ADMIN OPTION : 권한을 부여 받은 사용자도 부여 받은 권한을 다른 사용자 또는 역할로 부여할 수 있게된다.

시스템권한 부여 예제

	
-- SYS 권한으로 접속한다.	
SQL>CONN sys/manager AS SYSDBA       

-- scott 사용자에게 사용자를 생성, 수정, 삭제 할 수 있는 권한을 부여하고,
-- scott 사용자도 다른 사용자에게 그 권한을 부여 할 수 있도록 권한 부여.
SQL>GRANT CREATE USER, ALTER USER, DROP USER TO scott
    WITH  ADMIN  OPTION;
 권한이 부여되었습니다.
	

시스템권한의 회수

시스템권한의 회수문법

시스템권한 회수 예제

 	
-- scott 사용자에게 부여한 생성, 수정, 삭제 권한을 회수 한다.
SQL>REVOKE CREATE USER, ALTER USER, DROP USER
    FROM scott;
 권한이 회수되었습니다.
	

WITH ADMIN OPTION을 사용하여 시스템권한 취소

WITH ADMIN OPTION을 사용하여 시스템권한을 부여했어도 시스템권한을 취소 할 때는 연쇄적으로 취소 되지 않는다.

시나리오
  • 1. DBA가 STORM에게WITH ADMIN OPTION을 사용하여 CREATE TABLE 시스템권한을 부여 한다.
  • 2. STORM이 테이블을 생성 한다.
  • 3. STORM이 CREATE TABLE 시스템권한을 SCOTT에게 부여 한다.
  • 4. SCOTT가 테이블을 생성 한다.
  • 5. DBA가 STORM에게 부여한 CREATE TABLE 시스템권한을 취소 한다.

시스템권한의 회수

결과
  • - STORM의 테이블은 여전히 존재하지만 새 테이블을 생성할 수 있는 권한은 없다.
  • - SCOTT는 여전히 테이블과 새로운 테이블을 생성 할 수 있는 CREATE TABLE권한을 가지고 있다.

시스템권한의 회수

출처http://www.oracleclub.com/lecture/1008

'개발 Programming > ORACLE & DB' 카테고리의 다른 글

사용자 권한 수정  (0) 2013.01.19
예약어 확인  (0) 2013.01.19
테이블 삭제시 쓰레기값 남을 경우  (0) 2010.06.15
트랜젝션  (0) 2010.05.03
디비 인포트할때,디비 백업할때  (0) 2009.10.21

댓글()