본문 바로가기

DB/Oracle

Oracle - 사용자 권한 확인 하기

728x90

1. 사용자에게 부여된 시스템 권한 확인

 
SELECT * FROM DBA_SYS_PRIVS
 
WHERE GRANTEE = '사용자명' ;
 

 

2. 사용자에게 부여된 롤 확인(시스템 권한이 롤에 포함됨)

 
SELECT * FROM DBA_ROLE_PRIVS
 
WHERE GRANTEE = '사용자명' ;
 
 

3. 사용자에게 부여된 롤에 부여된 시스템 권한 확인

 
SELECT * FROM DBA_SYS_PRIVS
 
WHERE GRANTEE = '롤명' ;
 
 

4. 타 사용자에게 부여한 객체(테이블등) 권한 확인

 
SELECT * FROM DBA_TAB_PRIVS
 
WHERE OWNER = '테이블소유자명' ;
 
또는
 
SELECT * FROM DBA_TAB_PRIVS
 
WHERE GRANTEE = '권한부여자명' ;
 

 

 

Oracle 권한 정보

DDL : CREATE TABLE 권한(1, 2번 SQL로 확인 가능)이 있으면, 자신이 생성한 테이블에 대해서는
ALTER, DROP, TRUNCATE 가능
타 사용자의 테이블 생성 권한은 DBA_SYS_PRIVS에서 확인 가능(CREATE ANY TABLE)
 
DML : 본인 소유의 테이블에는 모든 작업 수행 가능
타 사용자의 테이블에 대한 작업 수행은 4번 SQL로 확인하여 가능
 
DCL : 본인 소유의 테이블에 타 사용자에게 GRANT 권한 주기는 항상 가능
타 사용자의 테이블에 대한 GRANT 권한은 해당 테이블에 대해
DBA_TAB_PRIVS.GRANTABLE 컬럼에 YES 로 받은 경우 가능
 
GRANT ANY OBJECT PRIVILEGE 시스템 권한(1, 2번 SQL로 확인 가능)을 가지고 있는 경우
타 사용자의 모든 객체에 대한 권한 부여 가능(DBA도 해당 권한이 있음)
 
오라클 내부 사용자 목록 : 버전에 따라 상이
SELECT USERNAME FROM DBA_USERS ORDER BY 1;

 

ANONYMOUS
APEX_030200
APEX_PUBLIC_USER
APPQOSSYS
CTXSYS
DBSNMP
DIP
EXFSYS
FLOWS_FILES
MDDATA
MDSYS
MGMT_VIEW
NMSVIEW
OLAPSYS
ORACLE_OCM
ORDDATA
ORDPLUGINS
ORDSYS
OUTLN
OWBSYS
OWBSYS_AUDIT
SI_INFORMTN_SCHEMA
SPATIAL_CSW_ADMIN_USR
SPATIAL_WFS_ADMIN_USR
SYS
SYSMAN
SYSTEM
WMSYS
XDB
XS$NULL
 
SCOTT, HR, OE, SH, PM 등은 테스트 계정으로 오라클 설치 시 만들어진 계정
SYS, SYSTEM 은 오라클 관리자 계정
728x90
반응형