配置语句审计¶
语句审计表示对所有用户在所有对象执行的特定SQL语句进行审计。如审计DELETE语句,表示所有用户对系统中所有对象进行的DELETE操作进行审计。
语法¶
配置语句审计(需要以系统审计管理员身份执行)
audit_statement ::=
取消语句审计(需要以系统审计管理员身份执行)
参数¶
statement_opt
表示对某一类SQL语句进行审计,见下表"提供审计支持的SQL语句"。这里不允许指定用户列表或对象列表。
ALL
表示对下表中的所有类型语句进行审计。
提供审计支持的SQL语句
| 名称 | 功能描述 |
|---|---|
| ALTER PACKAGE | 修改包头 |
| ALTER PACKAGE BODY | 修改包体 |
| ALTER SCHEMA | 修改模式 |
| ALTER SEQUENCE | 修改序列 |
| ALTER TABLE | 修改表的定义 |
| ALTER TABLESPACE | 修改表空间 |
| ALTER TRIGGER | 修改触发器名称 |
| ALTER USER | 修改用户 |
| BULK | 进行大批量数据导入 |
| CALL | 执行一个过程或函数 |
| COMMENT | 定义或者改变一个对象的评注 |
| CREATE DOMAIN | 定义一个新域 |
| CREATE INDEX | 定义一个新的索引 |
| CREATE PACKAGE | 定义一个新的包头 |
| CREATE PACKAGE BODY | 定义一个新的包体 |
| CREATE PROCEDURE | 定义一个新的存储过程 |
| CREATE ROLE | 定义一个新的角色 |
| CREATE SCHEMA | 定义一个新的模式 |
| CREATE SEQUENCE | 定义一个新的序列 |
| CREATE TABLE | 定义一个新的表 |
| CREATE TABLE AS | 从一条查询语句结果中定义一个新表 |
| CREATE TABLESPACE | 定义一个新的表空间 |
| CREATE TRIGGER | 定义一个新的触发器 |
| CREATE USER | 定义一个新的数据库用户 |
| CREATE VIEW | 定义一个新的视图 |
| DELETE | 删除一个表中的行 |
| DROP DOMAIN | 删除一个用户定义的域 |
| DROP INDEX | 删除一个索引 |
| DROP PACKAGE | 删除一个包 |
| DROP PROCEDURE | 删除一个用户定义的存储过程 |
| DROP ROLE | 删除一个角色 |
| DROP SCHEMA | 删除模式 |
| DROP SEQUENCE | 删除一个序列 |
| DROP TABLE | 删除一个表 |
| DROP TABLESPACE | 删除一个表空间 |
| DROP TRIGGER | 删除一个触发器定义 |
| DROP USER | 删除一个数据库用户 |
| DROP VIEW | 删除一个视图 |
| EXEC | 执行一个过程或函数 |
| GRANT | 为一个用户/角色授予权限 |
| GRANT ROLE | 为一个用户授予角色 |
| INSERT | 在表中插入新行 |
| RESET | 把一个运行时的参数值恢复为缺省值 |
| REVOKE | 将授予一个用户/角色的权限收回 |
| REVOKE ROLE | 将授予一个用户的角色收回 |
| SELECT | 从表、视图或序列中取出若干行、列 |
| SELECT INTO | 从一个查询的结果中创建一个新表 |
| SET | 改变运行时的参数 |
| TRUNCATE | 清空一个表 |
| UPDATE | 更新一个表中的行 |
| UPDATELABEL | 更新一个表中的MAC标签 |
相关视图¶
神通数据库提供了语句审计配置视图V_SYS_STMTAUDCONF,可以查看该视图来了解当前系统中语句审计的配置情况。
该视图中记录的内容如下:
- CONFID
配置ID(系统分配)。
- STMT_NAME
表示要审计的语句,其取值范围见。
- MODE
表示本语句审计配置记录的审计模式,'s'表示只审计执行成功的,'f'表示只审计执行失败,'a'表示两者都审计。
示例¶
示例1: 审计所有的执行成功的GRANT语句¶
-- 连接 sysaudit 用户
CONNECT sysaudit/szoscar55;
-- 开启审计
start audit;
clean audit configuration;
-- 审计所有的执行成功的GRANT语句
AUDIT GRANT WHENEVER SUCCESSFUL;
-- 查看语句审计配置视图
SELECT STMT_NAME,MODE FROM V_SYS_STMTAUDCONF;
STMT_NAME(name) |MODE("CHAR") |
---------------------------------------
GRANT |s |
总数目:1
-- 关闭审计
drop audit;
-- 删除审计配置
clean audit configuration;
示例2: 审计所有的语句¶
-- 连接 sysaudit 用户
CONNECT sysaudit/szoscar55;
-- 开启审计
start audit;
clean audit configuration;
-- 审计所有的语句
AUDIT ALL;
-- 查看语句审计配置视图会发现语句审计配置视图中
-- 对每一种类型的语句都对应一条相应的审计配置
SELECT STMT_NAME, MODE FROM V_SYS_STMTAUDCONF ORDER by STMT_NAME;
STMT_NAME(name) |MODE("CHAR") |
---------------------------------------
ALTER PACKAGE |a |
---------------------------------------
ALTER PACKAGE BODY |a |
---------------------------------------
ALTER SCHEMA |a |
---------------------------------------
ALTER SEQUENCE |a |
---------------------------------------
ALTER TABLE |a |
---------------------------------------
ALTER TABLESPACE |a |
---------------------------------------
ALTER TRIGGER |a |
---------------------------------------
ALTER USER |a |
---------------------------------------
BULK |a |
---------------------------------------
CALL |a |
---------------------------------------
COMMENT |a |
---------------------------------------
CREATE DOMAIN |a |
---------------------------------------
CREATE INDEX |a |
---------------------------------------
CREATE PACKAGE |a |
---------------------------------------
CREATE PACKAGE BODY |a |
---------------------------------------
CREATE PROCEDURE |a |
---------------------------------------
CREATE ROLE |a |
---------------------------------------
CREATE SCHEMA |a |
---------------------------------------
CREATE SEQUENCE |a |
---------------------------------------
CREATE TABLE |a |
---------------------------------------
CREATE TABLE AS |a |
---------------------------------------
CREATE TABLESPACE |a |
---------------------------------------
CREATE TRIGGER |a |
---------------------------------------
CREATE USER |a |
---------------------------------------
CREATE VIEW |a |
---------------------------------------
DELETE |a |
---------------------------------------
DROP DOMAIN |a |
---------------------------------------
DROP INDEX |a |
---------------------------------------
DROP PACKAGE |a |
---------------------------------------
DROP PROCEDURE |a |
---------------------------------------
DROP ROLE |a |
---------------------------------------
DROP SCHEMA |a |
---------------------------------------
DROP SEQUENCE |a |
---------------------------------------
DROP TABLE |a |
---------------------------------------
DROP TABLESPACE |a |
---------------------------------------
DROP TRIGGER |a |
---------------------------------------
DROP USER |a |
---------------------------------------
DROP VIEW |a |
---------------------------------------
EXEC |a |
---------------------------------------
GRANT |a |
---------------------------------------
GRANT ROLE |a |
---------------------------------------
INSERT |a |
---------------------------------------
RESET |a |
---------------------------------------
REVOKE |a |
---------------------------------------
REVOKE ROLE |a |
---------------------------------------
SELECT |a |
---------------------------------------
SELECT INTO |a |
---------------------------------------
SET |a |
---------------------------------------
TRUNCATE |a |
---------------------------------------
UPDATE |a |
---------------------------------------
UPDATELABEL |a |
总数目:51
-- 关闭审计
drop audit;
-- 删除审计配置
clean audit configuration;