达梦数据库-审计

千里之行始于足下,梦想不付之行动,终究是纸上谈兵

经过一段时间的达梦DCP培训让学习了好多支持点。让我对达梦的理解更加深刻。

今天为大家说一说达梦数据的审计系统

审计开关在达梦数据库dm.ini配置文件中。ENABLE_AUDIT来控制的,有三种取值

ENABLE_AUDIT=0 —关闭审计

ENABLE_AUDIT=1 —打开普通审计

ENABLE_AUDIT=2 —打开普通审计和实时审计

在普通版中,ENABLE_AUDIT=0 在安全版中,ENABLE_AUDIT=2

注意:审计开关必须由具有数据审计员权限的的管理员才能打开!!!

查询审计是否打开使用一下语句

SELECT * FROM V$DM_INI WHERE PARA_NAME='ENABLE_AUDIT'

达梦数据库的审计级别: 系统级、语句级、对象级

系统级:记录审计系统的关闭和启动。此级别无需用户进行设置,自动记录。

语句级:对数据库对象的特殊SQL或是语句组来审计。

对象级:审计作用在特殊对象上的语句。

打开审计:sp_set_para_value(1,'ENABLE_AUDIT',1);

查询审计是否打开: SELECT * FROM V$DM_INI WHERE PARA_NAME='ENABLE_AUDIT'

DM8打开审计方式 SP_SET_ENABLE_AUDIT(1);

语句级审计

打开语句级别的审计语法:SP_AUDIT_STMT(TYPE,USERNAME,WHENVER)

TYPE:审计选项

USERNAME:用户,nul表示不限制

WHENEVER:审计时机 ALL :所有的、 SUECCFUL:操作成功时、FAIL:操作失败时。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设置语句级别的审计 SP_AUDIT_STMT('TABLE','SYSDBA','ALL'); -- 审计SYSDBA用户下的表的操作权限。

注意:这里需要使用SYSAUDITOR这个用户去操作以上 SP_AUDIT_STMT(‘TABLE’,‘SYSDBA’,‘ALL’);命令才能执行。

查看语句级别审计是否执行成功:SELECT * FROM SYSAUDITOR."V$AUDITRECORDS" ;

注意这里需要需要用SYSAUDITOR用户进行查看。

SELECT * FROM SYSAUDITOR."V$AUDITRECORDS";

取消语句级别审计:SP_NOAUDIT_STMT('TABLE','SYSDBA','ALL');

对象级审计

对象级审计:是对数据对象的操作做审计,主要有INSERT、UPDATE、DELETE、SELECT、EXECUTE、MERGE
INTO、EXECUTE TRIGGER。

打开对象级别的审计语法:SP_AUDIT_OBJECT(TYPE,USERNAME,SCHNAME,TVNAME,COLNAME,WHENVER)

TYPE 对象级审计选项,即上表中的第一列 USERNAME 用户名 SCHNAME 模式名,为空时置‘null’ TVNAME
表、视图、存储过程名不能为空 COLNAME 列名 WHENEVER:审计时机 ALL :所有的、
SUECCFUL:操作成功时、FAIL:操作失败时。

在这里插入图片描述

设置语句级别的审计 SP_AUDIT_OBJECT('SELECT','SYSDBA','DMHR','EMPLOYEE','ALL'); 
-- 审计SYSDBA用户查看DMHR.EMPLOYEE这张表

注意:这里需要使用SYSAUDITOR这个用户去操作以上 SP_AUDIT_OBJECT('SELECT','SYSDBA','DMHR','EMPLOYEE','ALL');命令才能执行。

进行测试:SELECT * FROM DMHR.EMPLOYEE;

查看审计是否执行成功:SELECT * FROM SYSAUDITOR."V$AUDITRECORDS" ;

注意这里需要需要用SYSAUDITOR用户进行查看。

SELECT * FROM SYSAUDITOR."V$AUDITRECORDS";


取消对象级别审计:SP_NOAUDIT_OBJECT('SELECT','SYSDBA','DMHR','EMPLOYEE','ALL')

猜你喜欢

转载自blog.csdn.net/qq_33809566/article/details/107737675