数据库安全性
四种数据库破坏类型
system failure(系统错误)
concurrency execution(并发执行)
人为错误
对数据操作引入的数据错误
对上述四种破坏的保护措施
system failure(系统错误)-------------------------故障恢复
concurrency execution(并发执行)-------------并发控制
人为错误-------------------------------------------------数据库安全
对数据操作引入的数据错误-------------------------数据库完整性
DBMS与OS在安全上的关系
#除了OS自己的安全屏障外,DBMS应建立自己的安全体系
#由于DBMS建立在OS之上,要求OS提供承诺–不允许用户绕过DBMS的安全体系而直接访问底层的DB
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3jrDBEWD-1656253643845)(C:\Users\aLize\AppData\Roaming\Typora\typora-user-images\image-20220625101820618.png)]
#DBMS和OS拥有独立的安全体系,因此OS的用户想要访问DBMS,必须由数据库管理员(DBA)设置成DBMS的用户
两种访问控制类型与DoD安全级别
#自主式访问控制DAC
#强制访问控制MAC:主体(用户、计算机、进程)和客体(object、各种数据库对象)分别具有相应的安全级别,包括:(1)绝密top-secret TS(2)机密secret S(3)秘密confidential C(4)无密级unclassified U
主体只有在满足一定规则才能访问某个客体(例如:下读----主体的安全级别必须高于所读客体的安全级别、上写----主体的安全级别必须低于所写入的客体的安全级别)共有四种组合 上读上写、上读下写、下读下写、下读上写
DoD安全级分为四个等级
A–最高,要求有数学防范能力
B–要求支持MAC,又分为三个子等级B1、B2、B3
C–要求支持DAC,分为两个子等级C1、C2.C2要求具有身份验证(login verification)和审计追踪(audit trails)
目前大多数RDBMS支持C2级DAC和B1级MAC
#用户标识与鉴别
用户标识–用户名
用户鉴别(1)只有用户知道的信息 (2)只有用户具有的物品 (3)个人特征
SQl SERVER安全体系
SQL SERVER安全体系由三级组成,DBMS或DB服务器、DB、语句与对象级
SQL SERVER设定的登录用户 SA(system admin)系统管理员
服务器级的系统角色 sysadmin、securityadmin、serveradmin、setupadmin、processadmin、diskadmin、dbcreator、bulkadmin
常见的数据库级系统角色 public、dbo(database owner)
#以上系统角色的权限是固定的、sa被自动分配为sysadmin角色、数据库的用户自动分配为public、创建数据库的角色自动分配为dbo
SQL SERVER还设定了一种缺省数据库用户—guest;一个登录用户在被设定为某个数据库用户之前,可用guest用户身份访问数据库
SQL SERVER还设定了一种缺省数据库用户—guest;一个登录用户在被设定为某个数据库用户之前,可用guest用户身份访问数据库