craftmanager

#06 권한과 롤 - 롤(Role) 본문

ORACLE SQL

#06 권한과 롤 - 롤(Role)

craftmanager 2023. 12. 18. 14:16

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

롤(ROLE) 이란?

  • ROLE을 이용하면 권한 부여와 회수를 쉽게 할 수 있다.
  • - ROLE은 CREATE ROLE권한을 가진 USER에 의해서 생성 된다.
  • - 한 사용자가 여러개의 ROLL을 ACCESS할 수 있고, 여러 사용자에게 같은 ROLE을 부여할 수 있다.
  • - 시스템 권한을 부여하고, 취소할 때와 동일한 명령을 사용하여 사용자에게 부여하고, 취소 한다.
  • - 사용자는 ROLE에 ROLE을 부여할 수 있다.
  • - 오라클 데이터베이스를 설치하면 기본적으로 CONNECT, RESOURCE, DBA ROLE이 제공 된다.

 

ROLE 생성 문법

CREATE ROLE role_name

 

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 현재 사용자 객체의 특정 컬럼에 부여된 객체 권한
출처: http://www.gurubee.net/lecture/1010