DM8:达梦数据库审计配置
2026/6/8 10:31:47 网站建设 项目流程

DM8:达梦数据库审计配置

  • 1 登陆审计用户
  • 2 查询审计日志
  • 3 配置审计
    • 3.1 配置语句级审计
      • 3.1.1 审计模式和表的创建、修改和删除。
      • 3.1.2 对 SYSDBA 创建用户成功进行审计。
      • 3.1.3 对用户 SYSDBA 进行表的修改和删除进行审计,不管失败和成功。
    • 3.2 取消语句级审计的系统过程
      • 3.2.1 取消对模式和表的创建、修改和删除的审计。
      • 3.2.2 取消对 SYSDBA 创建用户成功进行审计。
      • 3.2.3 取消对用户 SYSDBA 进行的表的修改和删除的审计。
    • 3.3审计某个用户下全部的数据库对象
      • 3.3.1 对 SYSDBA 对表 PERSON.ADDRESS 进行的添加和修改的成功操作进行审计。
      • 3.3.2 对 SYSDBA 对表 PERSON.ADDRESS 的 ADDRESS1 列进行的修改成功的操作进行审计。
    • 3.4 取消对象级审计的系统过程如下
      • 3.4.1 取消对 SYSDBA 对表 PERSON.ADDRESS 进行的添加和修改的成功操作的审计。
      • 3.4.2 取消对 SYSDBA 对表 PERSON.ADDRESS 的 ADDRESS1 列进行的修改成功操作的审计。
  • 4 删除审计日志文件
    • 4.1指定删除 2015-12-6 16:30:00 以前的普通审计文件
    • 4.2 指定删除 180天以前的普通审计文件
  • 5 关于审计设置的一些说明
  • 6 达梦数据库学习使用列表

1 登陆审计用户

  • 登陆审计用户 SYSAUDITOR 密码 SYSAUDITOR
    开启审计
SP_SET_ENABLE_AUDIT(1);

2 查询审计日志

SELECT*FROM"SYSAUDITOR"."V$AUDITRECORDS";

3 配置审计

3.1 配置语句级审计

  • (5.2.1 语句级审计的动作是全局的,不对应具体的数据库对象)
配置语句级审计的系统过程 VOID SP_AUDIT_STMT(TYPEVARCHAR(30),USERNAMEVARCHAR(128),WHENEVERVARCHAR(20))参数说明:TYPE语句级审计选项,即上表中的第一列 USERNAME 用户名,NULL表示不限制 WHENEVER 审计时机,可选的取值为:ALL所有的, SUCCESSFUL 操作成功时, FAIL:操作失败时

3.1.1 审计模式和表的创建、修改和删除。

-- 类型 用户名 失败和成功--记录全部用户对模式的操作SP_AUDIT_STMT('SCHEMA','NULL','ALL');--记录全部用户对表的 DDL操作SP_AUDIT_STMT('TABLE','NULL','ALL');

3.1.2 对 SYSDBA 创建用户成功进行审计。

SP_AUDIT_STMT('USER','SYSDBA','SUCCESSFUL');

3.1.3 对用户 SYSDBA 进行表的修改和删除进行审计,不管失败和成功。

SP_AUDIT_STMT('INSERT TABLE','SYSDBA','ALL');SP_AUDIT_STMT('UPDATE TABLE','SYSDBA','ALL');SP_AUDIT_STMT('DELETE TABLE','SYSDBA','ALL');

3.2 取消语句级审计的系统过程

  • 取消审计语句和设置审计语句进行匹配,只有完全匹配的才可以取消审计,否则无法取消审计。

3.2.1 取消对模式和表的创建、修改和删除的审计。

-- 取消全部用户对模式的操作记录SP_NOAUDIT_STMT('SCHEMA','NULL','ALL');-- 取消全部用户对表的 DDL操作记录SP_NOAUDIT_STMT('TABLE','NULL','ALL');

