ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 043-072

043-072

原创 Linux操作系统 作者:jbymy2000 时间:2012-03-15 03:34:10 0 删除 编辑
72. The SAVE_AMT column in the ACCOUNTS table contains the balance details of customers in a bank. As part of the year-end tax and interest calculation process, all the rows in the table need to be accessed. The bank authorities want to track access to the rows containing balance amounts exceeding $200,000, and then send an alert message to the administrator. Which method would you suggest to the bank for achieving this task?
A) implementing value-based auditing by using triggers
B) implementing fine-grained auditing with audit condition and event handler
C) performing standard database auditing to audit object privileges by setting the AUDIT_TRAIL parameter to EXTENDED
D) performing standard database auditing to audit SQL statements with granularity level set to ACCESS
答案:B
(warehouse)值的审计是通过数据库trigger
dbma_fga(fine-grained auditing) 精细粒度审计 能控制到列和行
trigger不能track select,但FGA可以, fga可以將使用者的操作具體操作記錄下來.
FGA精细审计,精确到行列的审计就要使用精细审计。FGA的审计信息,存放在$FGA_LOG中
show parameter audit
AUDIT_FILE_DEST =指示出审计的文件存放的路径信息
audit_sys_operations 默认值是FALSE,如果开启审计功能,这个参数需要修改为TRUE。
audit_syslog_level 语句:指定审计语句或特定类型的语句组
权限:使用审计语句指定系统权限,象AUDIT CREATE ANY TRIGGER 对象:在指定对象上指定审计语句,象ALTER TABLE on the emp table
AUDIT_TRAIL = NONE|DB|OS DB--审计信息记录到数据库中 OS--审计信息记录到操作系统文件中 NONE--关闭审计(默认值)
alter system set audit_sys_operations=TRUE scope=spfile;
alter system set audit_trail=db scope=spfile;
一个有趣的效果,就是所有sysdba权限下的操作都会被记录到这个/oracle/app/oracle/admin/ora10g/adump审计目录下。这也是为什么开启了审计功能后会存在一些开销和风险。
查看审计设置可以通过查询dba_obj_audit_opts视图来完成 select OWNER,OBJECT_NAME,OBJECT_TYPE,DEL,INS,SEL,UPD from dba_obj_audit_opts;
通过查询dba_audit_trail视图或者sys.aud$视图得到详细的审计信息,这种审计方法可以得到操作的时间,操作用户等较粗的信息
FGA:可以通过FGA得到操作的SQL语句级别的信息
exec dbms_fga.add_policy(object_schema=>'SEC', object_name=> 't_audit', policy_name=> 'check_t_audit',statement_types => 'INSERT, UPDATE, DELETE, SELECT');
对t_audit表增删改查操作一番,查看审计结果
select db_user,sql_text from dba_fga_audit_trail;
对象的审计object(object privilege)
select * from dba_obj_audit_opts (注意这个地方是obj)
audit select on tt by session;(sys用户除外,by session是缺省的)
同一个session执行相同语句只审计一次
audit select on tt by access whenever successfull; (whenever successfull好像不起作用)
sql的审计statement(sql)
audit table by test;
truncate table aud$ (aud$唯一一个sys用户下的表可以修改)
audit select on tt by session whenever not successfull;
select * from dba_stmt_audit_opts (权限的审计都在里面,但表不在权限里)
dbma_fga(fine-grained auditing) 精细粒度审计 能控制到列和行
select * from dba_common_audti_trail 包含标准和精细审计(标准审计,不会捕获真实的值)
(需实验)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11312660/viewspace-718570/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 042-067
下一篇: 042-075
请登录后发表评论 登录
全部评论

注册时间:2012-01-10

  • 博文量
    416
  • 访问量
    214031