oracle 精确审计,Oracle fgs(精细审计)使用

Oracle fgs(精细审计)使用

1)grant execute on dbms_fga to scott

2)添加审计策略(scott)

begin

DBMS_FGA.ADD_POLICY(

object_schema => 'scott',

object_name => 'emp',

policy_name=> 'chk_hr_emp2',

audit_condition => 'job = ''SALESMAN'' ',

audit_column => 'sal',

statement_types => 'insert,update,delete,select');

end;

或者

begin

DBMS_FGA.ADD_POLICY (

object_schema      =>  'scott',

object_name        =>  'emp',

policy_name        =>  'mypolicy1',

audit_condition    =>  'sal < 100',    #如果是insert操作,则要满足该条件才能产生审计条目

audit_column       =>  'comm,sal',     #要对这两列同时update时无需符合上面的条件,无需提交,就有审计条目产生

handler_schema     =>   NULL,

handler_module     =>   NULL,

enable             =>   TRUE,

statement_types    =>  'INSERT, UPDATE',

audit_trail        =>   DBMS_FGA.XML + DBMS_FGA.EXTENDED,

audit_column_opts  =>   DBMS_FGA.ANY_COLUMNS);

end;

Check db enable fga information:

select * from DBA_AUDIT_POLICIES;

3)对emp表进行操作,只要条件中有用到job=SALESMAN'或者访问了sal列,都产生审计的条目

select * from emp where sal=1000;

select * from emp where job='SALESMAN';

4)查看审计结果(只有audit_trail=db才有数据),DBA_FGA_AUDIT_TRAIL的数据来源于SYS.FGA_LOG$:

SQL> select LSQLTEXT,OBJ$SCHEMA,OBJ$NAME ,POLICYNAME  from SYS.FGA_LOG$;

SQL> select count(*) from DBA_FGA_AUDIT_TRAIL;

5)AUDIT_TRAIL=os 则审计的信息产生在操作系统目录下,与以前的audit一样

6)删除审计策略:

QL> begin

DBMS_FGA.DROP_POLICY ('scott','emp','mypolicy1');

end;

7)disable审计策略:

bein

DBMS_FGA.DISABLE_POLICY (

object_schema   =>  'scott',

object_name     =>  'emp',

policy_name     =>  'mypolicy1');

end;

8)enable审计策略:

begin

DBMS_FGA.ENABLE_POLICY (

object_schema    =>  'scott',

object_name      =>  'emp',

policy_name      =>  'mypolicy1',

enable           =>   TRUE);

end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值