chapter06_数据库的安全性_1_数据库的安全性

  • 数据保护包括: 数据的安全性 + 数据的完整性

  • 数据库的安全性

    (1) 完整性:只有被授权的用户可以进行合法存取

    (2) 可用性:系统采用的安全机制不能明显降低数据库的性能

    (3) 保密性:系统对数据库中的机密数据进行加密

    (4) 可审计性:把合法用户的所有操作记录下来

    因此,数据库系统所采用的安全技术主要包括以下几种

    访问控制技术

    通过创建账户和口令,由DBMS控制登录过程

    存取控制技术

    用户只能访问他权限内的数据

    扫描二维码关注公众号,回复: 5392811 查看本文章

    数据加密技术

    保护敏感数据

    数据库审计

    记录数据库访问情况和用户的操作

  • 存取控制包括: 自主存取控制强制存取控制

  • 自主存取控制

    (1) 用户权限包括: 数据库对象 + 操作类型

    数据库对象有:基本表、视图、数据本身

    操作权限包括: 1° 操作数据库对象,例如创建表、视图、删除表、删除数据库等

    操作数据库数据,例如增删改查

    (2) 自动存取通过 REVOKE、GRANT实现,REVOKE时后面可以添加CASCADE、RESTRICT

    (3) 用户少的时候可以为每个用户分配权限,用户多的时候可以通过给用户分配角色的方式分配权限

    (4) 自主存取控制最终的效果是,系统的用户权限状态形成了一个授权存取矩阵,其中行属性为客体名称,包括基本表、视图等;列属性为用户名或角色名。矩阵中的值代表权限,例如bochen列、temp行的值为SELECT,代表用户bochen对temp表(或视图)只可以查询SELECT

  • 视图机制

    (1) 视图机制是自动存取控制的一部分

    (2) 数据库中只存放视图的定义,不存放实际的数据,视图类似于基本表的“窗口”

    (3) 视图可以实现的功能

    1° 使用户限定在基本表的某些行

    2° 使用户限定在基本表的某些列

    3° 将多个表的列连接起来,看起来像一张表

    4° 提供聚合信息而非详细信息(例如使用了SUM、AVG等聚合函数)

  • 强制存取控制

    (1) 目标:保证系统具有更高程度的安全性

    (2) DBMS中将全部实体分为 主体客体

    主体:系统中的活动实体,包括用户、客户端进程等

    客体:系统中的被动实体,包括数据表、记录、列、视图等

    (3) 强制存取控制状态下,系统给所有主体和所有客体分配了不同级别的安全属性,且安全属性一般不可被改变;分类后,通过对主体和客体的已分配的安全属性进行匹配判断,决定主体是否有权对客体进行进一步的操作

    (4) 操作规则

    当主体的许可证级别 大于等于 客体的密级时,主体才能读取客体

    当主体的许可证级别 等于 客体的密级时,主体才能写客体

    规则2的原因是:防止高级别主体向低级别客体泄露信息,进而使得信息被低级别主体读取

  • 数据加密

    (1) 数据加密后,存储空间不能有明显的改变

    (2) 加密和解密的耗时不能过长。所以,一般不对索引字段和表的主、外键进行加密

  • 数据库审计

    (1) 数据库审计即将任何人对数据库的任何操作记录在审计文件中

猜你喜欢

转载自blog.csdn.net/captxb/article/details/88081393
今日推荐