传统的审计功能从大类别上又可以分为以下4类:
・操作系统审计(OS Auditing)即强制审计:
针对默SYSDBA/SYSOPER的数据连接,数据库实例启动和关闭等操作,无论审计是否有效,都会把记录保存在OS文件中
・标准审计(Standard Auditing):
包括有关权限、模式、对象和语句等操作的审计。
・DBA审计:
对SYS用户或持有SYSDBA/SYSOPER权限的用户的操作进行审计。
・细粒度审计(Fine Grained Auditing以后简称FGA):
(通过 Oracle9i 引入)可以理解为“基于政策的审计”,通过创建需要的条件来定制审计内容。
OS审计是一种强制审计,即无论审计是否有效以及如何设定,都会进行审计。
审计的内容主要包括对默SYSDBA/SYSOPER的数据连接,数据库实例启动和关闭操作。
DBA审计结果不保存在数据库中,而记录在OS文件中。
UNIX:输出的审计结果一般保存在audit_file_dest定义的路径下的OS文件( *.aud ) 中,如:
$ORACLE_BASE/admin/ORACLE_SID/adump/ora_*.aud 或
$ORACLE_HOME/rdbms/ora_*.aud
Windows:事件查看器(event view)的日志中。
OS审计的输出例如下(UNIX):
$ more ora11204_ora_19506_20160506115449755867143795.aud
Audit file /u01/app/oracle/admin/ora11204/adump/ora11204_ora_19506_20160506115449755867143795.aud
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1
System name: Linux
Node name: db11204
Release: 2.6.18-308.el5
Version: #1 SMP Fri Jan 27 17:17:51 EST 2012
Machine: x86_64
Instance name: ora11204
Redo thread mounted by this instance: 1
Oracle process number: 37
Unix process pid: 19506, image: oracle@db11204 (TNS V1-V3)
Fri May 6 11:54:49 2016 +09:00
LENGTH : '160'
ACTION :[7] 'CONNECT'★
DATABASE USER:[1] '/'
PRIVILEGE :[6] 'SYSDBA'
CLIENT USER:[6] 'oracle'
CLIENT TERMINAL:[5] 'pts/1'
STATUS:[1] '0'
DBID:[10] '1382856929'
Fri May 6 12:01:08 2016 +09:00
LENGTH : '161'
ACTION :[8] 'SHUTDOWN'★
DATABASE USER:[1] '/'
PRIVILEGE :[6] 'SYSDBA'
CLIENT USER:[6] 'oracle'
CLIENT TERMINAL:[5] 'pts/1'
STATUS:[1] '0'
DBID:[10] '1382856929'
Oracle 数据库在其标准版和企业版数据库中均提供了强健的审计支持。审计记录包括有关已审计的操作、执行操作的用户以及操作的时间和日期的信息。审计记录可以存储在数据库审计线索中或操作系统上的文件中。标准审计包括有关权限、模式、对象和语句的操作。
标准审计内容会根据标准审计级别设置不同而审计相应的内容。
标准审计级别如下图主要可以分为SQL语句、权限、对象以及网络4种级别。
标准审计的级别和作用
语句审计(Statement) :审计针对某种类型的数据库对象的操作语句,如审计某种DDL、DML文等。
权限审计(Privilege) :审计使用某种系统权限的语句,如审计Create table权限等
对象审计(Object) :审计针对某个数据库对象的操作语句,如审计SELECT ON emp等
网络审计(Network) :审计某些网络协议错误的发生。可审计的错误包括TNS-02507、TNS-12648、TNS-12649、TNS-12650
你可以通过AUDIT /NOAUDIT语法来配置标准审计,其主要语法如下:
AUDIT语法(11.2)
AUDIT
{ audit_operation_clause [ auditing_by_clause | IN SESSION CURRENT ]
| audit_schema_object_clause
| NETWORK
} [ BY { SESSION | ACCESS } ]
[ WHENEVER [ NOT ] SUCCESSFUL ]
;
audit_operation_clause:
{ { sql_statement_shortcut
| ALL
| ALL STATEMENTS
} [, { sql_statement_shortcut
| ALL
}
]
| { system_privilege
| ALL PRIVILEGES
} [, { system_privilege
| ALL PRIVILEGES
}
]
}
auditing_by_clause :
BY user [, user ]...
audit_schema_object_clause:
{ sql_operation [, object_option]
| ALL
} auditing_on_clause
auditing_on_clause:
ON { [ schema. ] object
| DIRECTORY directory_name
| MINING MODEL [ schema. ] model
| DEFAULT
}
NOAUDIT语法(11.2)
NOAUDIT
{ audit_operation_clause [ auditing_by_clause ]
| audit_schema_object_clause
| NETWORK
}
[ WHENEVER [ NOT ] SUCCESSFUL ] ;
audit_operation_clause :
{ { sql_statement_shortcut
| ALL
| ALL STATEMENTS
} [, { sql_statement_shortcut
| ALL
}
]
| { system_privilege
| ALL PRIVILEGES
} [, { system_privilege
| ALL PRIVILEGES
}
]
}
auditing_by_clause:
BY user [, user ]...
audit_schema_object_clause :
{ sql_operation [, object_option]
| ALL
} auditing_on_clause
auditing_on_clause :
ON { [ schema. ] object
| DIRECTORY directory_name
| MINING MODEL [ schema. ] model
| DEFAULT
}
数据库中和审计相关的初期化参数主要包括以下内容:
SQL> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/ora11204/adump
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string none
各参数主要意义:
AUDIT_TRAIL
AUDIT_TRAIL = { none | os | db [, extended] | xml [, extended] }
用于启用和无效审计功能,同时可以指定审计的保存。
可指定的值和意义如下:
NONE : 审计无效 (默认)
OS : 启用数据库审计并将所有审计记录保存在操作系统文件。
DB : 启用数据库审计并将所有审计记录保存在数据库审计表 (SYS.AUD$) 中(始终写入到操作系统审计文件的记录除外)。
DB, EXTENDED : 完成 AUDIT_TRAIL=DB 的全部操作并记录SQL 绑定变量和 SQL 文本,保存在数据库审计表 (SYS.AUD$) 中。
XML : 启用数据库审计并将所有审计记录以 XML 格式保存在操作系统文件。
XML, EXTENDED:完成 AUDIT_TRAIL=XML 的全部操作,并记录SQL 绑定变量和 SQL 文本。
AUDIT_FILE_DEST
AUDIT_FILE_DEST用于当AUDIT_TRAIL指定为OS、XML、或者XML, EXTENDED时即需要向OS路径保存审计记录时的路径。AUDIT_FILE_DEST指定的路径也用于强制审计的输出路径。
其默认值为:
$ORACLE_BASE/admin/ORACLE_SID/adump 或者$ORACLE_HOME/rdbms/audit.
AUDIT_SYS_OPERATIONS
AUDIT_SYS_OPERATIONS用于控制是否针对SYSDBA或SYSOPER权限登录的用户操作进行审计,其审计记录被保存在OS审计记录中。
其默认值为:False (不进行SYSDBA或SYSOPER权限登录的用户操作进行审计)
AUDIT_SYSLOG_LEVEL
AUDIT_SYSLOG_LEVEL用于调用操作系统SYSLOG工具,把审计日志写入OS的监视日志中。以防止拥有SYS或DBA权限的用户删除审计日志。
下面我们将通过一些例子,介绍各种审计在实际中的使用方法。
要使标准审计有效,需要设置audit_trail;并且审计相关的设定变更,都需要重启数据库。
本例中设置audit_trail为DB,即将审计记录保存在数据库审计表 中。
SQL> conn / as sysdba
Connected.
SQL> alter system set audit_trail=DB scope=spfile;
System altered.
SQL> alter system set audit_sys_operations =false scope=spfile;
System altered.
SQL> shutdown abort
ORACLE instance shut down.
SQL>
SQL> startup
ORACLE instance started.
Total System Global Area 838860800 bytes
Fixed Size 2929936 bytes
Variable Size 729811696 bytes
Database Buffers 100663296 bytes
Redo Buffers 5455872 bytes
Database mounted.
Database opened.
SQL> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/ora12102/adump
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string DB
unified_audit_sga_queue_size integer 1048576
--有效
SQL> audit session;
Audit succeeded.
--无效
SQL> noaudit session;
Noaudit succeeded.
--审计所有对scott.emp表的Select操作
SQL> audit select on scott.emp ;
Audit succeeded.
--无效审计
SQL> noaudit select on scott.emp;
Noaudit succeeded.
--审计用户scott使用 alter table权限的操作
SQL> audit alter table by scott;
Audit succeeded.
--无效审计
SQL> noaudit alter table by scott;
Noaudit succeeded.
--审计所有更新表的SQL文
SQL> audit update table ;
Audit succeeded.
--无效审计
SQL> noaudit update table ;
Noaudit succeeded.
--有效网络审计
SQL> audit network by access;
Audit succeeded.
--无效审计
SQL> noaudit network;
Noaudit succeeded.
可以通过以下监视视图,进行查看数据库中都设定了的审计:
DBA_STMT_AUDIT_OPTS:查看语句审计的结果
DBA_PRIV_AUDIT_OPTS:查看权限审计的结果
DBA_OBJ_AUDIT_OPTS :查看对象审计的结果
例如:查看某个对象设定的审计。
--设定对象scott.emp上的审计
SQL> audit select on scott.emp;
Audit succeeded.
--查看对象审计
SQL> select * from DBA_OBJ_AUDIT_OPTS;
OWNER OBJECT_NAME OBJECT_TYPE ALT AUD COM DEL GRA IND INS LOC REN SEL UPD REF EXE CRE REA WRI FBK
---------- ------------- ------------- ----- ----- ------ ----- ----- ---- ---- ----- ----- ----- ----- --- ----- ----- ----- ---- -----
SCOTT EMP TABLE -/- -/- -/- -/- -/- -/- -/- -/- -/- S/S -/- -/- -/- -/- -/- -/- -/-
--无效对象scott.emp上的审计
SQL> noaudit select on scott.emp;
Noaudit succeeded.
SQL> select * from DBA_OBJ_AUDIT_OPTS;
no rows selected
※ DBA_OBJ_AUDIT_OPTS内容的意义:
-/-: no default auditing
S/-: auditing whenever successful
-/S: auditing whenever not successful
另外,还有一些有用的视图:
STMT_AUDIT_OPTION_MAP :用于判断都可以针对语句审计可以设定哪些类型的权限。
SYSTEM_PRIVILEGE_MAP :用于判断都可以针对权限审计可以设定哪些类型的权限。
ALL_DEF_AUDIT_OPTS :用于显示当对象被创建时,默认的审计内容。
(也可用来判断都可以针对对象设定哪些类型的审计)
TABLE_PRIVILEGE_MAP :用于判断都可以针对表可以设定哪些类型的权限。
执行例如下:(11.2.0.4)
SQL> select * from STMT_AUDIT_OPTION_MAP;
OPTION# NAME PROPERTY
---------- ---------------------------------------- ----------
3 ALTER SYSTEM 0
4 SYSTEM AUDIT 0
...
350 FLASHBACK ARCHIVE ADMINISTER 0
351 EXEMPT REDACTION POLICY 0
271 rows selected.
版权声明:本文为博主原创文章,转载必须注明出处,本人保留一切相关权力!http://blog.csdn.net/lukeunique
Oracle提供的对SYS用户或持有SYSDBA/SYSOPER权限的用户的操作内容进行审计的功能。
DBA审计主要可以审计SYS用户或持有SYSDBA/SYSOPER权限的连接用户的所有操作。
但是对于持有DBA角色的用户的操作不会被审计。
DBA审计可以通过以下2个参数来控制:
・AUDIT_SYS_OPERATIONS
当AUDIT_SYS_OPERATIONS设为True时,DBA审计有效。默认:FALSE
・AUDIT_FILE_DEST
用于控制DBA审计结果的输出位置。
DBA审计结果不保存在数据库中,而记录在OS文件中。
UNIX:输出的审计结果一般保存在audit_file_dest定义的路径下的OS文件( *.aud ) 中,如:
$ORACLE_BASE/admin/ORACLE_SID/adump/ora_*.aud 或
$ORACLE_HOME/rdbms/ora_*.aud
Windows:事件查看器(event view)的日志中。
细粒度审计(FGA)功能定制的审计策略,除了可以指定对象(Object)外,还可以追加以下的条件:
1.表或者视图的列
通过指定表或者视图的某个/某些列,来限定审计内容(audit_column)
2.SQL谓语条件
通过指定SQL文的谓语条件(Where句),来限定审计内容(audit_condition)
当某查询或操作语句满足审计策略条件时,FGA功能就根据审计策略的设定内容把相应的审计结果保存到相应地方去:
・SYS.FGA_LOG$表
FGA的审计结果会保存在SYS.FGA_LOG$表中。
可以通过SYS.DBA_FGA_AUDIT_TRAIL视图查看。
・自定义的Event Handler
通过自定义一个Event Handler的Function(自定义处理内容),并作为参数值传递给参数handler_module,来自定义一些输出内容。
(之后的例子中会做简单的介绍)
※当DBMS_FGA.ADD_POLICY的参数audit_trail指定为DBMS_FGA.XML或DBMS_FGA.XML + DBMS_FGA.EXTENDED时,会把FGA的审计结果以XML格式保存在操作系统中。
FGA随着版本的演变也得到了一些功能强化。
9i版本:
・仅能针对Select语句进行FGA审计
10g版本以后:
・可以针对DML语句(INSERT、UPDATE、DELETE、MERGE)进行FGA审计。
・可以支持audit_column定义多个列,并追加了audit_column_opts => DBMS_FGA.ALL_COLUMNS / DBMS_FGA.ANY_COLUMNS 用于控制审计条件在访问任何一个列(Any)、 或者是访问所有列(Any)(All)时被触发。
・支持把SQL Text和SQL 绑定变量写入LOBs中
细粒度审计(FGA)功能仅在 Enterprise Edition版本上有效。
FGA主要通过DBMS_FGA程序包进行设置和相应的维护操作,主要程序方法包括以下内容:
・ADD_POLICY --- 设定审计策略
・DROP_POLICY --- 删除审计策略
・ENABLE_POLICY --- 使审计策略有效
・DISABLE_POLICY --- 使审计策略无效
关于设定审计策略方法ADD_POLICY 的详细如下:
Database PL/SQL Packages and Types Reference 11,.2
>ADD_POLICY Procedure
DBMS_FGA.ADD_POLICY(
object_schema VARCHAR2, --审计的Schema名
object_name VARCHAR2, --审计的对象名
policy_name VARCHAR2, --审计策略名
audit_condition VARCHAR2, --审计的条件(SQL文的WHERE句)
audit_column VARCHAR2, --访问监视的列
handler_schema VARCHAR2, --包含Event Handler的Schema,默认为当前Schema
handler_module VARCHAR2, --Event Handler的Function、Package名(当符合条件的审计发生时,会执行这个Function)
enable BOOLEAN, --TRUE:审计策略有效
statement_types VARCHAR2,--SQL文类型(INSERT、UPDATE、DELETE或SELECT)默认:select
audit_trail BINARY_INTEGER IN DEFAULT,--审计输出场所(DB、xml、extended)
audit_column_opts BINARY_INTEGER IN DEFAULT);--控制audit_column的条件为Any或all
1.建立测试用户teacherwhat,并赋予相关的权限。
SQL> CREATE USER teacherwhat IDENTIFIED BY teacherwhat;
User created.
SQL> GRANT CONNECT, RESOURCE TO teacherwhat;
Grant succeeded.
SQL> GRANT EXECUTE ON sys.dbms_fga TO teacherwhat;
Grant succeeded.
SQL> GRANT SELECT ON sys.dba_audit_policies TO teacherwhat;
Grant succeeded.
SQL> GRANT SELECT ON sys.dba_audit_policy_columns TO teacherwhat;
Grant succeeded.
SQL> GRANT SELECT, DELETE ON sys.dba_fga_audit_trail TO teacherwhat;
Grant succeeded.
2.连接测试用户teacherwhat,并建立和指定用于存储自定义的Event Handler审计内容的表
以及Event Handler的Function。
需要注意的是,当定义Event Handler的Function时,必须包含3个参数,
其含义依次为审计对象的Schema名、审计对象名、审计策略名;其他内容可以自定义。
SQL> CONNECT teacherwhat/teacherwhat
Connected.
SQL> CREATE TABLE teacherwhat.event_handler_result(
dbuser VARCHAR2(20) DEFAULT SYS_CONTEXT('USERENV', 'SESSION_USER'),
osuser VARCHAR2(20) DEFAULT SYS_CONTEXT('USERENV', 'OS_USER'),
table_name VARCHAR2(20),
timestamp DATE DEFAULT SYSDATE,
policy VARCHAR2(25));
2 3 4 5 6
Table created.
SQL> CREATE OR REPLACE PROCEDURE teacherwhat.event_handler_function(
schema_name VARCHAR2,
table_name VARCHAR2,
policy_name VARCHAR2)
IS
BEGIN
INSERT INTO teacherwhat.event_handler_result (table_name, policy)
VALUES(table_name, policy_name);
END;
/ 2 3 4 5 6 7 8 9 10
Procedure created.
在自定义的Event Handler审计内容的表中使用了SYS_CONTEXT,主要用于取得会话中的相关信息。
SYS_CONTEXT详细可参考如下文档:
Database SQL Language Reference 11.2
>SYS_CONTEXT
3.定义FGA策略,指定相关参数。
SQL> BEGIN
DBMS_FGA.ADD_POLICY(
object_schema => 'scott',
object_name => 'dept',
policy_name => 'scott_dept_policy',
audit_condition => 'deptno = 30',
audit_column => 'dname',
handler_schema => 'teacherwhat',
handler_module => 'event_handler_function',
enable => TRUE);
END;
/ 2 3 4 5 6 7 8 9 10 11 12
PL/SQL procedure successfully completed.
4.查看定义好的FGA策略,
针对SCOTT.DEPT的DNAME列并且Where条件为deptno = 30的SQL文进行审计:
SQL> select * from DBA_AUDIT_POLICY_COLUMNS ;
OBJECT_SCHEMA OBJECT_NAME POLICY_NAME POLICY_COLUMN
---------------- --------------- --------------------- ---------------
SCOTT DEPT SCOTT_DEPT_POLICY DNAME
SQL> col POLICY_TEXT format a20
SQL> select * from DBA_AUDIT_POLICIES;
OBJECT_SCHEMA OBJECT_NAME POLICY_OWNER POLICY_NAME POLICY_TEXT POLICY_COLUMN PF_SCHEMA PF_PACKAGE PF_FUNCTION ENA SEL INS UPD DEL AUDIT_TRAIL POLICY_COLU
---------------- ------------- --------------- ------------------- ------------- --------------- ------------- ------------------- -------------- --- --- --- --- --- ------------ -----------
SCOTT DEPT TEACHERWHAT SCOTT_DEPT_POLICY deptno = 30 DNAME TEACHERWHAT EVENT_HANDLER_FUNCTION YES YES NO NO NO DB+EXTENDED ANY_COLUMNS
5.测试开始前,查看相关的审计结果为空:
SQL> SELECT * FROM sys.dba_fga_audit_trail;
no rows selected
SQL> SELECT * FROM teacherwhat.event_handler_result;
no rows selected
6.1 用scott用户连接,查询只满足Where条件的SQL文(不访问列audit_column列)
SQL> conn scott/tiger
SQL> SELECT deptno FROM scott.dept WHERE deptno = 30;
DEPTNO
----------
30
6.2 查看相关的审计结果记录
SQL> col SQL_TEXT format a40
SQL> col OS_USER format a20
SQL> col OBJECT_NAME format a20
SQL> col CLIENT_ID format a20
SQL> SELECT SESSION_ID,TIMESTAMP,DB_USER,OS_USER,OBJECT_SCHEMA,CLIENT_ID,POLICY_NAME,SQL_TEXT FROM sys.dba_fga_audit_trail;
no rows selected
SQL> SELECT * FROM teacherwhat.event_handler_result;
no rows selected
无相关审计结果记录
7.1 用scott用户连接,满足Where条件的SQL文并且访问列audit_column列DNAME。
SQL> SELECT deptno,DNAME FROM scott.dept WHERE deptno = 30;
DEPTNO DNAME
---------- --------------
30 SALES
7.2 查看相关的审计结果记录
SQL> SELECT SESSION_ID,TIMESTAMP,DB_USER,OS_USER,OBJECT_SCHEMA,CLIENT_ID,POLICY_NAME,SQL_TEXT FROM sys.dba_fga_audit_trail;
SESSION_ID TIMESTAMP DB_USER OS_USER OBJECT_SCHEMA CLIENT_ID POLICY_NAME SQL_TEXT
---------- --------- ------------------------------ -------------------- ------------------------------ -------------------- ------------------------------ ----------------------------------------
820166 09-JUL-16 SCOTT oracle SCOTT SCOTT_DEPT_POLICY SELECT deptno,DNAME FROM scott.dept WHER
E deptno = 30
SQL> SELECT * FROM teacherwhat.event_handler_result;
DBUSER OSUSER TABLE_NAME TIMESTAMP POLICY
-------------------- -------------------- -------------------- --------- -------------------------
SCOTT oracle DEPT 09-JUL-16 SCOTT_DEPT_POLICY
dba_fga_audit_trail中生成相关的审计记录,并且event_handler_result表存储了自定义的Event Handler审计内容。
8.1 用scott用户连接,满足Where条件的SQL文并且访问列audit_column列DNAME。
SQL> SELECT deptno,DNAME FROM scott.dept WHERE deptno BETWEEN 20 AND 40;
DEPTNO DNAME
20 RESEARCH
30 SALES
40 OPERATIONS
7.2 查看相关的审计结果记录
SQL> SELECT SESSION_ID,TIMESTAMP,DB_USER,OS_USER,OBJECT_SCHEMA,CLIENT_ID,POLICY_NAME,SQL_TEXT FROM sys.dba_fga_audit_trail;
SESSION_ID TIMESTAMP DB_USER OS_USER OBJECT_SCHEMA CLIENT_ID POLICY_NAME SQL_TEXT
---------- --------- ------------------------------ -------------------- ------------------------------ -------------------- ------------------------------ ----------------------------------------
820166 09-JUL-16 SCOTT oracle SCOTT SCOTT_DEPT_POLICY SELECT deptno,DNAME FROM scott.dept WHER
E deptno = 30
820166 09-JUL-16 SCOTT oracle SCOTT SCOTT_DEPT_POLICY SELECT deptno,DNAME FROM scott.dept WHER
E deptno BETWEEN 20 AND 40
SQL> SELECT * FROM teacherwhat.event_handler_result;
DBUSER OSUSER TABLE_NAME TIMESTAMP POLICY
-------------------- -------------------- -------------------- --------- -------------------------
SCOTT oracle DEPT 09-JUL-16 SCOTT_DEPT_POLICY
SCOTT oracle DEPT 09-JUL-16 SCOTT_DEPT_POLICY
由于deptno BETWEEN 20 AND 40这个条件时,也会访问DEPTNO=30的行,所以也会被审计到。
通过上面的例子,我们至今知道可以查看以下监视视图,确认FGA相关的信息:
DBA_FGA_AUDIT_TRAIL:查看FGA审计的结果
DBA_AUDIT_POLICIES :查看FGA的策略信息
DBA_AUDIT_POLICY_COLUMNS :查看FGA的策略的列信息
下面对传统审计的审计结果的存储进行一下汇总:
1.标准审计
・当AUDIT_TRAIL设置为db或者 db , extended时,标准审计的结果会存储在SYS.AUD$表中,并可以通过视图DBA_AUDIT_TRAIL来查看所有的审计数据。
视图DBA_AUDIT_TRAIL详细可参考在线文档:
[DBA_AUDIT_TRAIL](https://docs.oracle.com/cd/E11882_01/server.112/e40402/statviews_3081.htm#REFRN23023)
・当AUDIT_TRAIL设置为其他非NONE值(xml、OS等)时,标准审计的结果会存储在OS数据文件中。
2.DBA 审计
・当AUDIT_SYS_OPERATIONS设置为Ture时,针对SYSDBA或SYSOPER权限登录的用户操作进行审计,其审计记录被保存在OS文件中。
3.OS 审计
・对于一些强制的审计如:SYSDBA和SYSOPER的连接,数据库启动和关闭等操作,无论审计是否有效,都会把记录保存在OS文件中。
4.FGA 审计
・默认情况下FGA的审计结果通常会保存在SYS.FGA_LOG$表中。
可以通过SYS.DBA_FGA_AUDIT_TRAIL视图查看。
・当DBMS_FGA.ADD_POLICY的参数audit_trail指定为DBMS_FGA.XML或DBMS_FGA.XML + DBMS_FGA.EXTENDED时,会把FGA的审计结果以XML格式保存在操作系统中。
・如果通过自定义一个Event Handler的Function(自定义处理内容),并作为参数值传递给参数handler_module,来自定义一些输出内容,还会保存一些数据在自定义的表中。
在MOS文档Doc ID 1299033.1中,总结了关于各个参数的设定对审计结果保存路径的影响。
可参考下图:
通过以上的介绍我们了解了传统审计的基本概要,以及标准审计和细粒度审计(FGA)的一些知识。
关于传统审计(Traditional Auditing)的更加详细的内容,还可以参考11g、12c的在线文档。
Database Security Guide 11.2
>9 Verifying Security Access with Auditing
我们将在其他的章节中讲解讲解统一审计(12c)。
版权声明:本文为博主原创文章,转载必须注明出处,本人保留一切相关权力!http://blog.csdn.net/lukeunique
Database Security Guide 11.2
>9 Verifying Security Access with Auditing
Database PL/SQL Packages and Types Reference 11,.2
>ADD_POLICY Procedure