3.2.2 取消对 SYSDBA 创建用户成功进行审计。

SP_NOAUDIT_STMT('USER','SYSDBA','SUCCESSFUL');

3.2.3 取消对用户 SYSDBA 进行的表的修改和删除的审计。

SP_NOAUDIT_STMT('INSERT TABLE','SYSDBA','ALL');SP_NOAUDIT_STMT('UPDATE TABLE','SYSDBA','ALL');SP_NOAUDIT_STMT('DELETE TABLE','SYSDBA','ALL');

3.3审计某个用户下全部的数据库对象

  • (5.2.2 对象级审计发生在具体的对象上,需要指定模式名以及对象名)
SP_AUDIT_OBJECT('操作类型','用户名','模式名','表名','状态类型:全部all或成功SUCCESSFUL,或失败 FAIL');

3.3.1 对 SYSDBA 对表 PERSON.ADDRESS 进行的添加和修改的成功操作进行审计。

SP_AUDIT_OBJECT('INSERT','SYSDBA','PERSON','ADDRESS','SUCCESSFUL');SP_AUDIT_OBJECT('UPDATE','SYSDBA','PERSON','ADDRESS','SUCCESSFUL');

3.3.2 对 SYSDBA 对表 PERSON.ADDRESS 的 ADDRESS1 列进行的修改成功的操作进行审计。

SP_AUDIT_OBJECT('UPDATE','SYSDBA','PERSON','ADDRESS','ADDRESS1','SUCCESSFUL');

3.4 取消对象级审计的系统过程如下

  • 取消审计语句和设置审计语句进行匹配,只有完全匹配的才可以取消审计,否则无法取消审计。

3.4.1 取消对 SYSDBA 对表 PERSON.ADDRESS 进行的添加和修改的成功操作的审计。

SP_NOAUDIT_OBJECT('INSERT','SYSDBA','PERSON','ADDRESS','SUCCESSFUL');SP_NOAUDIT_OBJECT('UPDATE','SYSDBA','PERSON','ADDRESS','SUCCESSFUL');

3.4.2 取消对 SYSDBA 对表 PERSON.ADDRESS 的 ADDRESS1 列进行的修改成功操作的审计。

SP_NOAUDIT_OBJECT('UPDATE','SYSDBA','PERSON','ADDRESS','ADDRESS1','SUCCESSFUL');

4 删除审计日志文件

  • 审计文件默认存放在数据库的dm.ini中 SYSTEM_PATH 指定的路径,即数据库所在路径

4.1指定删除 2015-12-6 16:30:00 以前的普通审计文件

-- SP_DROP_AUDIT_FILE(TIME_STR, TYPE);-- TIME_STR:指定的时间字符串-- TYPE:审计文件类型,0 表示删除普通审计文件,1 表示删除实时审计文件SP_DROP_AUDIT_FILE('2015-12-6 16:30:00',0);

4.2 指定删除 180天以前的普通审计文件

-- SP_DROP_AUDIT_FILE(TIME_STR, TYPE);-- TIME_STR:指定的时间字符串-- TYPE:审计文件类型,0 表示删除普通审计文件,1 表示删除实时审计文件SP_DROP_AUDIT_FILE(now()-180,0);

5 关于审计设置的一些说明

/*
5.2.4 关于审计设置的一些说明
 只要审计功能被启用,系统级的审计记录就会产生;
 在进行数据库审计时,审计员之间没有区别,可以审计所有数据库对象,也可取消其他审计员的审计设置;
 语句级审计不针对特定的对象,只针对用户;
 对象级审计针对指定的用户与指定的对象进行审计;
 在设置审计时,审计选项不区分包含关系,都可以设置;
 在设置审计时,审计时机不区分包含关系,都可以进行设置;
 如果用户执行的一条语句与设置的若干审计项都匹配,只会在审计文件中生成一条审计记录。
*/

6 达梦数据库学习使用列表

达梦数据库学习使用列表 点击跳转

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询