본문 바로가기

IT/oracle

감사(Auditing)란?

감사(Auditing)란?

  - 의심가는 데이터베이스의 작업을 모니터링 하고, 기록 정보를 수집 하는 기능 입니다.

  - 어느시간때에 어떤 작업들이 주로 발생하는지, 어떤 작업을 누가 하는지 추적 할 수 있습니다.

  - 감사 작업을 하면, 감사 로그를 기록해야 하므로 시스템의 속도는 더 느려질 수 밖에 없습니다.

 

감사의 종류

문장 감사(Statement Auditing)

  CREATE TABLE, DROP USER등의 SQL문장에 대해서 Audit 할 수 있습니다.

문법

 
  AUDIT statment[,statement]..
     [BY user[,user]]
     [BY {SESSION|ACCESS}]
     [WHENEVER [NOT] SUCCESSFUL]
    

  - [BY user[,user]] : 감사할 유저

  - [BY {SESSION|ACCESS}] : 세션별로 할 것인지 ACCESS별로 할 것인지 선택

  - [WHENEVER [NOT] SUCCESSFUL] : 성공한 경우에만 감사 아니면 실패한 경우에 감사, 생략하면 성공/실패 둘다 감사

예제

 
-- scott 유저가 내리는 명령 중 테이블에 관련된 명령 
-- (CREATE TABLE, DROP TABLE)등이 성공한 경우 기록 됩니다.
SQL> AUDIT TABLE
     BY SCOTT 
     BY ACCESS 
     WHENEVER SUCCESSFUL;
    

 

권한 감사(Privilege auditing)

  권한 감사는 시스템권한을 감사 합니다 시스템권한을 부여받은 사용자가 그 권한으로 사용한 모든 문장들을 감사 합니다.

문법

 
  AUDIT privilege [,privilege]..
     [BY user[,user]]
     [BY {SESSION|ACCESS}]
     [WHENEVER [NOT] SUCCESSFUL]
    

예제

 
-- create table 권한에 대해서 감사가 실행 됩니다.
SQL> AUDIT create table 
     BY scott 
     BY ACCESS;
    

 

스키마 오브젝트 감사(Schema Object Auditing)

  특정스키마 오브젝트에 수행되는 명령문을 감사 합니다.

문법

 
  AUDIT statment[,statement]..
  ON {[schema.]object|DEFAULT}
     [BY {SESSION|ACCESS}]
     [WHENEVER [NOT] SUCCESSFUL]
    

예제

 
-- scott.emp 테이블에 대한 모든 명령(SELECT, DELETE, DROP 등)에 
-- 관한 사항이 기록 됩니다.
SQL> AUDIT ALL ON SCOTT.EMP;
    

 

감사의 활성화

  - init.ora 파일의 AUDIT_TRAIL 파라미터를 추가하고 DB를 shutdown/startup 해야 합니다.

  - initSID.ora 파일에 AUDIT_TRAIL = value

  value 에는 아래의 세가지가 올 수 있습니다.

① DB(TRUE)

  Audit Trail을 SYS.AUD$에 기록을 합니다. DB대신 TRUE로 지정을 해도 됩니다.

  SYS.AUD$ 테이블에서 얻을 수 있는 정보는 매우 많은데 대표적인 것으로 다음을 들 수 있다.
    - USER NAME : 오라클 유저 이름
    - SESSION ID : 오라클 세션 ID
    - TERMINAL ID : 유닉스 시스템 상의 터미날 ID
    - OBJECT NAME : 테이블, 뷰 등의 이름
    - ACTION ID : 명령 코드
    - DATE : 명령이 실행된 날짜,시간
    - COMPLETION CODE : 0 이면 성공, 실패하면 에러 코드

② OS

  감사 결과를 OS에 파일로 생성을 합니다. AUDIT_FILE_DEST파라미터에 지정된 디렉토리에 텍스트 파일로 생성이 됩니다.

③ NONE

  감사를 사용하지 않을때 설정을 합니다.

 

감사의 비 활성화

  AUDIT명령에서 선택한 감사를 정지시키려면 NOAUDIT문을 사용 합니다.

 

참고문헌

  • - Oracle 9i DBA Fundamentals I Volumn2
  • - Oracle Technical Bulletins No.10196 AUDITING 이란 무엇인가?

태그

문서에 대하여

  • - 강좌 URL : http://www.gurubee.net/lecture/1861
  • - 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
  • 구루비의 모든 강좌는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.


'IT > oracle' 카테고리의 다른 글

SYNONYM(동의어)  (0) 2015.04.06
기본 아키텍처  (0) 2015.04.06
DATA RECOVERY ADVISOR  (0) 2015.04.06
Automatic Workload Repository  (0) 2015.04.06
ASMM : 자동 공유 메모리 관리란?  (0) 2015.04.06
ARCHIVELOG 모드로 변경  (0) 2015.04.06
ARCHIVELOG 모드  (0) 2015.04.06
NOARCHIVELOG 모드  (0) 2015.04.06
Backup의 종류  (0) 2015.04.06
Oracle Backup And Recovery  (0) 2015.04.06