当前位置: 首页 > ds >正文

【数据库】安全性

在这里插入图片描述
在这里插入图片描述
数据库安全性控制的常用方法:用户标识和鉴定、存取控制、视图、审计、数据加密。
在这里插入图片描述

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.数据库安全之视图机制

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

 背景:
➢ 教务处有一个学生数据表,存放了全校不同院系的所有学生的详细信息。每个院系都经常用到这个学生数据表,例如点名、选课、录入成绩、联系家长等等。
 问题:
➢ 在权限尽可能放开的情况下,如何确保各个院系的管理员在插入、删除、更新学生数据时,不会影响其他院系的工作?
 解决方法:
➢ 有效使用视图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/10871.html

相关文章:

  • 【笔记】使用Media Creation Tool给新主机装win10魔改iso
  • 00 Deep learning 之回归、拟合、逻辑回归
  • SAP学习笔记 - 开发20 - 前端Fiori开发 Nest View(嵌套视图) ,Fragment(片段)
  • 深入解析 MultipartFile:Spring 框架下的高效文件处理方案
  • backend 服务尝试连接 qdrant 容器,但失败了,返回 502 Bad Gateway 问题排查
  • [Java恶补day14] 56. 合并区间
  • JAVA获取ES连接并查询所有数据
  • RTP over TCP 模式
  • 如何用 pnpm patch 给 element-plus 打补丁修复线上 bug(以 2.4.4 修复 PR#15197 为例)
  • 4-C#的不同窗口传值
  • 洛谷P12610 ——[CCC 2025 Junior] Donut Shop
  • 转战海外 Web3 远程工作指南
  • (10)Fiddler抓包-Fiddler如何设置捕获Firefox浏览器的Https会话
  • 双周报Vol.73:移除使用方法实现 trait 、新增了 “错误多态” 功能、.语法支持使用 _ 的匿名函数...
  • 16QAM在瑞利信道下的性能仿真:从理论到实践的完整解析(附完整代码)
  • 【HarmonyOS 5】鸿蒙Taro跨端框架
  • 【TMS570LC4357】之相关驱动开发学习记录1
  • 总结:线程安全问题的原因和解决方案
  • 初识vue3(vue简介,环境配置,setup语法糖)
  • LlamaIndex的IngestionPipeline添加本地存储(本地文档存储)
  • Unity 环境搭建
  • 【springcloud】快速搭建一套分布式服务springcloudalibaba(四)
  • Python中join()方法完全指南:参数要求与常见用法解析
  • 【深度学习新浪潮】以Dify为例的大模型平台的对比分析
  • 38、响应处理-【源码分析】-HTTPMessageConverter原理
  • C++.双指针算法(1.1目录修正)
  • CA-Net复现
  • 多租户系统的实现方式
  • 第四十天打卡
  • 统计字符数