oracle DB에서 audit_trail을 설정 하는 방법에 대해 알아보자
우선 oracle audit기능에 대해 설명해보자면.
AUDIT기능은 oracle DB의 사용자 행동을 감시하는 목적으로 사용된다.
이 기능을 통해 어떤 사용자가, 어떤 테이블을 언제 사용하고, 어떤 작업을 하는지 기록하여 확인할 수 있게된다
1. audit기능 활성화
-- DB에 sysdba로 접속한다.
sqlplus "/as sysdba"
-- audit_trail 파라미터 조회
show parameter audit_trail;
sqlplus 에서 show parameter명령어를 통해 audit_trail의 값을 확인한다.
현재 'NONE'으로 되어있다.
audit_trail에는 설정 할 수 있는 값이 3가지가 있다. 아래는 설정할 수 있는 값에 대한 설명이다.
* NONE : audit을 비활성화
* OS : audit의 결과를 os에 파일로 저장
* DB : audit의 결과를 DB (SYS.AUD$ 테이블)에 저장
* DB, EXTENDED : audit의 결과를 DB (SYS.AUD$ 테이블)에 저장 [DB와 다른점은 SQLBIND, SQLTEXT 추가 정보를 저장]
audit_trail을 "DB, EXTENDED"로 바꿔서 활성화 해보자
-- audit_trail 파라미터 DB, EXTENDED 로 변경
alter system set audit_trail=DB, EXTENDED scope=spfile;
shutdown immediate;
startup;
-- audit_trail 파라미터 변경된 것 확인
show parameter audit_trail;
이렇게 audit_trail의 값을 "DB, EXTENDED"로 변경했다.
2. audit의 종류
* Statement Auditing : create table, drop user등 sql문장에 대해 audit가능
format : AUDIT statement,[statement].. [By user[, user]] [by {session | access}] [whenever [not] successful]
* Privilege Auditing : 시스템 권한을 부여받은 사용자가 그 권한으로 사용한 모든 문장 감사 기능
foramt : AUDIT privilege,[privilege].. [By user[,user]] [by {session | access}] [whenever [not] successful]
* Object Auditing : 특정 스키마의 오브젝트에 수행되는 명령문 감사
format : AUDIT statement[,statement].. [By user[,user]] [by access {session | access}] [whenever [not] successful]
'DB (데이터베이스) > Oracle (오라클)' 카테고리의 다른 글
[Oracle] Oracle audit_trail로 object 접근 관리 이벤트 감사 방법 (0) | 2024.06.24 |
---|---|
[Oracle] oracle 특정 값 기준 계산하기 (SUMIF (0) | 2024.06.17 |
[Oracle] oracle listener 보안 설정 (0) | 2024.06.10 |
[Oracle] oracle audit_trail로 계정관리 이벤트 감사 방법 (0) | 2024.06.10 |
[Oracle] Oracle audit_trail로 계정 로그인 성공 및 실패 이벤트 감사 방법 (0) | 2024.06.03 |