Admin

롤(role) 과 권한(privilege)

돼지와함께춤을 2025. 6. 4. 13:39

ROLE : 권한들의 집합체

  • ROLE에 여러가지 권한을 부여하고 계정에 ROLE을 부여함으로써 관리 용이성, 보안성을 챙긴다.
  • 사용자가 많아질수록 일일히 권한관리를 하지 않고 ROLE을 사용하면 용이하다.

ORACLE 기본 ROLE

  • CONNECT ROLE : DB에 SESSION을 만들 수 있는 권한이 있는 ROLE
  • RESOURCE ROLE : 트리거나 프로시져 같은 리소스 에 권한들의 모음
  • DBA ROLE : 모든 시스템 권한이 부여된 ROLE

권한관리

시스템 권한 : 사용자가 DB에서 특정 작업을 실시할 수 있도록 함.

EX) CREATE TABLE , CREATE ANY TABLE, SELECT ANY TABLE ...

ANY 키워드는 모든 스키마에 권한을 가짐을 의미.

객체 권한 : 테이블이나 프로시져등 객체별 각각의 사용자의 권한을 부여.

GRANT와 REVOKE로 제어한다.

현재 세션 혹은 모든 권한과 ROLE을 조회하는 쿼리

 

-- USER 또는 ROLE에 할당된 객체권한

select * from USER_TAB_PRIVS ;

select * from DBA_TAB_PRIVS ;

​

-- USER 또는 ROLE에 할당된 시스템 권한

SELECT * FROM USER_SYS_PRIVS ;

SELECT * FROM DBA_SYS_PRIVS ;

​

-- USER 별 할당 ROLE

SELECT * FROM USER_ROLE_PRIVS;

SELECT * FROM DBA_ROLE_PRIVS;

​

-- ROLE 조회

SELECT * FROM DBA_ROLES;