天天看点

数据库系统概论--第四章 数据库安全性

概述

数据库的不安全因素

  1. 非授权用户对数据库的恶意存取和破坏
  2. 数据库中重要或敏感的数据被泄漏
  3. 安全环境的脆弱性

数据库的安全性控制

用户身份鉴别

  1. 静态口令鉴别
  2. 动态口令鉴别
  3. 生物特征鉴别
  4. 智能卡鉴别

存取控制

  • 存取控制机制主要包括定义用户权限和合法权限检查两部分
  • C2数据库管理系统支持自主存取控制
  • B1级的数据库管理系统支持强制存取控制

自主存取控制方法

  • 用户权限的组成要素:数据库对象、操作类型。
  • 定义存储权限称为授权
  • 在关系数据库系统中,存取控制的对象包括:数据本身、数据库模式。
数据库系统概论--第四章 数据库安全性

权限的授予、收回

  1. 数据的操作权限
    • grant
      grant select # ,..
        on table student #,..
        to u1,u2;
        [with grant option]#可以把拥有的权限授予其他用户,不予许循环授权
                 
    • revoke
      revoke insert
        on table SC
        from public# public:所有用户
        [cascade|restrict]; # 默认为cascade,即级联删除
                 
  2. 数据库模式的权限
    • 只有系统的超级用户才有权创建一个新的数据库用户。
    • 数据库用户的权限类型:
      • CONNECT:只能登陆数据库 #默认
      • RESOURCE:创建基本表和视图
      • DBA:创建用户、模式、基本表、视图等
        create user username [with][dba|resource|connect];
                   

数据库角色

  • 数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。
    • 权限 --> 角色 --> 用户
  • 角色的创建
    create role <name>;
               
  • 给角色授权
    grant select,insert ..	#权限
      on table t1..			#对象类型 对象名
      to role1,role2..		#角色
               
  • 将一个角色授予其他的角色或用户
    grant role1,role2..
      to role 3,role4..
      [with admin option]#能够把获得的权限授予其他用户
               
  • 角色权限的回收
    revoke delete
      on table student
      to R1
               

视图机制

  • 给不同的用户定义不同的视图,把数据对象限制在一定范围内,实现部分数据的隐藏。
  • 间接地实现支持存储谓词的用户权限定义。

审计

  • 审计功能把用户对数据库的所有操作自动记录下来放入审计日志中。
  • audit | noaudit :设置/取消审计功能
    #对sc表结构 或 修改sc表数据的操作进行审计
      audit alter update
      on sc;
               

数据加密

继续阅读