728x90

1. USER_TAB_PRIVS란?
USER_TAB_PRIVS는 현재 사용자에게 부여된 오브젝트(테이블, 뷰, 프로시저 등) 권한 정보를 확인할 수 있는 Oracle의 데이터 딕셔너리 뷰입니다. 보안 감사, 권한 분리 점검, 접근 통제 정책 수립에 있어 핵심적인 정보를 제공합니다. 특히 대규모 조직에서 수많은 테이블에 대한 접근 권한을 관리할 때, 어떤 객체에 어떤 권한이 부여되었는지를 체계적으로 파악하는 데 필수적인 뷰입니다.
2. 주요 컬럼 설명
| 컬럼명 | 설명 |
|---|---|
| TABLE_NAME | 권한이 부여된 오브젝트의 이름 |
| GRANTOR | 권한을 부여한 사용자 |
| GRANTEE | 권한을 부여받은 사용자 |
| PRIVILEGE | 부여된 권한 (SELECT, INSERT 등) |
| GRANTABLE | 해당 권한을 다른 사용자에게 부여 가능한지 여부 |
| TYPE | 오브젝트 타입 (TABLE, VIEW 등) |
3. 실무 활용 예제
3.1. 나에게 부여된 권한 전체 조회
SELECT
TABLE_NAME,
PRIVILEGE,
GRANTOR
FROM
USER_TAB_PRIVS;
3.2. 특정 테이블에 대한 권한 확인
SELECT
GRANTEE,
PRIVILEGE,
GRANTABLE
FROM
USER_TAB_PRIVS
WHERE
TABLE_NAME = 'EMPLOYEES';
3.3. SELECT 권한만 조회
SELECT
TABLE_NAME,
PRIVILEGE
FROM
USER_TAB_PRIVS
WHERE
PRIVILEGE = 'SELECT';
4. USER_TAB_PRIVS와 관련 뷰 비교
| 뷰 이름 | 설명 | 사용자 범위 | 접근 가능 정보 |
|---|---|---|---|
| USER_TAB_PRIVS | 현재 사용자에게 부여된 오브젝트 권한 | 현재 사용자 | 본인 권한만 조회 가능 |
| ALL_TAB_PRIVS | 접근 가능한 모든 오브젝트 권한 | 모든 사용자 | 본인이 가진 권한 + 다른 사용자가 자신에게 준 권한 |
| DBA_TAB_PRIVS | 모든 사용자에 대한 권한 정보 | DBA만 | 전체 시스템 권한 감시 가능 |
5. USER_TAB_PRIVS 활용 전략
- 보안 점검: 불필요하게 부여된 SELECT, INSERT 권한을 탐지하고 회수
- 권한 누수 방지: GRANTABLE='YES'인 경우, 2차 권한 부여 가능 여부 점검
- 시스템 감시: 정기적으로 권한 맵을 추출하여 권한 변경 추적
- 자동화 연계: USER_TAB_PRIVS 데이터를 활용한 권한 리포트 자동화 가능
6. 주의할 점
- CASE 민감: 오라클에서 테이블 이름은 기본적으로 대문자로 저장되므로 조회 시 주의
- 정확한 권한 파악: 시스템 권한은
USER_SYS_PRIVS에서 별도로 확인 - 역할 기반 권한은 제외: ROLE을 통한 권한 부여는 해당 뷰에 나타나지 않음
7. 결론
USER_TAB_PRIVS는 오라클 환경에서 사용자 권한을 투명하게 관리하고, 보안 및 컴플라이언스 요건을 충족시키는 데 핵심적인 역할을 합니다. 단순히 뷰를 조회하는 데서 그치지 않고, 권한 정책의 자동화, 권한 회수 정책 수립, 보안 점검 시나리오 등에 폭넓게 활용할 수 있습니다.
8. 출처
- Oracle Corporation. Oracle Database Documentation
- Tom Kyte, 『Expert Oracle Database Architecture』
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] USER_TAB_PRIVS_RECD : 수신된 오브젝트 권한 완전 분석 (0) | 2025.08.09 |
|---|---|
| [ORACLE] USER_TAB_PRIVS_MADE : 사용자가 부여한 오브젝트 권한 추적 가이드 (0) | 2025.08.09 |
| [ORACLE] USER_TAB_PARTITIONS : 오라클 파티셔닝 정보를 꿰뚫는 전략 가이드 (0) | 2025.08.09 |
| [ORACLE] USER_VIEWS 뷰로 사용자 정의 뷰 SQL 추적 및 최적화하기 (0) | 2025.08.08 |
| [ORACLE] USER_USERS 뷰로 사용자 계정 정보 및 보안 정책 완벽 파악하기 (0) | 2025.08.08 |