第四章 数据库安全性

第四章 数据库安全性

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

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(被授予权限的用户 或者 角色,有没有能授予其他用户自己权限的能力)

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库系统概念答案第六版中的CSDN第三章的内容主要涉及数据库系统的体系结构和组成。数据库系统是由数据库数据库管理系统(DBMS)和应用程序组成的。数据库用于存储数据,DBMS用于管理和操作数据库,应用程序用于与数据库进行交互。 第一部分介绍了数据库系统的基本概念和基本架构。数据库系统是由硬件、软件和数据组成的系统,它可以对大量结构化数据进行高效管理和查询。硬件包括计算机、存储设备和通信设备等。软件包括操作系统、数据库管理系统和应用程序等。数据是数据库系统的核心,包括数据、数据模型和数据结构等。 第二部分介绍了数据库管理系统的功能和组成。DBMS负责管理数据库的创建、维护、访问和查询等。它提供了数据定义语言(DDL)和数据操作语言(DML)等接口,用于定义和操作数据库。DBMS还提供了事务管理、并发控制和数据完整性保护等功能,以确保数据库的安全和一致性。 第三部分介绍了数据库系统的组织和结构。数据库可以按照不同的组织方式进行存储,例如层次结构、网络结构和关系结构等。关系结构是最常用的一种组织方式,它将数据组织成表格的形式,使用关系代数和关系演算进行数据操作和查询。 第四部分介绍了数据库系统的性能和优化。数据库系统的性能是指其响应时间和处理能力等方面的表现。为了提高数据库系统的性能,可以采取多种优化策略,如索引、查询优化和系统调优等。 总之,数据库系统概念答案第六版CSDN第三章详细介绍了数据库系统的体系结构和组成,包括数据库系统的基本概念、功能和组成,数据库管理系统的功能和组成,数据库系统的组织和结构,以及数据库系统的性能和优化等内容。掌握这些知识可以帮助我们更好地理解和应用数据库系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值