【数据库】安全性


数据库安全性控制的常用方法:用户标识和鉴定、存取控制、视图、审计、数据加密。

1.用户标识与鉴别

用户标识与鉴别(Identification & Authentication)是系统提供的最外层安全保护措施。

2.存取控制
2.1自主存取控制(简称DAC)

(1)同一用户对于不同的数据对象有不同的存取权限

(2)不同的用户对同一对象也有不同的权限

(3)用户还可将其拥有的存取权限转授 给其他用户

😇授权--将数据库中的某些对象的某些操作权限赋予某些用户。

💗授权使用GRANT语句:

GRANT <权限>,\<权限\>...

ON \<对象类型\> \<对象名\>

TO <用户>,\<用户\>...

WITH GRANT OPTION ;

(1)DBA拥有数据库操作的所有权限,可以将权限赋予其他用户。

//(2)建立数据库对象有用户称为该对象的属主(OWNER),他拥有该对象的所有操作权限。

(3)接受权限的用户可以是一个或多个具体用户,也可以是全体用户(PUBLIC)。

(4)指定了WITH GRANT OPTION子句,获得某种权限的用户还可以把这种权限再授予别的用户;没有指定WITH GRANT OPTION子句,获得某种权限的用户只能使用该权限,不能传播该权限。


💗收回权限--从指定用户那里收回对指定对象的指定权限。

使用REVOKE语句:

REVOKE <权限>,\<权限\>...

ON \<对象类型\> \<对象名\>

FROM <用户>,\<用户\>... CASCADE\|RESTRICT;


2.2强制存取控制(简称 MAC)

😍强制存取控制(Mandatory Access Control,简称 MAC)

(1)每一个数据对象 被标以一定的密级

(2)每一个用户 也被授予某一个级别的许可证

(3)对于任意一个对象,只有具有合法许可证的用户才可以存取

😍主体与客体

主体是系统中的活动实体:

(1) DBMS所管理的实际用户

(2)代表用户的各进程

客体是系统中的被动实体,是受主体操纵的

包括:文件、 基表、 索引、 视图

😍敏感度标记

对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)

敏感度标记分成若干级别: 绝密(Top Secret)、 机密(Secret)、 可信(Confidential)、 公开(Public)。

主体的敏感度标记称为许可证级别(Clearance Level)

客体的敏感度标记称为密级(Classification Level)

MAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体

😍😍强制存取控制规则

(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体;

(2)仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体。

这是关于保密性的规定,通俗讲就是密级高的数据不能向低等级用户输出。

DAC与MAC共同构成DBMS的安全机制

先进行DAC检查,通过DAC检查的数据对象再由系统进行MAC检查,只有通过MAC检查的数据对象方可存取。

3.数据库角色




4.数据库安全之视图机制

(授权和视图的结合每年必考)

 背景:

➢ 教务处有一个学生数据表,存放了全校不同院系的所有学生的详细信息。每个院系都经常用到这个学生数据表,例如点名、选课、录入成绩、联系家长等等。

 问题:

➢ 在权限尽可能放开的情况下,如何确保各个院系的管理员在插入、删除、更新学生数据时,不会影响其他院系的工作?

 解决方法:

➢ 有效使用视图


相关推荐
瀚高PG实验室4 分钟前
DELETE 条件字段缺少索引导致 SuperSync 同步严重延迟
数据库·postgresql·瀚高数据库
笃行35013 分钟前
优化器凭什么改写你的 SQL:等价变换、条件调度与主流数据库的取舍
数据库
KaMeidebaby16 分钟前
卡梅德生物技术快报|bli亲和力检测gst:告别批量跑胶:BLI实时酶切监测技术加速GST融合蛋白下游流程优化
前端·网络·数据库·人工智能·算法
千维百策66625 分钟前
运用 SRE 原则降低生产事故影响:CRE 实战经验与可靠性优化方法
网络·数据库·人工智能
笃行35029 分钟前
能跑不等于正确:生产环境不规范 SQL 的隐藏风险与编码规范
数据库
霸道流氓气质1 小时前
SpringBoot中基于 AES-GCM + KMS 密钥管理的数据加解密 Starter 实践
java·数据库·spring boot
吴声子夜歌1 小时前
MongoDB 4.x——应用设计调优
数据库·mongodb
三言老师2 小时前
CentOS7.9:Redis服务器部署结构化实战教程
linux·运维·服务器·数据库
番茄炒鸡蛋加糖2 小时前
MySQL 实战调优& 分表基础
数据库·mysql
Database_Cool_2 小时前
云数据库如何保证高可用、故障了怎么办:阿里云 RDS MySQL 高可用架构详解
数据库·mysql·阿里云