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


롤(ROLE)은 사용자에게 허가 할 수 있는 권한들의 집합이라고 할 수 있다.


롤(ROLE)

- ROLE을 이용하면 권한 부여와 회수를 쉽게 할 수 있다.

- ROLE은 CREATE ROLE 권한을 가진 USER에 의해서 생성된다.

- 한 사용자가 여러개의 ROLE을 ACCESS 할 수 있고, 여러 사용자에게 같은 ROLE을 부여 할 수 있다.

- 시스템 권한을 부여하고, 취소할 때와 동일한 명령을 사용하여 사용자에게 부여하고, 취소한다.

- 사용자는 ROLE에 ROLE을 부여할 수 있다.

- 오라클 데이터베이스를 설치하면 기본적으로 CONNECT, RESOURCE, DBA ROLE이 제공된다.


  아래의 그림처럼 DBA가 유저들에게 권한을 부여할 때 일일이 권한 하나하나 씩을 지정 한다면 몹시 불편할 것이다.

DBA가 USER의 역할에 맞도록 ROLE을 생성하여서 ROLE만 유저에게 지정을 한다면 보다 효율적으로 유저들의 권한을 관리 할 수 있다.


ROLE을 사용하지 않고 권한 부여 

ROLE을 사용하여 권한 부여 

 롤사용하지않고권한부여

 롤사용하여권한부여


ROLE 생성 문법

CREATE ROLE role_name 


ROLE 부여 예제

ROLE의 부여 순서

1. ROLE의 생성 : CREATE ROLE MANAGER

2. ROLE에 권한 부여 : GRANT CREATE SESSION, CREATE TABLE TO MANAGER

3. ROLE을 사용자 또는 ROLE에게 부여 : GRANT manager TO scott, test;


-- ROLE을 생성합니다.

SQL> CREATE ROLE manager;


-- ROLE에 권한을 부여합니다.

SQL>GRANT create session, create table TO manager;


-- 권한이 부여된 ROLE을 USER나 ROLE에 부여합니다.

SQL>GRANT manager TO scott, test; 


ROLE 관련 데이터 사전

항목 

설명 

ROLE_SYS_PRIVS 

ROLE에 부여된 시스템 권한 

ROLE_TAB_PRIVS 

ROLE에 부여된 테이블 권한 

USER_ROLE_PRIVS 

현재 사용자가 ACCESS 할 수 있는 ROLE 

USER_TAB_PRIVS_MADE 

현재 사용자의 객체에 부여한 객체 권한 

USER_TAB_PRIVS_RECD 

현재 사용자의 객체에 부여된 객체 권한 

USER_COL_PRIVS_MADE 

현재 사용자 객체의 특정 컬럼에 부여한 객체 권한 

USER_COL_PRIVS_RECD 

현재 사용자 객체의 특정 컬럼에 부여된 객체 권한 


블로그 이미지

잉비니

,