数据库安全性:

DBMS应该保证的数据库的一种特性,通过一定的机制和手段免受非法、非授权用户的使用、泄露、更改或破坏

数据的安全级别:绝密(Top Secret),机密(Secret),可信(confidential),无分类(unclassifed)

数据库系统DBS的安全级别:物理控制、网络控制、操作系统控制、DBMS控制

DBMS的安全机制:

①自主安全性机制:存取控制(Access Control)

→通过权限在用户之间的传递,使用户自己管理数据库安全性

②强制安全性机制:

→通过对数据和用户强制分类,使得不同类别用户能够访问不同类别的数据

③推断控制机制:

→防止通过历史信息,推断出不该被知道的信息

→防止通过公开信息推断出私密信息,通常在一些由个体数据构成的公共数据库中此问题尤为重要

④数据加密存储机制:

→通过加密、解密保护数据

数据库自主安全性机制:

通常情况下,自主安全性是通过授权(授予用户访问的权利)机制来实现的

用户在使用数据库前必须由DBA处获得一个账户,并由DBA授予该账户一定的权限,该账户的用户依据其所拥有的权限对数据库进行操作;同时,该帐户用户也可将其所拥有的权利转授给其他的用户,由此实现权限在用户之间的传播和控制

DBMS实现自主安全性的方法:

①DBMS允许用户定义一些安全性控制规则(用SQL-DCL来定义),当有DB访问操作时,DBMS自动按照安全性控制规则进行检查,检查通过则允许访问,不通过则不允许访问

②DBMS将权利和用户结合在一起,形成一个访问规则表,依据该规则表可以实现对数据库的安全性控制

  • AccessRule = (S, O, t, P)
  • S:请求主体;O:访问对象;t:访问权利;D:谓词(拥有权力需满足的条件)

自主安全控制例子:

对于表Employee(P#, name, age, sex, salary, D#, HEAD)

有如下访问安全要求:

  • 员工管理人员:能访问该数据库的所有内容,便于维护员工信息
  • 收发人员:访问该数据库以确认某员工是哪一个部门的,便于收发工作,只能访问基本信息,其他信息不允许其访问
  • 每个员工:允许其访问关于自己的记录,以便查询自己的工资情况,但不能修改
  • 部门领导:能够查询其所领导部门人员的所有情况
  • 高层领导:能访问该数据库的所有内容,但只能读

对应AccessRule(S, O, t, P):

方案1:视图:

  • 高级领导:Create EmpV1 as select * from Employee
  • 收发员:Create EmpV2 as select Pname, D# from Employee
  • 员工:Create EmpV3 as select * from Employee where p# = UserId

用户定义视图后,视图便成为一新的数据对象,参与到存储矩阵与能力表中进行描述

方案2:存储矩阵:

需要设计算法在当某用户提交SQL语句(Select-From-Where)时,判断是否允许该用户检索到相应的结果

数据库安全性概念与自主安全性机制相关推荐

  1. azure云数据库_Azure SQL数据库中的高级数据安全性–数据发现和分类

    azure云数据库 Azure SQL supports in building and managing wide range of SQL databases, tools, frameworks ...

  2. 【数据库原理实验(openGauss)】 安全性控制

    安全性控制 文章目录 安全性控制 一.用户及角色 (1)用户 (2)角色 二.权限设置及回收 1.将系统权限授权给用户或者角色 2.将数据库对象授权给角色或用户 3.将用户或者角色的权限授权给其他用户 ...

  3. 数据库杂谈(一)——数据库基本概念

    文章目录 1 数据库基本概念 1.1数据库和数据库管理系统 1.2 数据库系统和文件系统 1.3 数据模型 1.4 数据库三级模式和两级独立性 1.4.1 三级模式 1.4.2 二级映像功能 1.4. ...

  4. DB2数据库基本概念

    http://db365.net/home.php?mod=space&uid=19鉴于CSDN无故删除博文,本博客不再更新,暂时迁至http://www.db365.net 1 DB2数据库 ...

  5. SQL全方位攻略:之数据库历史、数据库基本概念和相关术语,以及常见的数据库类型介绍

    文章目录 1.数据库介绍 1.1 数据库历史 1.2 数据库基本概念和术语 1.2.1. 数据库 1.2.2. 数据库管理系统(DBMS) 1.2.3. 应用程序 1.2.4. 模式(Schema) ...

  6. 数据库基本概念(期末复习版)

    第一章 数据:是数据库中存储的基本对象,是描述事物的符号记录 数据库:是永久存储在计算机内的,有组织的,可共享的大量数据的集合 数据库管理系统:是位于用户与操作系统之间的一层数据管理软件 数据库系统: ...

  7. 数据库基本概念和常用SQL命令

    目录 数据库基本概念 表和视图 记录record操作 查询select 聚合操作 插入数据INSERT 删除数据DELETE 更新数据UPDATE 数据库操作 查看所有数据库 查看当前使用的数据库 创 ...

  8. 数据库是什么,数据库的概念

    数据库是什么?数据库的概念 数据存储方式 计算机数据(Data)的存储一般以硬盘为数据存储空间资源,从而保证计算机内的数据能够持续保存.对于数据的处理,一般会采用数据库相关的技术进行处理,从而保证数据 ...

  9. java线程安全性_Java并发-线程安全性

    1.什么是线程安全性? 在线程安全性的定义中,最核心的就是正确性.当多线程访问调用某个类时,线程之间不会出现错误的交互,不管运行时线程如何交替执行,并且在主调代码不需要任何同步或协同,这个类都能表现出 ...

最新文章

  1. Python进阶05 循环设计
  2. boost::int64_t模块int64 范围的测试程序
  3. Log4j的layout配置
  4. 用积分来衡量博客的成绩
  5. 获取IP及判断IP是否在区间
  6. Android及其他平台音频开源库介绍
  7. g120宏的说明书_西门子变频器G120操作说明书
  8. linux系统维护诸多定时器,linux定时器总结
  9. 手机如何将图片缩小到20k?怎么指定压缩图片大小?
  10. PPT技巧:快速实现照片双重曝光效果
  11. smartbi mysql_如何修改smartbi自带的mysql的root用户的密码
  12. 为什么用conda?
  13. 超说网络NO.5 | 超详细全方位介绍Web 与 HTTP(运维面试必考点)
  14. matlab聚类分析实例的博客,基于Matlab的模糊聚类分析及其应用 含实例应用.pptx
  15. 【C语言】fwrite 写如0X0A时,自动添加0X0D的解决方法
  16. 读内存为什么比读取磁盘快?快多少?
  17. uni-app - 实现全屏自适应且不变形背景大图,设置一张图片占满全屏(根据手机或电脑尺寸自动拉伸背景图像),用于页面是一张平铺的大图做背景的情况,全端兼容
  18. 停邀请返佣成交量骤减,创业板上线即崩,FCoin的神话还能延续吗?
  19. 选择java还是python-选Python还是Java ?
  20. 3dmax:3dmax三维VR渲染设置之高级灯光渲染(标准灯光分类及简介—目标聚光灯、泛光灯、台灯+射灯+壁灯+筒灯+电视灯+平行光,灯带+天光灯)图文教程之详细攻略

热门文章

  1. python和java学哪个好-Python和Java学哪个好?大家是怎么选的
  2. python是什么软件-Python 是什么软件?
  3. python 下载文件-python实现下载文件的三种方法_python
  4. python编程入门与案例详解-python编程入门知识练习
  5. 小米怎么设置语音识别权限 | 手游网游页游攻略大全
  6. oracle odbc驱动 linux,linux下oracle的odbc驱动的安装与配置
  7. python代码编辑教程_python教程:pycharm编写代码的方式教学
  8. asp.net listview 单元格文字颜色_Excel – 如何批量修改单元格中部分关键字的字体颜色?...
  9. erp服务器维护数据备份,erp服务器备份
  10. iview表格处理后台返回的字符串