본문 바로가기
Database/Oracle

[ORACLE] ALL_COL_PRIVS_RECD 완전 가이드 : 내가 받은 컬럼 권한 한눈에 파악하기

by Papa Martino V 2025. 6. 20.
728x90

내가 받은 컬럼 권한 한눈에 파악하기
[Oracle] ALL_COL_PRIVS_RECD

오라클 데이터베이스에서 보안과 접근 제어를 철저히 관리하려면, 현재 사용자에게 부여된 권한이 무엇인지 정확히 아는 것이 중요합니다. 특히 컬럼 단위의 권한은 세분화된 데이터 제어를 가능하게 하므로, 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