728x90

오라클 데이터베이스에서 보안과 접근 제어를 철저히 관리하려면, 현재 사용자에게 부여된 권한이 무엇인지 정확히 아는 것이 중요합니다. 특히 컬럼 단위의 권한은 세분화된 데이터 제어를 가능하게 하므로, ALL_COL_PRIVS_RECD 뷰를 통해 이 정보를 체계적으로 파악하는 것이 필수입니다.
1. ALL_COL_PRIVS_RECD란?
ALL_COL_PRIVS_RECD는 오라클에서 현재 사용자 또는 연결된 스키마가 수신한 컬럼 권한 정보를 보여주는 데이터 딕셔너리 뷰입니다. 즉, 다른 사용자 또는 DBA가 내게 직접 부여한 컬럼 권한 내역을 조회할 수 있는 뷰로, 권한 감사, 보안 점검, 애플리케이션 개발 시 매우 유용합니다.
2. 주요 컬럼 설명
| 컬럼명 | 설명 |
|---|---|
| GRANTOR | 해당 권한을 부여한 사용자 |
| OWNER | 권한이 적용된 테이블의 소유자 |
| TABLE_NAME | 권한이 적용된 테이블 이름 |
| COLUMN_NAME | 권한이 부여된 컬럼 이름 |
| PRIVILEGE | 부여된 권한 유형 (예: SELECT, UPDATE 등) |
| GRANTABLE | 다른 사용자에게 해당 권한을 부여할 수 있는지 여부 (YES/NO) |
3. 실무 활용 예시
아래 쿼리는 현재 사용자에게 부여된 컬럼 권한 목록을 보여줍니다.
SELECT * FROM ALL_COL_PRIVS_RECD;
특정 테이블 또는 컬럼에 한정하고 싶다면 WHERE 절을 추가합니다.
SELECT * FROM ALL_COL_PRIVS_RECD
WHERE TABLE_NAME = 'EMPLOYEES' AND COLUMN_NAME = 'SALARY';
4. 유사 뷰 비교
컬럼 권한과 관련된 다른 뷰들과 비교하면 다음과 같습니다.
| 뷰 이름 | 내용 | 주요 용도 |
|---|---|---|
| ALL_COL_PRIVS | 모든 접근 가능한 컬럼 권한 정보 | 권한 총괄 보기 |
| ALL_COL_PRIVS_MADE | 내가 타인에게 부여한 컬럼 권한 | 부여 내역 확인 |
| ALL_COL_PRIVS_RECD | 내가 받은 컬럼 권한 | 수신 권한 확인 |
5. 보안 점검과 개발 활용
- 보안 감사용 로그 생성: 정기적으로 컬럼 권한 내역을 백업하여 감사 이력 확보
- 개발 중 권한 체크: 프로시저, 뷰, 트리거 등에서 필요한 컬럼 권한이 누락되었는지 확인
- 예외 처리 강화: 권한 부여 누락으로 인한 ORA-00942 오류 예방
6. 자주 사용하는 권한 유형
| 권한 유형 | 설명 |
|---|---|
| SELECT | 해당 컬럼을 조회할 수 있는 권한 |
| UPDATE | 해당 컬럼의 값을 수정할 수 있는 권한 |
| INSERT | 데이터 입력 시 해당 컬럼 값을 지정할 수 있는 권한 |
| REFERENCES | 해당 컬럼을 외래키로 참조할 수 있는 권한 |
7. 실무 팁
- 스크립트 자동화: 특정 날짜 기준으로 권한 내역을 추출하는 스크립트 작성 권장
- 문서화 관리: 부여받은 권한은 프로젝트 문서에 정리하여 팀원들과 공유
- 재부여 차단: 불필요한 GRANTABLE 권한은 NO로 설정해 보안 유지
8. 결론
ALL_COL_PRIVS_RECD는 현재 사용자 또는 소속 계정이 타인으로부터 부여받은 컬럼 권한을 명확히 파악할 수 있는 매우 중요한 뷰입니다. 시스템 개발, 보안 점검, 데이터 접근 제한 등의 업무에서 이 뷰를 정기적으로 모니터링하면 권한 누락이나 불필요한 오픈을 방지할 수 있습니다. 권한은 보안의 시작이자 끝입니다. 따라서 이 뷰를 통해 수신된 권한을 꼼꼼히 확인하고 관리하는 습관을 들이는 것이 오라클 운영의 핵심이라 할 수 있습니다.
9. 참고 자료
- Oracle Database 21c Reference – Oracle 공식 문서
- Oracle SQL Language Reference Manual
- 국내 금융권 DB 보안 실무 사례 (2019~2024)
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] ALL_DB_LINKS 뷰 완전 분석 : DB 링크 관리와 보안의 핵심 (0) | 2025.06.20 |
|---|---|
| [ORACLE] ALL_CONTEXT 완전 정복 : 컨텍스트 기반 보안 제어 핵심 가이드 (0) | 2025.06.20 |
| [ORACLE] ALL_COL_PRIVS_MADE 뷰 완전 분석 : 직접 부여한 컬럼 권한 추적 가이드 (0) | 2025.06.20 |
| [ORACLE] ALL_COL_PRIVS 뷰 완벽 가이드 : 실무에 바로 적용하는 보안 권한 조회법 (0) | 2025.06.20 |
| [ORACLE] ALL_COLL_TYPES 완전 분석 - 컬렉션 타입 구조 이해와 활용 (0) | 2025.06.19 |