复习用,别看了
文章目录
-
- [4.1 计算机安全性概述](#4.1 计算机安全性概述)
- [4.2 数据库安全性控制](#4.2 数据库安全性控制)
-
- [4.2.1 用户标识和鉴定](#4.2.1 用户标识和鉴定)
- [4.2.2 存取控制](#4.2.2 存取控制)
- [4.2.3 自主存取控制方法](#4.2.3 自主存取控制方法)
- [4.2.4 数据库角色](#4.2.4 数据库角色)
- [4.2.5 强制存取控制](#4.2.5 强制存取控制)
- [4.3 视图机制](#4.3 视图机制)
- [4.4 审计](#4.4 审计)
- [4.5 数据加密](#4.5 数据加密)
- [4.6 其他安全性保护](#4.6 其他安全性保护)
4.1 计算机安全性概述
- 不安全因素
4.2 数据库安全性控制
4.2.1 用户标识和鉴定
最外层的安全保护措施,用户登录的时候
4.2.2 存取控制
4.2.3 自主存取控制方法
- 授权
- 格式
- 谁可以发出GRANT?
DBA;
数据库对象创建者:Owner;
拥有该权限的用户 - 谁接收权限?
一个或多个具体用户
全体用户public - with grant option
sql
// 下面是王珊老师书上的代码,在SQL Server可能运行不了
grant select
on table student
to u1
// 授予所有权限
grant all priviliges
on table student, course
to u2,u3
// 授权给所有人
grant select
on table sc
to public
// 修改某列的权限
grant update(sno), select
on table student
to
u4
// 允许传递权限
grant insert
on table sc
with grant option
- 回收
是grant的逆操作,to -> from
sql
revoke update(Sno)
on table student
from u4
// 收回所有
revoke select
on table sc
from public
// 级联收回,只收回u5为祖先的insert权限
revoke insert
on table sc
from u5 cascade
4.2.4 数据库角色
- 格式
角色相当于一个类,用户获得角色相当于实例化
sql
create role r1
grant select, update, insert
on table student
to r1
// 将角色设置给用户
grant t1
to u1,u2,u3
// 收回
revoke r1
from u1
// 收回权限
revoke insert
on table student
from r1
- 自主存取控制的缺点
4.2.5 强制存取控制
主体
的敏感度标记称为许可证级别
(Clearance Level)
客体
的敏感度标记称为密级
(Classification Level)
- 强制存取控制规则
(1)仅当主体的许可证级别 ≧ 客体的密级时,该主体才能读取相应的客体
(2)仅当主体的许可证级别 ≤ 客体的密级时,该主体才能写相应的实体
解释:如果违反(2),高级别用户可以先把数据读出来,然后降低它的密级,使得密级从高流向低,造成数据的泄露。
4.3 视图机制
视图可以把保密的数据隐藏起来,提供一定程度的安全保护。
和对表权限的授予一样
4.4 审计
- 什么是审计
- 审计的可选择性
- 语法