签到成功

知道了

CNDBA社区CNDBA社区

达梦 DM8 DCP 备考笔记(7) -- 审计操作

2022-10-30 23:21 2189 0 原创 DM 达梦
作者: dave

之前我们整理了DM DCP 的相关内容:

达梦 DM8 DCP 备考笔记(1) — 理论考试 说明
https://www.cndba.cn/dave/article/108708
达梦 DM8 DCP 备考笔记(2) — 分区表操作
https://www.cndba.cn/dave/article/108710
达梦 DM8 DCP 备考笔记(3) — 外部表操作
https://www.cndba.cn/dave/article/108711
达梦 DM8 DCP 备考笔记(4) — 同义词操作
https://www.cndba.cn/dave/article/108712
达梦 DM8 DCP 备考笔记(5) — 物化视图操作
https://www.cndba.cn/dave/article/108713
达梦 DM8 DCP 备考笔记(6) — 序列操作
https://www.cndba.cn/dave/article/108714

http://www.cndba.cn/dave/article/108715

本篇我们来看下达梦数据库中的审计的操作。 相关理论说明参考《DM8安全管理》的 第五章《审计》。

达梦数据库默认没有启用审计,所以要启用审计功能需要做2个配置,如下:

http://www.cndba.cn/dave/article/108715

1.打开审计开关。
2.对审计对象设置审计条件,否则不记录审计。

注意:审计的配置需要使用sysauditor用户操作,sysdba都会提示权限不足。

1 启用审计

达梦8中通过SP_SET_ENABLE_AUDIT(PARAM )设置,过程执行完成后,立即生效,param 有三种取值:

http://www.cndba.cn/dave/article/108715

0: 关闭审计(默认值)
1:打开普通审计
2:打开普通审计和实时审计,缺省值为 0.

设置为非0表示启用,0表示关闭:
关闭审计:sp_set_enable_audit(0);

[dave@www.cndba.cn DCP]$ disql sysauditor/dameng123

Server[LOCALHOST:5236]:mode is normal, state is open
login used time : 1.839(ms)
disql V8
SQL> sp_set_enable_audit(2);
DMSQL executed successfully
used time: 11.076(ms). Execute id is 56300.

SQL> SELECT PARA_NAME,PARA_VALUE FROM V$DM_INI WHERE PARA_NAME='ENABLE_AUDIT';

LINEID     PARA_NAME    PARA_VALUE
---------- ------------ ----------
1          ENABLE_AUDIT 2

used time: 11.467(ms). Execute id is 56301.
SQL>

2 设置审计条件

2.1 语句级别的审计:粗粒度

语句级审计的动作是全局的,不对应具体的数据库对象。

设置语法:sp_audit_stmt(type,username,whenever)http://www.cndba.cn/dave/article/108715

语法说明:

TYPE: 审计对象(表,视图,存储过程),有很多类型,具体参考官方手册。
Username: 用户,null 表示不限制
Whenever: 审计时机
ALL: 不管成功或是失败都审计
SUCCESSFUL:操作成功的时候审计
FAIL:操作失败的时候审计

示例:

SQL> sp_audit_stmt('UPDATE TABLE','CNDBA','ALL');
DMSQL executed successfully
used time: 4.078(ms). Execute id is 56302.
SQL>

关闭语句级审计:

SQL> sp_noaudit_stmt('UPDATE TABLE','CNDBA','ALL');
DMSQL executed successfully
used time: 3.767(ms). Execute id is 56303.
SQL>

2.2 对象审计:细粒度

对象级审计发生在具体的对象上,需要指定模式名以及对象名。

开对象审计:
设置语法:

sp_audit_object(type,username,schname,tvname,colname,whenever)http://www.cndba.cn/dave/article/108715

语法说明:

TYPE: 对象级审计选项
USERNAME:用户名
SCHNAME: 模式名,为空时设置null
TVNAME: 表、视图、存储过程名不能为空
COLNAME:列名
WHENEVER: 审计时机,可选的取值为:
ALL: 不管成功或是失败都审计
SUCCESSFUL:操作成功的时候审计
FAIL:操作失败的时候审计http://www.cndba.cn/dave/article/108715

http://www.cndba.cn/dave/article/108715

示例: 注意这两种写法,加列名和不加列名都可以执行http://www.cndba.cn/dave/article/108715

SQL> sp_audit_object('UPDATE','CNDBA','CNDBA','T1','ALL');
DMSQL executed successfully
used time: 4.191(ms). Execute id is 56306.

SQL> sp_audit_object('DELETE','CNDBA','CNDBA','T1','ID','ALL');
DMSQL executed successfully
used time: 4.027(ms). Execute id is 56307.
SQL>

验证:

SQL> desc t1

LINEID     NAME TYPE$       NULLABLE
---------- ---- ----------- --------
1          ID   INTEGER     N
2          NAME VARCHAR(20) Y

used time: 11.018(ms). Execute id is 56401.
SQL> select count(1) from t1;

LINEID     COUNT(1)
---------- --------------------
1          231

used time: 0.967(ms). Execute id is 56402.
SQL> delete from t1 where rownum<10;
affect rows 9

used time: 2.811(ms). Execute id is 56403.
SQL> commit;
executed successfully
used time: 1.986(ms). Execute id is 56404.
SQL>

查看审计记录:

http://www.cndba.cn/dave/article/108715
http://www.cndba.cn/dave/article/108715

SQL> select username, operation, sql_text from v$auditrecords where username='CNDBA';

LINEID     USERNAME OPERATION SQL_TEXT
---------- -------- --------- -------------------------------
1          CNDBA    EXECUTE   sp_set_enable_audit(2);
2          CNDBA    DELETE    delete from t1 where rownum<10;

used time: 1.105(ms). Execute id is 56308.
SQL>

关闭对象级审计:

SQL> sp_noaudit_object('DELETE','CNDBA','CNDBA','T1','ID','ALL');
DMSQL executed successfully
used time: 2.683(ms). Execute id is 56309.
SQL> sp_noaudit_object('UPDATE','CNDBA','CNDBA','T1','ALL');
DMSQL executed successfully
used time: 3.106(ms). Execute id is 56310.
SQL>

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2266
    原创
  • 3
    翻译
  • 579
    转载
  • 192
    评论
  • 访问:8101620次
  • 积分:4362
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