Auditing이란?
Auditing이란?
Database user와 nondatabase user 모두에서 구성된 데이터베이스 작업을 모니터링하고 기록하는 것입니다.
(nondatabase user? CLIENT_IDENTIFIER 속성을 사용하여 데이터베이스에서 인식되는 어플리케이션 사용자)
성공/실패 작업 모두에 대한 auditing을 구성하고, auditing에 특정 user를 포함하거나 제외할 수 있습니다. Multitenant 환경에서 PDB의 개별 작업 또는 전체 multitenant CDB의 개별 작업을 auditing 할 수 있습니다.
이러한 Auditing은 default가 enable입니다.
모든 audit records는 단일 형식으로 unified audit trail에 기록되며 UNIFIED_AUDIT_TRAIL view를 통해 사용할 수 있습니다.
이러한 records는 AUDSYS schema에 있습니다.
SYS user외에도 AUDIT_ADMIN and AUDIT_VIEWER role이 부여된 사용자는 UNIFIED_AUDIT_TRAIL view를 쿼리할 수 있습니다.
audit records는 기본적으로 SYSAUX tablespace에 저장됩니다. Oracle은 unified audit trail에 대해 다른 tablespace에 구성할 것을 권장합니다.(tablespace를 연결한 후에는 partitioning이 Enterprise Edition에서만 지원되므로 EE가 아닌경우, 수정할 수 없습니다.)
Oracle은 database에서 audit을 사용하길 권장합니다. Auditing은 Sarbanes-Oxley Act.에 정의된 규정 준수 요구 사항을 충족할 수 있도록 강력한 내부 통제를 시행하는 효과적인 방법입니다. 이를 통해 비즈니스 운영을 모니터링하고, 회사 정책에서 벗어날 수 있는 모든 활동을 찾을 수 있습니다.
Database에 write가 가능한 경우, audit records는 unified audit trail에 기록되고,
Database에 write가 불가능한 경우, $ORACLE_BASE/audit/$ORACLE_SID directory에 os file에 기록됩니다.
아래 내용은 데이터베이스 Auditing을 활성화하는 파라미터 AUDIT_TRAIL에 대한 설정 방법입니다.
Property
|
Description
|
Parameter type
|
String
|
Syntax
|
AUDIT_TRAIL = { none | os | db [, extended] | xml [, extended] }
|
Default value
|
none
|
Modifiable
|
No
|
Modifiable in a PDB
|
No
|
Basic
|
No
|
단, DBCA를 통해 데이터베이스를 생성한 경우에는 db가 Default value입니다.
(데이터베이스가 read-only mode라면 오라클이 내부적으로 os로 설정합니다.)
--DB를 재시작한 후부터 적용.
SQL> alter system set AUDIT_TRAIL=db, extended scope=spfile;
System altered.
참조:
Security Guide
Privileged users can create policies that track the changes that all users, including other privileged users, make in the database.
docs.oracle.com
Database Reference
AUDIT_TRAIL enables or disables database auditing.
docs.oracle.com