数据库安全性概念与自主安全性机制
数据库安全性:
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)时,判断是否允许该用户检索到相应的结果
数据库安全性概念与自主安全性机制相关推荐
- azure云数据库_Azure SQL数据库中的高级数据安全性–数据发现和分类
azure云数据库 Azure SQL supports in building and managing wide range of SQL databases, tools, frameworks ...
- 【数据库原理实验(openGauss)】 安全性控制
安全性控制 文章目录 安全性控制 一.用户及角色 (1)用户 (2)角色 二.权限设置及回收 1.将系统权限授权给用户或者角色 2.将数据库对象授权给角色或用户 3.将用户或者角色的权限授权给其他用户 ...
- 数据库杂谈(一)——数据库基本概念
文章目录 1 数据库基本概念 1.1数据库和数据库管理系统 1.2 数据库系统和文件系统 1.3 数据模型 1.4 数据库三级模式和两级独立性 1.4.1 三级模式 1.4.2 二级映像功能 1.4. ...
- DB2数据库基本概念
http://db365.net/home.php?mod=space&uid=19鉴于CSDN无故删除博文,本博客不再更新,暂时迁至http://www.db365.net 1 DB2数据库 ...
- SQL全方位攻略:之数据库历史、数据库基本概念和相关术语,以及常见的数据库类型介绍
文章目录 1.数据库介绍 1.1 数据库历史 1.2 数据库基本概念和术语 1.2.1. 数据库 1.2.2. 数据库管理系统(DBMS) 1.2.3. 应用程序 1.2.4. 模式(Schema) ...
- 数据库基本概念(期末复习版)
第一章 数据:是数据库中存储的基本对象,是描述事物的符号记录 数据库:是永久存储在计算机内的,有组织的,可共享的大量数据的集合 数据库管理系统:是位于用户与操作系统之间的一层数据管理软件 数据库系统: ...
- 数据库基本概念和常用SQL命令
目录 数据库基本概念 表和视图 记录record操作 查询select 聚合操作 插入数据INSERT 删除数据DELETE 更新数据UPDATE 数据库操作 查看所有数据库 查看当前使用的数据库 创 ...
- 数据库是什么,数据库的概念
数据库是什么?数据库的概念 数据存储方式 计算机数据(Data)的存储一般以硬盘为数据存储空间资源,从而保证计算机内的数据能够持续保存.对于数据的处理,一般会采用数据库相关的技术进行处理,从而保证数据 ...
- java线程安全性_Java并发-线程安全性
1.什么是线程安全性? 在线程安全性的定义中,最核心的就是正确性.当多线程访问调用某个类时,线程之间不会出现错误的交互,不管运行时线程如何交替执行,并且在主调代码不需要任何同步或协同,这个类都能表现出 ...
最新文章
- Python进阶05 循环设计
- boost::int64_t模块int64 范围的测试程序
- Log4j的layout配置
- 用积分来衡量博客的成绩
- 获取IP及判断IP是否在区间
- Android及其他平台音频开源库介绍
- g120宏的说明书_西门子变频器G120操作说明书
- linux系统维护诸多定时器,linux定时器总结
- 手机如何将图片缩小到20k?怎么指定压缩图片大小?
- PPT技巧:快速实现照片双重曝光效果
- smartbi mysql_如何修改smartbi自带的mysql的root用户的密码
- 为什么用conda?
- 超说网络NO.5 | 超详细全方位介绍Web 与 HTTP(运维面试必考点)
- matlab聚类分析实例的博客,基于Matlab的模糊聚类分析及其应用 含实例应用.pptx
- 【C语言】fwrite 写如0X0A时,自动添加0X0D的解决方法
- 读内存为什么比读取磁盘快?快多少?
- uni-app - 实现全屏自适应且不变形背景大图,设置一张图片占满全屏(根据手机或电脑尺寸自动拉伸背景图像),用于页面是一张平铺的大图做背景的情况,全端兼容
- 停邀请返佣成交量骤减,创业板上线即崩,FCoin的神话还能延续吗?
- 选择java还是python-选Python还是Java ?
- 3dmax:3dmax三维VR渲染设置之高级灯光渲染(标准灯光分类及简介—目标聚光灯、泛光灯、台灯+射灯+壁灯+筒灯+电视灯+平行光,灯带+天光灯)图文教程之详细攻略
热门文章
- python和java学哪个好-Python和Java学哪个好?大家是怎么选的
- python是什么软件-Python 是什么软件?
- python 下载文件-python实现下载文件的三种方法_python
- python编程入门与案例详解-python编程入门知识练习
- 小米怎么设置语音识别权限 | 手游网游页游攻略大全
- oracle odbc驱动 linux,linux下oracle的odbc驱动的安装与配置
- python代码编辑教程_python教程:pycharm编写代码的方式教学
- asp.net listview 单元格文字颜色_Excel – 如何批量修改单元格中部分关键字的字体颜色?...
- erp服务器维护数据备份,erp服务器备份
- iview表格处理后台返回的字符串