728x90

1. USER_SYS_PRIVS란?
USER_SYS_PRIVS는 Oracle 데이터베이스에서 현재 사용자에게 직접 부여된 시스템 권한(System Privileges)을 보여주는 데이터 딕셔너리 뷰입니다. 이 뷰는 보안 감사, 권한 점검, 개발자 역할 검토 시 매우 유용하게 사용됩니다.
2. 시스템 권한이란?
시스템 권한(System Privilege)은 Oracle 내에서 테이블 생성, 사용자 생성, 인덱스 관리, 뷰 생성 등과 같은 객체 수준이 아닌 DB 차원의 권한입니다.
CREATE SESSION– DB 접속 허용CREATE TABLE– 테이블 생성 허용DROP USER– 사용자 삭제 허용ALTER SYSTEM– 시스템 파라미터 변경 허용
3. 주요 컬럼 설명
| 컬럼명 | 설명 |
|---|---|
| USERNAME | 권한이 부여된 사용자 이름 (현재 사용자와 동일) |
| PRIVILEGE | 부여된 시스템 권한 이름 |
| ADMIN_OPTION | 해당 권한을 다른 사용자에게 다시 부여할 수 있는지 여부 (YES/NO) |
4. 실전 활용 예제
-- 현재 사용자에게 부여된 시스템 권한 목록 조회
SELECT PRIVILEGE, ADMIN_OPTION
FROM USER_SYS_PRIVS;
-- ADMIN_OPTION이 YES인 권한만 조회
SELECT PRIVILEGE
FROM USER_SYS_PRIVS
WHERE ADMIN_OPTION = 'YES';
5. 관련 권한 뷰 비교
| 뷰 이름 | 역할 | 범위 |
|---|---|---|
| USER_SYS_PRIVS | 사용자에게 직접 부여된 시스템 권한 | 현재 사용자 |
| ROLE_SYS_PRIVS | 역할(Role)을 통해 부여된 시스템 권한 | 역할 단위 |
| SESSION_PRIVS | 현재 세션이 사용하는 모든 권한 | 직접 + 간접 권한 포함 |
| DBA_SYS_PRIVS | 모든 사용자/역할의 시스템 권한 | DBA 전용 |
6. 고급 활용 전략
- 보안 감사 스크립트 작성: 불필요한 고급 권한(예: DROP ANY TABLE) 점검
- 개발자 권한 최소화: CREATE SESSION, CREATE PROCEDURE 등 최소 권한만 부여
- ADMIN_OPTION 확인: 권한 재전파 가능 여부 검토
7. 결론
USER_SYS_PRIVS는 데이터베이스 보안 및 권한 관리에 있어 핵심적인 역할을 하며, 직접 부여된 권한의 범위를 명확히 파악할 수 있는 창구입니다. 정기적인 점검을 통해 불필요하거나 과도한 권한을 제어하는 것이 보안의 시작입니다.
참고 자료
- Oracle® Database Security Guide 21c
- Oracle® Database SQL Language Reference
- Oracle Help Center: https://docs.oracle.com/en/
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] USER_TABLESPACES 뷰로 테이블스페이스 접근 권한 완벽 분석 (0) | 2025.08.08 |
|---|---|
| [ORACLE] USER_TABLES 뷰를 활용한 테이블 구조 분석과 관리 전략 (0) | 2025.08.08 |
| [ORACLE] USER_SYNONYMS 뷰를 활용한 시노님 구조 완벽 이해 (0) | 2025.08.07 |
| [ORACLE] USER_SUMMARIES로 요약 뷰(MV) 기반 성능 최적화 이해하기 (0) | 2025.08.07 |
| [ORACLE] USER_SUBPART_KEY_COLUMNS로 서브파티션 키 구조 완벽 분석 (0) | 2025.08.07 |