标签:存储 acl 创建 不成功 tno 数据 parameter uid res
官方文档入口:
Security Guide
审计, 意味着捕获并且存储系统发生的信息,确实增加了系统的工作量。审计必须要专注于值得引起关心的事件。【审计必须集中,以便只捕获感兴趣的事件】适当的集中审计会对系统性能减少影响,相反则会对系统性能造成很大影响
1)功能:监控特定用户在database的action(操作)
2)审计种类
show parameter audit
audit_trail参数主要选项:
查看标准审计结果可以通过视图dba_audit_trail,该视图读取aud$内容
audit table;
按语句来审计,比如audit table会审计数据库中所有的create table, drop table, truncate table语句,执行成功或不成功都可审计
audit select any table;
按权限来审计,当用户使用了该权限则被审计,如执行grant select any table to a;当用户a访问了用户b的表时(如select * from b.t;)会用到select any table权限,故会被审计。用户访问自己的表不会被审计
audit update on scott.emp;
按对象审计,只审计on关键字指定对象的相关操作,如: aduit alter,delete,drop,insert ondamon.t by scott;这里会对damon用户的t表进行审计,但同时使用了by子句,所以只会对scott用户发起的操作进行审计
它拓展了标准数据库审计,不仅捕捉审计事件,还捕捉那些被insert,update 和 delete的值。由于基于值的审计是通过触发器来实现。所以可以选择哪些信息进入审计记录,比如只记录提交的信息
拓展了标准数据库审计,捕捉准确的SQL语句。审计访问特定行或特定列。操作可以使用dbms_fga包。精细审计一般不包括sys用户,目前EM中只有标准数据库审计,还没有包括基于值的审计和精细审计
drop user demo cascade;
grant connect,resource to demo identified by oracle;
create table scott.emp1 as select * from scott.emp;
grant all on scott.emp1 to demo;
desc dbms_fga
begin
dbms_fga.add_policy(
object_schema=>‘scott‘,
object_name=>‘emp1‘,
policy_name=>‘chk_emp1‘,
audit_condition =>‘deptno=20‘,
audit_column =>‘sal‘,
statement_types =>‘update,select‘);
end;
/
select * from emp1 where deptno=20;
update scott.emp1 set sal=8000 where empno=7902;
select empno,ename from scott.emp1 where deptno=20;
缺少sal列,不审计
select empno,ename,sal from scott.emp1 where deptno=20;
虽然符合条件, 但默认不审计 sys
sys查询
col db_user for a10
col sql_text for a60
select db_user,to_char(timestamp,‘yyyy-mm-dd hh24:mi:ss‘) "time" ,sql_text from dba_fga_audit_trail;
可以看出,必须同时满足了所有审计条件(前面定义的)才能入选。另外没有审计SYS
exec dbms_fga.drop_policy(object_schema=>‘scott‘,object_name=>‘emp1‘,policy_name=>‘chk_emp1‘);
清除审计记录
truncate table fga_log$;
标签:存储 acl 创建 不成功 tno 数据 parameter uid res
原文地址:https://www.cnblogs.com/jsxxd/p/14931590.html