출처 http://www.gurubee.net/lecture/1008


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


시스템권한(System Privileges)이란?

- 시스템권한은 사용자가 데이터베이스에서 특정 작업을 수행 할 수 있도록한다.

- 권한의 ANY 키워드는 사용자가 모든 스키마에서 권한을 가짐을 의미한다.

- GRANT 명령은 사용자 또는 ROLE에 대해서 권한을 부여 할 수 있다.

- REVOKE 명령은 권한을 회수 한다.


대표적인 시스템 권한

- CREATE SESSION : 데이터베이스를 연결할 수 있는 권한

- CREATE ROLE : 오라클 데이터베이스 역할을 생성할 수 있는 권한

- CREATE VIEW : 뷰의 생성 권한

- ALTER USER : 생성한 사용자의 정의를 변경할 수 있는 권한

- DROP USER :: 생성한 사용자를 삭제시키는 권한


시스템권한 부여 문법


 

GRANT [system_privilege | role] TO [user | role | PUBLIC]

[WITH ADMIN OPTION]


- 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;

권한이 부여되었습니다.



시스템권한의 회수


REVOKE [system_privilege | role] FROM [user | role | PUBLIC] 


시스템권한 회수 예제



-- 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 권한을 가지고 있다.

시스템권한의 회수


'개발 > 데이터베이스' 카테고리의 다른 글

2.3.3. 롤(Role)  (0) 2016.11.09
2.3.2. 객체 권한(Object Privileges)  (0) 2016.11.09
2.3. SQL의 종류  (0) 2016.11.09
Oracle -> line Page Setting  (0) 2016.11.09
2.2. USER의 변경 및 삭제  (0) 2016.11.09
블로그 이미지

잉비니

,