目录

授权

1.GRANT

2.REMOVE

角色

1.角色的创建

2.给角色授权

4.角色权限的回收 

审计

1.审计事件

2.审计功能

3.AUDIT语句和NOSAUDIT语句


 

授权

SQL中使用grant 和 remove 语句向用户授权或收回对数据的操作权限。

grant语句向用户授予权限,remove语句收回已经授予用户的权限。

1.GRANT

grant语句的一般格式为:

grant <权限>
on <对象类型><对象名>
to <用户>
whit grant option

补充:public表示全体用户。

如果指定了with grant option 子句,则获得某种权限的用户还可以把这种权限再授予其他用户。

例一:

把查询student授给用户U1。

grant select
on table student
to U1;

例二:

把student表和course表的全部操作权限授予用户U2和U3。

grant all privileges
on table student, course
to U2,U3;

 例三:

把表student的insert权限授予U5用户,并允许将此权限再授予其他用户。

grant insert 
on table student
to U5
with grant option;

2.REMOVE

remove语句的一般格式为:

remove<权限>
on <对象类型><对象名>
from <用户> [CASCADE]|[RESTRICT];

如果有连带关系则需要用CASCADE(级联)删除,否者系统拒执行该命令。

角色

概念:
数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合

1.角色的创建

创建角色的格式是:

create role<角色名>

刚刚创建的角色是空的,没有任何内容。可以用grant为角色授权。 

2.给角色授权

 

grant<权限>
on <对象类型><对象名>
to <角色>

3.将一个角色授予其他的角色或用户

grant<角色1><角色2>
to <角色3>
with admin option

如果指定了with admin option子句,则获得某种权限的角色或用户还可以把这种权限再授予其他角色。 

4.角色权限的回收 

remove<权限>
on<对象类型><对象名>
from <角色>

 


审计

概念:

审计功能把用户对数据库的所有操作自动记录下来放入审计日志中。
审计功能就是数据库管理系统达到C2以上安全级别必不可少的一项指标。

1.审计事件

服务器事件:审计数据库服务器发生的事件,包含数据库服务器的启动、停止、数据库服务器配置文件的重新加载。

系统权限:对系统拥有的结构或模式对象进行操作的审计,要求该操作的权限是通过系统权限获得的。

语句事件:对SQL语句,如DDL、DML、DQL (Data Query Language,数据查询语言)及DCL语句的审计。

模式对象事件:对特定模式对象上进行的SELECT或DML操作的审计。模式对象包括表、视图、存储过程、函数等。模式对象不包括依附于表的索引、约束、触发器、分区表等。
 

2.审计功能

基本功能,提供多种审计查阅方式:基本的,可选的,有限的等等。

提供多套审计规则,审计规则一般在数据库初始化时设定,以方便审计员管理。

提供审计分析和报表功能。

系统提供查询审计设置及审计记录的信息的专门视图。

3.AUDIT语句和NOSAUDIT语句

AUDIT是用来设置审计功能的,NOAUDIT语句则是取消审计功能的。

例如:
对修改SC表结构或修改SC表数据的操作经行审计。

AUDIT alter , update
no SC;

 取消对SC表的一切审计。

NOAUDIT alter ,update
on SC;