2> 权限审计: 对某一个系统权限的使用状况进行审计。这里强调系统权限()。
a. 使用audit语句定义权限审计语法如下:
audit privilege_name [by user_name]| [by session|access] [whenever [not] successful]
privilege_name: 表示系统权限名称
user_name: 表示用户名
例如:audit create table 可以表示对涉及creat table 权限的操作进行审计。
b. 使用noaudit语句取消权限审计
如:noaudit alter table by scott;
查看对哪些用户进行了权限Audit
select user_name, privilege,success,failure from dba_priv_audit_opts order by user_name;
3> 对象Audit:监视所有用户对某一个对象(表,视图...)的访问情况。对一个特殊模式对象上的DML(Data Manipulation Language)语句进行审计。记录作用在指定对象上的操作。
例如:audit select on scott.dept语句,表示对指定scott用户的dept表,Audit对其进行的select语句。
audit select,update,delete on scott.dept;
设置对象审计
audit schema_object_clause on schema [by session|access] [whenever [not] successful]
schema_object_clause: 指定对象访问的类型以及访问对象;
schema: 表示所属的用户名,或者所属的用户模式名称。
停止对用户对象进行审计: 使用noaudit
查询对象审计的信息:select username,timestamp,owner,action_name,obj_name from dba_audit_object;
审计相关的视图
dba_audit_trail:保存所有的audit trail,实际上它只是一个基于aud$的视图。其它的视图dba_audit_session,dba_audit_object,dba_audit_statement都只是dba_audit_trail的一个子集。
dba_stmt_audit_opts:可以用来查看statement审计级别的audit options,即数据库设置过哪些statement级别的审计。
dba_obj_audit_opts,dba_priv_audit_opts视图功能与之类似
all_def_audit_opts:用来查看数据库用on default子句设置了哪些默认对象审计。
[/code]
[code="java"]