达梦数据库系列—49.审计功能

目录

1、打开审计

2、审计级别

系统级审计

语句级审计

对象级审计

3、审计文件管理

删除审计文件

查看审计信息

4、审计分析

审计分析工具Analyzer

审计分析工具dmaudtool


1、打开审计

  • 0:关闭审计
  • 1:打开普通审计
  • 2:打开普通审计和实时审计

//SYSAUDITOR/SYSAUDITOR

打开普通审计开关:

SP_SET_ENABLE_AUDIT (1);

查看审计开关当前值:

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

2、审计级别

审计级别

说明

系统级

系统的启动、关闭、部分系统事件以及一些系统过程和函数的调用,此级别的审计无法也无需由用户进行设置,只要审计开关打开就会自动生成对应审计记录

语句级

导致影响特定类型数据库对象的特殊 SQL 或语句组的审计。如 AUDIT TABLE 将审计 CREATE TABLE、ALTER TABLE 和 DROP TABLE 等语句

对象级

审计作用在特殊对象上的语句。如 test 表上的 INSERT 语句

系统级审计

系统级审计无法无需由用户进行设置,只要审计开关打开就会自动生成对应审计记录。

数据库系统启动关闭、审计空间不足告警、数据库版本升级等。

语句级审计

语句级审计的动作只针对用户,不对应具体的数据库对象。

审计选项

审计的数据库操作

说明

ALL

所有的语句级审计选项

所有可审计操作

USER

CREATE USER
ALTER USER
DROP USER

创建/修改/删除用户操作

ROLE

CREATE ROLE
DROP ROLE

创建/删除角色操作

TABLESPACE

CREATE TABLESPACE
ALTER TABLESPACE
DROP TABLESPACE

创建/修改/删除表空间操作

SCHEMA

CREATE SCHEMA
DROP SCHEMA
SET SCHEMA

创建/删除/设置当前模式操作

TABLE

CREATE TABLE
ALTER TABLE
DROP TABLE
TRUNCATE TABLE

创建/修改/删除/清空基表操作

VIEW

CREATE VIEW
ALTER VIEW
DROP VIEW

创建/修改/删除视图操作

INDEX

CREATE INDEX
DROP INDEX

创建/删除索引操作

PROCEDURE

CREATE PROCEDURE
ALTER PROCEDURE
DROP PROCEDURE

创建/修改/删除存储模块操作

TRIGGER

CREATE TRIGGER
ALTER TRIGGER
DROP TRIGGER

创建/修改/删除触发器操作

SEQUENCE

CREATE SEQUENCE
ALTER SEQUENCE
DROP SEQUENCE

创建/修改/删除序列操作

CONTEXT

CREATE CONTEXT INDEX
ALTER CONTEXT INDEX
DROP CONTEXT INDEX

创建/修改/删除全文索引操作

SYNONYM

CREATE SYNONYM
DROP SYNONYM

创建/删除同义词

OPERATOR

CREATE OPERATOR
DROP OPERATOR

创建/删除自定义运算符

GRANT

GRANT

授予权限操作

REVOKE

REVOKE

回收权限操作

AUDIT

AUDIT

设置审计操作

NOAUDIT

NOAUDIT

取消审计操作

INSERT TABLE

INSERT INTO TABLE

表上的插入操作

UPDATE TABLE

UPDATE TABLE

表上的修改操作

DELETE TABLE

DELETE FROM TABLE

表上的删除操作

SELECT TABLE

SELECT FROM TABLE

表上的查询操作

EXECUTE PROCEDURE

CALL PROCEDURE

调用存储过程或函数操作

PACKAGE

CREATE PACKAGE
DROP PACKAGE

创建/删除包规范

PACKAGE BODY

CREATE PACKAGE BODY
DROP PACKAGE BODY

创建/删除包体

MAC POLICY

CREATE POLICY
ALTER POLICY
DROP POLICY

创建/修改/删除策略

MAC LEVEL

CREATE LEVEL
ALTER LEVEL
DROP LEVEL

创建/修改/删除等级

MAC COMPARTMENT

CREATE COMPARTMENT
ALTER COMPARTMENT
DROP COMPARTMENT

创建/修改/删除范围

MAC GROUP

CREATE GROUP
ALTER GROUP
DROP GROUP
ALTER GROUP PARENT

创建/修改/删除组,更新父组

MAC LABEL

CREATE LABEL
ALTER LABEL
DROP LABEL

创建/修改/删除标记

MAC USER

USER SET LEVELS
USER SET COMPARTMENTS
USER SET GROUPS
USER SET PRIVS

设置用户等级/范围/组/特权

MAC TABLE

INSERT TABLE POLICY
REMOVE TABLE POLICY
APPLY TABLE POLICY

插入/取消/应用表标记

MAC SESSION

