数据库安全性

文章目录

  • 存取控制
  • 自动存取控制
    • grant 授权
    • revoke 回收
  • 角色
  • 强制存取控制
  • 视图
  • 审计

存取控制

  • 存取控制:是数据库系统对已经进入系统的用户的访问控制,是安全数据保护的前沿屏障,也是最有效的安全手段。

  • DCL数据控制语言:数据库存取控制机制的构成:定义用户权限;系统进行合法性权限检查;

  • 存取控制的类别:自主存取控制和强制存取控制

    • 自主存取控制DAC的实现:Sql语句通过GRANT授权语句和REVOKE授权语句来实现自主存取控制;
    • 强制存取控制MAC

自动存取控制

  • 用户权限:定义一个用户可以在哪些数据库对象进行哪些数据操作。包括数据对象和操作类型。(eg:关系模式(类型),外模式(操作对象),修改、检索(操作类型))

  • 授权:数据对象的创建者将自动获得对该对象的所有操作权限。

    • 具有数据操作权限的用户可以使用GRANT语句将权限授予其他用户,DBA也可以;
    • 接受权限的用户可以是多个甚至是PUBLIC即全体用户;
    • 最后添加了with grant option即指定了该选项,则标识获得权限的用户可以将该权限授予其他用户,否则,只能自己使用,不能进行传播。
  • 这里提一句:对象有:关系模式里的内外模式和模式(逻辑模式),数据的基本表和属性列啥的都属于对象

grant 授权

数据库安全性_第1张图片

  • 发出grant的人
    • 数据库管理员
    • 数据库对象创建者(owner)
    • 已经拥有该权限的用户
  • 接受权限的人
    • 一个或多个
    • 还可以是public,即全体用户
  • with grant option子句
    • 让获得该权限的用户还可以把该权限传播出去
    • 否则只能使用,无法传播

数据库安全性_第2张图片

数据库安全性_第3张图片

revoke 回收

数据库安全性_第4张图片

数据库安全性_第5张图片

角色

  • 角色不是用户,一个用户可以扮演很多角色,角色中也有很多用户,多对多的关系

  • 角色是指一类人,比如说教师,学生,家长,可以给这一类人授权。

  • 角色是权限的集合,就是有名称的一组数据库操作权限的集合

  • 创建角色;给角色授权;将一个角色授予其他角色或用户;收回角色权限;

强制存取控制

  • MAC

  • 主体、可体敏感度标记:敏感度标记分为绝密、机密、可信、公开等若干级别;主体的敏感度标记成为许可证级别,客体的敏感度标记称为密级

  • 控制机制:存取规则

    • 主体的许可证级别大于等于客体的密级才具有对相应客体的读取权限;
    • 主体的许可证级别小于等于客体的的密级时,主体才具有对相应客体写权限。
  • 进行强制存取控制之前要先进行自主存取控制。

  • 强制存取控制

视图

  1. 视图时由一个或多个基本表或视图导出的表,他是一个虚表。在数据库里,只存放着视图的定义,不存放视图对应的数据,数据存放在基本表里。
  2. 视图机制最主要的功能之一:
    1. 很好的提供了数据独立性;
    2. 先用视图机制将一部分敏感数据屏蔽起来,然后在视图上进一步定义操作权限

审计

  1. 审计
  2. 用户级审计
  3. 系统级审计
  4. 审计定义和审计内容一般都存放在数字字典中

你可能感兴趣的