===== Specify Audit Options =====
==== 정의 ====
- Audit 명령을 사용하여 감사할 명령, 사용자, Objects, 권한을 지정하며, \\ Audit Record가 발생할 때마다 생성할지 Session 당 한번씩 생성 할지 결정 할 수 있다.
==== 옵션 ====
^ Options ^ Command ^ Description ^
^ SQL Statement Auditing | AUDIT TABLE ~ | DDL문의 유형에 따른 감사 설정 \\ Sucess/Failure 사용하여 제한가능 |
^ System privilege auditing | AUDIT CREATE ~ | 사용되는 권한에 따른 감사 설정 \\ 유저이름 또는 Sucess/Failure 사용하여 제한가능 |
^ Object privilege auditing | AUDIT ~ on schema.objectname | 특정 스키마의 개체의 명령문에 대한 감사 설정 \\ Sucess/Failure 사용하여 제한할 수 있으며 세션이나 액세스별 그룹화도 가능 |
^ NOAUDIT | NOAUDIT ~ | 설정한 감사 기능을 제거한다 |
==== 예제 ====
- Statement Auditing
* scott 사용자가 테이블에 관련된 명령(CREATE TABLE, DROP TABLE etc)이 성공한 경우 기록됨 AUDIT TABLE BY SCOTT BY ACCESS WHENEVER SUCCESSFUL;
- Privilege Auditing
* scott 사용자가 "CREATE TABLE" 권한이 필요한 명령을 수행한 경우 기록됨 AUDIT CREATE TABLE BY SCOTT BY SESSION;
- (Schema)Object Auditing
* scott.emp테이블에 대한 모든 명령(select, DML etc)에 관한 사항이 기록됨 AUDIT ALL ON SCOTT.EMP;
- NOAUDIT
* scott.emp테이블 설정한 감사 기능이 제거됨 NOAUDIT ALL ON SCOTT.EMP;
===== 기타 감사 관련 정보 =====
^ Execute Command | 감사 기능이 지정된 명령어를 사용자가 수행한다. \\ 즉, 사용자가 SQL or PL/SQL문을 실행 할 때 서버 프로세스는 \\ 감사 옵션을 검색하여 실행중인 문장이 감사 대상에 포함되는지 여부를 결정한다. |
^ Generate Audit Trail | AUDIT_TRAIL 파라미터에 정의된 값에 따라 OS의 파일 또는 DB 내에 SYS.AUD$에 AUDIT_TRAIL 레코드를 생성한다. \\ 이 작업은 사용자의 트랜잭션과 무관하므로 Transaction Rollback이 수행될지라도 AUDIT_TRAIL 레코드는 그대로 유지된다. \\ AUDIT_TRAIL 레코드는 구문의 execute 단계에서 생성되므로 Parsing 단계에서 오류가 발생되면 생성 되지 않는다. |
^ Review Audit Information | 감사 설정, 감사를 통해 생성된 정보는 Audit Trail Data Dictionary View를 통해 확인 할 수 있다. \\ OS에 생성된 Audit_trail인 경우 OS Utility를 사용해서 확인한다. \\ 이 정보를 토대로 의심이 가는 작업을 확인하거나 DB작업에 대한 모니터링을 할 수 있다. |