DM8:达梦数据库审计配置

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 指定删除 现在时间减 N天以前的普通审计文件
  • 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(
TYPE VARCHAR(30),
USERNAME VARCHAR (128),
WHENEVER VARCHAR (20)
)
参数说明:
TYPE 语句级审计选项,即上表中的第一列
USERNAME 用户名,NULL 表示不限制
WHENEVER 审计时机,可选的取值为: ALL所有的, SUCCESSFUL 操作成功时, FAIL:操作失败时

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

SP_AUDIT_STMT('TABLE', 'NULL', 'ALL');

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

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

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

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

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

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

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

SP_NOAUDIT_STMT('TABLE', 'NULL', 'ALL');

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

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

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

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('2015-12-6 16:30:00',0);

4.2 指定删除 现在时间减 N天以前的普通审计文件

SP_DROP_AUDIT_FILE(now()-1,0);--(待测试)

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

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

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

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

你可能感兴趣的:(数据库)