首页 > 数据库 > Oracle > Oracle安全机制--审记
审计是对选定的用户动作的监控和记录,通常用于:
审查可疑的活动。
例如:数据被非授权用户所删除,此时安全管理员可决定对该 数据库的所有连接进行审计,以及对数据库的所有表的成功地或不成功地删除进行审计。
监视和收集关于指定数据库活动的数据。例如:DBA可收集哪些被修改、执行了多少次逻辑的I/O等统计数据。
ORACLE支持三种审计类型:
[@more@]语句审计,对某种类型的SQL语句审计,不指定结构或对象。特权审计,对执行相应动作的系统特权的使用审计。
对象审计,对一特殊模式对象上的指定语句的审计。
ORACLE所允许的审计选择限于下列方面:
审计语句的成功执行、不成功执行,或者其两者。
对每一用户会话审计语句执行一次或者对语句每次执行审计一次。
对全部用户或指定用户的活动的审计。
当数据库的审计是使能的,在语句执行阶段产生审计记录。审计记录包含有审计的操作、用户执行的操作、操作的日期和时间等信息。审计记录可存在数据字典表(称为审计记录)或操作系统审计记录中。数据库审计记录是在SYS模式的AUD$表中。
摘:
Oracle 审计功能 简单介绍
在缺省情况下,系统的审计功能是关闭的。可以在INIT.ORA参数文件中将参数AUDIT_TRAIL设置为正整数来激活。
·使用SQL语句来挑选审计选择项;
·审计对该用户所拥有的表或视图的成功或不成功的存取企图;
·有选择的审计各种类型的SQL操作(SELECT、UPDATE、INSERT、DELETE);
·控制审计的程度(是以SESSION还是ACCESS为单位)。
·对成功的LOGON、LOGOFF、GRANT、REVOKE进行审计;
审计不成功的登陆、创建表、删除表、修改表、drop表,及其授权操作。
audit session whenever not successful;
audit create any table, delete any table, drop any table, alter any table by access ;
audit table by access ;
audit create user, alter user, drop user by access ;
audit grant table, grant procedure by access;
撤销所有审计:
noaudit all;
noaudit all privileges;
执行结果为select 'AUDIT ALL PRIVILEGES by '||a.granted_role||';' from dba_role_privs a where a.granted_role = 'DBA';的查询
或者直接用更简单的方式:
audit DBA;
DBA_AUDIT_TRAIL 审计追踪记录
DBA_AUDIT_SESSION SESSION审计记录
DBA_AUDIT_STATEMENT STATEMENT审计记录
DBA_AUDIT_OBJECT 对象审计记录
ALL_DEF_AUDIT_OPTS 所有缺省审计
DBA_STMT_AUDIT_OPTS 所有语句审计
DBA_PRIV_AUDIT_OPTS 所有权限审计
DBA_OBJ_AUDIT_OPTS 所有对象审计
SYS.AUD$ 是唯一保留审计结果的表。其它的都是视图。STMT_AUDIT_OPTION_MAP 包含有关审计选项类型代码的信息由SQL.BSQ 脚本在CREATEDATABASE 的时候创建
DBA_PRIV_AUDIT_OPTS 描述由用户正在审计的跨系统的当前系统权限
DBA_OBJ_AUDIT_OPTS 描述在所有对象上的审计选项
USER_OBJ_AUDIT_OPTS USER 视图描述当前用户拥有的所有对象上的审计选项.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/678020/viewspace-1043128/ ,如需转载,请注明出处,否则将追究法律责任。