第四章.数据库安全性
1. 数据库安全性:保护数据库以防不合法使用所造成的数据泄露、更改、破坏
2. 数据库安全性控制的一般方法主要包括:用户身份鉴别、多层存取控制、审计、视图机制、数据加密。
3. 保护数据安全性的一般方法有:设置用户标识、存取权限控制。
4.(用户)存取权限包括:要存取的数据对象、对数据对象进行操作的类型
5. 存取控制机制包括:定义用户权限、合法权限检查
6. 存取控制方法分为:自主存取控制、强制存取控制
- 自主存取控制:用户对不同数据库对象有不同权限,不同用户对同一对象也有不同权限,用户还可以转授权
- 强制存取控制:每一个数据库对象标定一个密级,每个用户授予一个级别的许可证
7. 自助存取控制方法:通过SQL的grant和revoke实现
定义存取权限称为授权
8. 授权 grant
格式:
grant <权限> [, <权限> ] ...
on <对象类型><对象名> [, <对象类型><对象名>] ...
to <用户> [, <用户> ]...
[with grant option];
with grant option:获得权限的用户可以转授权
几个特殊的权限类型:references(定义外键)、all privileges(所有权限)
例子:把对关系sc的属性grade的修改权授权给zhao
grant update(grade)
on sc
to zhao;
9. 回收授权 revoke
格式:
revoke <权限> [, <权限> ] ...
on <对象类型><对象名> [, <对象类型><对象名>] ...
from <用户> [, <用户> ]... [cascade|restrict];
默认cascade:收回权限的用户转授的权限也会被收回
例子:收回zhao对sc表grade属性的修改权
revoke update(grade)
on sc
from zhao;