SESSION LABEL
SESSION ROW LABEL
RESTORE DEFAULT LABELS
SAVE DEFAULT LABELS

保存/取消会话标记 设置会话默认标记 设置会话行标记

CHECKPOINT

CHECKPOINT

检查点(checkpoint)

SAVEPOINT

SAVEPOINT

保存点

EXPLAIN

EXPLAIN

显示执行计划

NOT EXIST

分析对象不存在导致的错误

DATABASE

ALTER DATABASE

修改当前数据库操作

CONNECT

LOGIN LOGOUT

登录/退出操作

COMMIT

COMMIT

提交操作

ROLLBACK

ROLLBACK

回滚操作

SET TRANSACTION

SET TRX ISOLATION
SET TRX READ WRITE

设置事务的读写属性和隔离级别

BACKUP

BACKUP DATABASE
BACKUP TABLESPACE
BACKUP TABLE
BACKUP ARCHIVE

库/表空间/表/归档备份操作

RESTORE

RESTORE TABLESPACE
RESTORE TABLE

表空间/表还原操作

DIMP

DIMP FULL
DIMP OWNER
DIMP SCHEMA
DIMP TABLE

逻辑导入:库级/用户级/模式级/表级

DEXP

DEXP FULL
DEXP OWNER
DEXP SCHEMA
DEXP TABLE

逻辑导出:库级/用户级/模式级/表级

FLDR

FLDR IN
FLDR OUT

FLDR 工具导入/导出

WARNING

AUD SPACE WARNING

审计剩余可用空间不足

KEY

CREATE KEY
DESTROY KEY

生成/销毁密钥

CRYPT

ENCRYPT
DECRYPT

数据加密/解密

DTS

DTS IN
DTS OUT

DTS 工具迁入/迁出

语法:SP_AUDIT_STMT(TYPE ,USERNAME ,WHENEVER )

TYPE 语句级审计选项,即上表中的第一列

USERNAME 用户名,NULL 表示不限制

WHENEVER 审计时机,可选的取值为:

  • ALL:所有的
  • SUCCESSFUL:操作成功时
  • FAIL:操作失败时

例:

表的删除、新建和清空的审计

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

取消对表的创建、修改、删除和清空的审计

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

对 SYSDBA 创建、修改、删除用户成功进行审计

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

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

SP_AUDIT_STMT('UPDATE TABLE', 'USER2', 'ALL');

SP_AUDIT_STMT('DELETE TABLE', 'USER2', 'ALL');

对象级审计

SP_AUDIT_OBJECT (

    TYPE VARCHAR(30),

    USERNAME VARCHAR (128),

    SCHNAME VARCHAR (128),

    TVNAME VARCHAR (128),

    WHENEVER VARCHAR (20)

)

TYPE 对象级审计选项,即上表中的第一列

USERNAME 用户名

SCHNAME 模式名,为空时置‘null’

TVNAME 表、视图、存储过程名不能为空

COLNAME 列名

WHENEVER 审计时机,可选的取值为:

  • ALL:所有的
  • SUCCESSFUL:操作成功时
  • FAIL:操作失败时

例:

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

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

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

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

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

3、审计文件管理

DM 审计信息存储在审计文件中。审计文件默认存放在数据库的 SYSTEM_PATH 指定的路径,即数据库所在路径。用户也可在 dm.ini 文件中添加参数 AUD_PATH 来指定审计文件的存放路径。

DM 的审计文件总存储空间大小由静态参数 AUDIT_SPACE_LIMIT 进行限制。

单个审计文件的大小可以通过动态参数 AUDIT_MAX_FILE_SIZE 指定。

删除审计文件

 SP_DROP_AUDIT_FILE(

    TIME_STR VARCHAR(128),

    TYPE INT

);

TIME_STR:指定的时间字符串

TYPE:审计文件类型,0 表示删除普通审计文件,1 表示删除实时审计文件

例:

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

SP_DROP_AUDIT_FILE('2015-12-6 16:30:00',0);

查看审计信息

审计设置信息都记录在数据字典表 SYSAUDITOR.SYSAUDIT 中

序号

数据类型

说明

1

LEVEL

SMALLINT

审计级别

2

UID

INTEGER

用户 ID

3

TVPID

INTEGER

表/视图/触发器/存储过程函数 ID

4

COLID

SMALLINT

列 ID

5

TYPE

SMALLINT

审计类型

6

WHENEVER

SMALLINT

审计情况

查看审计记录

// SYSAUDITOR/SYSAUDITOR

SELECT * FROM SYSAUDITOR.V$AUDITRECORDS WHERE USERNAME='SYSDBA';

4、审计分析

审计分析工具Analyzer

审计分析工具dmaudtool

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奥德彪的蕉

天不生我奥德彪,非洲无人拉香蕉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值