728x90

ALL_COL_PRIVS는 오라클 데이터베이스에서 사용자 또는 역할이 부여받은 컬럼 수준의 권한 정보를 확인할 수 있는 매우 유용한 데이터 딕셔너리 뷰입니다. 이 글에서는 해당 뷰의 구조와 실무 활용법, 보안 관리 팁 등을 중심으로, 전문가의 관점에서 깊이 있는 설명을 제공합니다.
1. ALL_COL_PRIVS란 무엇인가?
오라클의 ALL_COL_PRIVS 뷰는 현재 사용자에게 접근 권한이 있는 컬럼 단위의 객체 권한을 모두 보여주는 시스템 뷰입니다. 사용자 자신이 직접 부여받았거나, 다른 사용자에게 부여한 권한도 함께 확인할 수 있습니다.
2. 뷰의 주요 컬럼 설명
| 컬럼명 | 설명 |
|---|---|
| GRANTEE | 권한을 부여받은 사용자 또는 역할 |
| OWNER | 대상 객체의 소유자 |
| TABLE_NAME | 권한이 부여된 테이블의 이름 |
| COLUMN_NAME | 권한이 부여된 컬럼의 이름 |
| PRIVILEGE | 부여된 권한 유형 (SELECT, INSERT, UPDATE 등) |
| GRANTABLE | 해당 권한을 다른 사용자에게도 부여할 수 있는지 여부 |
3. 실무 예제: 사용자 권한 조회
다음은 특정 사용자가 부여받은 컬럼 권한을 조회하는 예시입니다.
SELECT * FROM ALL_COL_PRIVS WHERE GRANTEE = 'USER_A';
이 쿼리는 USER_A가 부여받은 모든 컬럼 수준 권한을 보여줍니다. 특히 보안 점검이나 권한 정리를 할 때 매우 유용합니다.
4. 관련 뷰와의 비교
ALL_COL_PRIVS와 유사한 시스템 뷰들과 비교하면 다음과 같습니다.
| 뷰 이름 | 범위 | 주요 용도 |
|---|---|---|
| ALL_COL_PRIVS | 사용자가 접근 가능한 컬럼 권한 | 사용자 권한 점검 |
| USER_COL_PRIVS | 자신에게 직접 부여된 컬럼 권한 | 자기 권한 확인 |
| DBA_COL_PRIVS | 모든 사용자에 대한 컬럼 권한 | DBA 권한 관리 |
5. 보안 관점에서의 활용
- 정기 점검 자동화: ALL_COL_PRIVS를 기반으로 사용자 권한을 스크립트로 정기 점검 가능
- 최소 권한 원칙: 실제 필요한 컬럼에만 권한을 부여하는 데 활용
- 권한 상속 여부 확인: GRANTABLE 컬럼으로 권한 재배포 가능성 체크
6. 컬럼 권한 회수 방법
불필요하게 부여된 컬럼 권한은 보안상의 이유로 회수가 필요할 수 있습니다. 다음은 권한 회수 예시입니다.
REVOKE SELECT (SALARY) ON EMPLOYEES FROM USER_A;
7. 실무 팁
- 복수 테이블의 권한을 일괄적으로 점검하고 싶다면 스크립트로 조회 결과를 CSV로 출력하여 검토하는 방법이 효과적입니다.
- 기존 권한과 신규 요청 간의 차이를 시각적으로 비교하는 것도 효율적입니다.
8. 마무리
ALL_COL_PRIVS 뷰는 단순한 조회를 넘어, 조직의 데이터 보안 정책을 실현하는 핵심 도구가 될 수 있습니다. 특히 실무에서 권한 정비와 사용자 관리에 있어, 이 뷰를 활용하는 것은 단순한 효율성 향상을 넘어서 보안 리스크를 최소화하는 데 중요한 역할을 합니다. DB 보안에 민감한 시대, 정기적인 ALL_COL_PRIVS 기반의 점검은 선택이 아닌 필수입니다.
9. 참고 자료
- Oracle Database 21c Documentation – https://docs.oracle.com
- Oracle SQL Language Reference
- 실무 DBA 경험 기반 사례 정리 (2020~2024)
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] ALL_COL_PRIVS_RECD 완전 가이드 : 내가 받은 컬럼 권한 한눈에 파악하기 (0) | 2025.06.20 |
|---|---|
| [ORACLE] ALL_COL_PRIVS_MADE 뷰 완전 분석 : 직접 부여한 컬럼 권한 추적 가이드 (0) | 2025.06.20 |
| [ORACLE] ALL_COLL_TYPES 완전 분석 - 컬렉션 타입 구조 이해와 활용 (0) | 2025.06.19 |
| [ORACLE] ALL_CLUSTER_HASH_EXPRESSIONS 완벽 가이드 - 해시 클러스터 구조 해부 (0) | 2025.06.19 |
| [ORACLE] ALL_CLUSTERS 뷰 완전 분석 - 클러스터 구조의 이해 (0) | 2025.06.19 |