第四章 数据库安全性

文章目录

  • 第四章 数据库安全性
    • 4.1 数据库安全性概述
      • 4.1.1 数据库的不安全因素
        • 1. 非授权用户对数据库的恶意存取和砐坏
        • 2. 数据库中重要或敏感的数据被泄露
        • 3.安全环境的脆弱性
      • 4.1.2 安全标准简介
    • 4.2 数据库安全性控制
      • 4.2.1 用户身份鉴别
        • 1. 静态口令鉴别
        • 2. 动态口令鉴别
        • 3. 生物特征鉴别
        • 4. 智能卡鉴别
      • 4.2.2 存取控制
        • 1. 定义用户权限, 并将用户权限登记到数据字典中
        • 2. 合法权限检查
      • 4.2.3 自主存取控制方法
      • ==4.2.4 授权: 授予与收回==
        • ==必须先学会的知识!!!==
          • 1. 数据库用户的创建
        • ==1. GRANT——授权==
          • 例题
        • ==2. REVOKE——权限收回==
      • 4.2.5 数据库角色
        • 怎样理解数据库的角色与用户
        • 1. 角色的创建
        • 2. 给角色授权
        • 3. 将一个角色授予其他的角色或用户
        • 4.角色权限的收回

导读:这一章篇幅短,一般来说,一节课就会讲完,概念较少,但对他的知识梳理还是必要的。

4.1 数据库安全性概述

数据库安全性的定义:数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄谣、 更改或破坏。

4.1.1 数据库的不安全因素

1. 非授权用户对数据库的恶意存取和砐坏

2. 数据库中重要或敏感的数据被泄露

3.安全环境的脆弱性

简而言之:了解即可

4.1.2 安全标准简介

TCSEC/TD1安全级别划分

简而言之:知道保护能力的大小顺序即可,记住:

  1. 相同字母下标数字越大,安全性越高
  2. 安全级别A1最大、D最小

4.2 数据库安全性控制

4.2.1 用户身份鉴别

1. 静态口令鉴别

2. 动态口令鉴别

3. 生物特征鉴别

4. 智能卡鉴别

简而言之:了解即可

4.2.2 存取控制

存取控制机制主要包括定义用户权限和合法权限检查两部分。

1. 定义用户权限, 并将用户权限登记到数据字典中

2. 合法权限检查

4.2.3 自主存取控制方法

定义 存取权限称为授权 (authorization)。

4.2.4 授权: 授予与收回

必须先学会的知识!!!

1. 数据库用户的创建
create user '[用户名称]'@'%' identified by '[用户密码]';--创建用户
密码8位以上,包括:大写字母、小写字母、数字、特殊字符
%:匹配所有主机,该地方还可以设置成‘localhost’,代表只能本地访问,例如root账户默认为‘localhost‘

2.代码实现部分

CREATE USER 'u1'@'%' IDENTIFIED by '123456';
CREATE USER 'u2'@'%' IDENTIFIED by '123456';
CREATE USER 'u3'@'%' IDENTIFIED by '123456';
CREATE USER 'u4'@'%' IDENTIFIED by '123456';
CREATE USER 'u5'@'%' IDENTIFIED by '123456';

小知识:权限最大的叫做root用户,也就是我们每次登录的用户。

用cmd登录的时候 ——mysql -u root -p中的root就是用户名称。

如果要登录u1用户则可以这样写——mysql -u u1 -p

1. GRANT——授权

基本格式

GRANT<权限>[,<权限>]…
ON<对象类租><对象名>[,<对象类型><对象名>)… TO<用户> [,<用户>]…
[WITH GRANT OPTION];

  • 例题
    • 1、 最简单的结构

      把查询 Student 表的权限授给用户 U1 。

      GRANT SELECT

    ​ ON TABLE Student

    ​ TO U1;

    • 2、 ALL PRIVILEGE——所有权限的授予

      把对 Student 表和 Course 表的全部操作权限授予用户 U2 和 U3。

      GRANT ALL PRIVILEGES

      ON TABLE Student, Course

      TO U2,U3;

    • 3、 授权某一属性的权限

      把查询 Student 表和修改学生学号的权限授给用户 U4。

      GRANT UPDATE(Sno),SELECT

      ON TABLE Student
      TO U4;

    • WITH GRANT OPTION——4、允许把自己的权限再授予其他用户

      把对表 SC 的 INSERT 权限授予 U5 用户,并允许将此权限再授予其他用户。

      GRANT INSERT
      ON TABLE SC
      TO U5
      WITH GRANT OPTION:

2. REVOKE——权限收回

基本格式:REVOKE<权限>[,<权限>)…
ON <对象类型><对象名>[,<对象类型><对象名>]… FROM <用户>[,<用户>]· · · [CASCADE|RESTRICT];

  • 例题

    • 收回 GRANT OPTION的权限时,会收回从该用户授予其他用户的权限

      把用户U5对SC表的INSERT权限收回。

      REVOKE lNSERT

      ON TABLE SC

      FROM U5 CASCADE;

4.2.5 数据库角色

怎样理解数据库的角色与用户

MySQL 8才开始引入角色的概念。

一个数据库可能有多个用户需要访问,为了方便管理,可以先将权限分组,并授予给角色。每一个权限组对应一个角色。对于不同权限级别的用户,可以将对应的角色授予用户,相当于批量授予用户需要的权限,而不需要逐个授予权限。

例如:一个公司可以有多个财务,财务有发放工资和拨款等权限。财务就是一个角色。

角色不属于任何用户可以理解为:角色不是某个用户私有的,多个用户都可以拥有这个角色。如财务是角色,但财务这个角色不是任何一个员工私有的,多个员工可以拥有财务这个角色。

