配置权限审计¶
权限审计是指对用户使用权限进行的操作进行审计。这些权限如下表:
权限列表
| 权限名称 | 权限含义 |
|---|---|
| ALTER SCHEMA | 修改模式 |
| ALTER USER | 修改用户 |
| CREATE ROLE | 创建角色 |
| CREATE SCHEMA | 创建模式 |
| CREATE USER | 创建用户 |
| DBA | DBA用户拥有的所有权限 |
| DROP ROLE | 删除角色 |
| DROP SCHEMA | 删除模式 |
| DROP USER | 删除用户 |
| GRANT ROLE | 把角色授予用户 |
| REVOKE ROLE | 把角色从用户处收回 |
语法¶
配置权限审计(需要以系统审计管理员身份执行)
audit_privileges ::=
取消权限审计配置(需要以系统审计管理员身份执行)
参数¶
system_priv
表示某一权限的名称,参见表 41 权限列表。
DBA
表示系统管理员所拥有的所有权限,与对角色的审计类似。由于在神通数据库中,系统管理员拥有除了审计之外的所有权限,所以AUDIT PRIVILEGES DBA相当于语句审计中的AUDIT ALL。
ALL
所有权限,参见表 41 权限列表。
WHENEVER [ NOT ] SUCCESSFUL
可选项,表示审计模式,当不指定时,表示对执行成功和执行失败的权限语句都要审计。
- 当其中不指定NOT关键字时,表示只审计执行成功的权限语句;
- 当指定NOT关键字时表示只审计执行失败的权限语句。
相关视图¶
神通数据库中提供了权限审计配置视图 V_SYS_PRIVAUDCONF, 可以查看该视图的内容来了解当前的权限审计配置情况。
权限审计配置视图中记录的内容如下:
- CONFID
配置ID(系统分配)。
- PRIV_NAME
表示要审计的权限的名称。
- MODE
表示本权限审计配置记录的审计模式:'s'表示只审计执行成功的、'f'表示只审计执行失败,'a'表示两者都审计。
示例¶
示例1: 审计用户的成功修改¶
-- 连接 sysaudit 用户
CONNECT sysaudit/szoscar55;
-- 开启审计
start audit;
clean audit configuration;
-- 审计用户的成功修改
AUDIT PRIVILEGES ALTER USER WHENEVER SUCCESSFUL;
-- 查看权限审计配置视图
SELECT PRIV_NAME, MODE FROM V_SYS_PRIVAUDCONF;
PRIV_NAME(name) |MODE("CHAR") |
---------------------------------------
ALTER USER |s |
总数目:1
-- 关闭审计
drop audit;
-- 删除审计配置
clean audit configuration;
示例2: 审计所有的权限¶
-- 连接 sysaudit 用户
CONNECT sysaudit/szoscar55;
-- 开启审计
start audit;
clean audit configuration;
-- 审计所有的权限
AUDIT PRIVILEGES ALL;
-- 查看权限审计配置视图
SELECT PRIV_NAME, MODE FROM V_SYS_PRIVAUDCONF order BY PRIV_NAME;
PRIV_NAME(name) |MODE("CHAR") |
---------------------------------------
ALTER SCHEMA |a |
---------------------------------------
ALTER USER |a |
---------------------------------------
CREATE ROLE |a |
---------------------------------------
CREATE SCHEMA |a |
---------------------------------------
CREATE USER |a |
---------------------------------------
DROP ROLE |a |
---------------------------------------
DROP SCHEMA |a |
---------------------------------------
DROP USER |a |
---------------------------------------
GRANT ROLE |a |
---------------------------------------
REVOKE ROLE |a |
总数目:10
-- 关闭审计
drop audit;
-- 删除审计配置
clean audit configuration;