롤(ROLE) 이란 사용자에게 허가 할 수 있는 권한들의 집합 이라고 할 수 있다.
롤(ROLE) 이란?
- – ROLE을 이용하면 권한 부여와 회수를 쉽게 할 수 있다.
- – ROLE은 CREATE ROLE권한을 가진 USER에 의해서 생성 된다.
- – 한 사용자가 여러개의 ROLL을 ACCESS할 수 있고, 여러 사용자에게 같은 ROLE을 부여할 수 있다.
- – 시스템 권한을 부여하고, 취소할 때와 동일한 명령을 사용하여 사용자에게 부여하고, 취소 한다.
- – 사용자는 ROLE에 ROLE을 부여할 수 있다.
- – 오라클 데이터베이스를 설치하면 기본적으로 CONNECT, RESOURCE, DBA ROLE이 제공 된다.
아래의 그림처럼 DBA가 유저들에게 권한을 부여할 때 일일이 권한 하나하나씩을 지정을 한다면 몹시 불편할 것 입니다. DBA가 USER의 역할에 맞도록 ROLE을 생성하여서 ROLE만 유저에게 지정을 한다면 보다 효율적으 로 유저들의 권한을 관리 할 수 있다.
ROLE을 사용하지 않고 권한부여 | ROLE을 사용하여 권한부여 |
---|---|
ROLE 생성 문법
ROLE 부여 예제
ROLE의 부여 순서
- ① ROLE의 생성 : CREATE ROLE manager
- ② ROLE에 권한 부여 : GRANT create session, create table TO manager
- ③ 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 | 현재 사용자 객체의 특정 컬럼에 부여된 객체 권한 |