출처 : 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 |
현재 사용자 객체의 특정 컬럼에 부여된 객체 권한 |
'이전것 > 데이터베이스' 카테고리의 다른 글
3.1. 테이블의 생성 (0) | 2016.11.09 |
---|---|
2.3.4. 오라클 데이터 베이스를 설치하면 기본적으로 생성되는 Role (0) | 2016.11.09 |
2.3.2. 객체 권한(Object Privileges) (0) | 2016.11.09 |
2.3.1. 시스템 권한 (System Privileges) (0) | 2016.11.09 |
2.3. SQL의 종류 (0) | 2016.11.09 |