假设smith用户创建了对象staffs,那么smith.staffs就是smith用户私有的。其他用户若拥有权限,可以对smith.staffs进行访问或操作,但smith.staffs只属于smith用户。——引用华为云上的讲解

1. 角色的创建

基本格式CREATE ROLE<角色名>

2. 给角色授权

GRANT<,权限>[,<权限>]…

ON<对象类型>对象名
TO<角色>[,<角色>)…

3. 将一个角色授予其他的角色或用户

GRANT<角色l>[,<角色2>]…

TO<角色3>[,<用户l>]…
(WITH ADMIN OPTION]

4.角色权限的收回

REVOKE<权限>[,<权限>]…

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

FROM<角色>[,<角色>]…

简而言之:GRANT role 或者 权限

​ ON role 或者 用户

​ WITH ADMIN OPTION(被授予权限的用户 或者 角色,有没有能授予其他用户自己权限的能力)

第四章 数据库安全性相关推荐

  1. 2022-1-9数据库期末复习(七)第四章——数据库安全性

    第四章--数据库安全性 数据库安全性控制的常用方法 用户标识和鉴定 用户提供用户名和口令,系统中也存放着同样的东西,用户进入的时候需要提供用户名和口令. 存取控制 功能 1)定义存取权限:只能够访问他 ...

  2. 数据库系统概论:第四章 数据库安全性

    4.1 数据库安全性概述 数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露.更改和破坏 4.1.1 数据库的不安全因素 非授权用户对数据库的恶意存取和破坏 数据库中重要或敏感的数据被泄露 ...

  3. (数据库系统概论|王珊)第四章数据库安全性:习题

    名词解释 数据库安全性:保护数据库以防止不合法使用所造成的数据泄露.更改或破坏 用户身份鉴别:每个用户在系统中都有一个用户标识.每个用户标识由用户名(user name)和用户标识号(UID)组成.系 ...

  4. (数据库系统概论|王珊)第四章数据库安全性-第二、三、四、五、六节:数据库安全性控制

    文章目录 一:用户身份鉴别 (1)静态口令鉴别 (2)动态口令鉴别 (3)生物特征鉴别 (4)智能卡鉴别 二:存取控制 (1)自主存取控制DAC A:基本概念 B:GRANT与REVOKE ①:GRA ...

  5. (数据库系统概论|王珊)第四章数据库安全性-第一节:数据库安全性概述

    文章目录 一:数据库的不安全因素 二:安全标准简介 (1)信息安全标准的发展简史 (2)TCSEC/TDI A:基本内容 B:安全级别划分 在(数据库系统概论|王珊)第一章绪论-第一节:数据库系统概论 ...

  6. 第四章 数据库应用系统功能设计与实施

    第四章 数据库应用系统功能设计与实施 软件体系结构 构件:组成系统的具有一定独立功能的不同粒度的程序模块.独立程序或软件子系统. 连接件:表示构件间的相互作用. 约束:对象连接时的规则. 软件设计过程 ...

  7. 重温《数据库系统概论》【第一篇 基础篇】【第4章 数据库安全性】

    本篇内容为中国人民大学教授王珊.萨师煊的<数据库系统概论>自学课程的复习笔记,学习视频源于小破站(传送门),对应视频P28-P31,属教材"[第一篇 基础篇]"的&qu ...

  8. 第三,四章 数据库和数据表的(增删改查,重命名等)基本操作

    第三章 数据库的基本操作 第一节:数据库简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库: 第二节:显示所有数据库 Show databases; 第三节:创建数据库 Cre ...

  9. 第11章 数据库安全性

    数据库安全性控制概述 sql注入问题 存取控制 存取控制机制的功能 授权 验证 常用存取控制方法 自主存取控制 SQL中的存取权限定义方法:GRANT/REVOKE 定义存取权限:用户 检查存取权限: ...

最新文章

  1. python爬虫实例电商_价值上千元的Python爬虫外包案例,学会你就赚了
  2. 搭建一个Struts2工程
  3. Python操作MSSQL
  4. 开发简化版NgFor
  5. css3过渡缓慢排过去,css3过渡
  6. MongoDB3.x中添加用户和权限控制
  7. 12. vim 编辑器
  8. 大K提醒各位常备DOS杀毒盘
  9. VoLTE 信令分析手册
  10. Windows MSDOS的批处理文件命令
  11. 专业技能热门配方大全
  12. 公众号配图不会设计?你需要这三款在线作图神器
  13. 模拟角频率和数字角频率区别
  14. RoboCup2d学习——WorldModel
  15. linux系统下如何修改开机图片,Ubuntu Kylin下修改登录背景,用户头像,开机动画及自动更换壁纸...
  16. 阿里巴巴-数据平台事业部-数据产品部:寻找真爱
  17. 使用云效构建部署项目
  18. 图解 | 原来这就是网络
  19. 新书字码的差不多了,想众包几个事情
  20. 西门子PLC学习笔记六-(Step7指令简介)

热门文章

  1. pako java_java压缩字符串,前端接收pako解压
  2. 安装clusterware时遇到的问题
  3. 2016年会是不动产区块链启动的时刻…
  4. 【大数据】城市公交网络分析与可视化(三):获取公交站点信息并可视化站点重要程度
  5. 计算机cct 考试试题,基础计算机cct考试模拟试题.doc
  6. 风控必学|肘部法与客户分群——客户画像中的聚类与特征画像分析
  7. 丁香园CTO:大龄程序员怎样渡过中年危机?
  8. 2022年东南大学计算机考研复试分数线
  9. mac上AnyProxy安装与使用
  10. java 日历签到功能_基于jquery实现日历签到功能