7 数据库的安全管理ppt课件数据库原理与应用 .pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《7 数据库的安全管理ppt课件数据库原理与应用 .pptx》由会员分享,可在线阅读,更多相关《7 数据库的安全管理ppt课件数据库原理与应用 .pptx(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、7 数据库的安全管理教学课件数据库原理与应用 数据库原理与应用数据库原理与应用数据库原理与应用数据库原理与应用数据库数据库存在存在的的不安全因素不安全因素非授权用户对数据库的恶意存取和破坏非授权用户对数据库的恶意存取和破坏 一些黑客和犯罪分子一些黑客和犯罪分子在用户存取数据库时在用户存取数据库时猎取用户名和用户口猎取用户名和用户口令,然后假冒合法用令,然后假冒合法用户偷取、修改甚至破户偷取、修改甚至破坏用户数据。坏用户数据。数据库原理与应用数据库原理与应用数据库中重要或敏感的数据被泄露数据库中重要或敏感的数据被泄露 黑客和敌对分子千方百计盗窃数据库中的重要数据,一些机密信息被暴露。黑客和敌对分
2、子千方百计盗窃数据库中的重要数据,一些机密信息被暴露。数据库原理与应用数据库原理与应用安全环境的脆弱性安全环境的脆弱性 数据库的安全性与计算机系统的安全性,包括计算机硬件、操作系统、网数据库的安全性与计算机系统的安全性,包括计算机硬件、操作系统、网络系统等络系统等 的安全性是紧密联系的。操作系统安全的脆弱,网络协议安全保障的安全性是紧密联系的。操作系统安全的脆弱,网络协议安全保障的不足等都会造成数据库安全性的破坏。的不足等都会造成数据库安全性的破坏。曾经在伊朗以及其他中东国家发现过一种被称为“flame”(火焰)的病毒程序,这个程序可以让自己假冒成 Windows 更新文件隐藏在目标计算机里。
3、它的作用非常特别,可以随时复制文件、截图、下载聊天记录甚至可以远程启动计算机、激活麦克风和摄像头并偷偷录下视频和音频。这是一种特工病毒,它的作用不是搞破坏而是尽可能的隐藏自己窃取一切有用的信息。“flame”通过蓝牙系统来接收指令,并且可以制造假的电子凭证来隐藏身份,最牛的是当它被发现后还可以立即删除掉所有记录痕迹并自我毁灭,这简直就跟特工干的事儿一模一样。7.1数据库安全性概述数据库原理与设计数据库原理与设计6数据库原理与应用数据库原理与应用数据库安全技术数据库安全技术用户标识与鉴别用户标识与鉴别存取控制存取控制视图视图审计审计数据加密数据加密数据库原理与应用数据库原理与应用1.1.用户标识
4、与鉴别用户标识与鉴别 当前最当前最常用常用的鉴别方法。即用什么来标识一个用户,又怎的鉴别方法。即用什么来标识一个用户,又怎样去识别它。样去识别它。用户的个人特征识别:如用户的声音、指纹、签名等。用户的个人特征识别:如用户的声音、指纹、签名等。用户的特有东西识别:如用户的磁卡、钥匙等。用户的特有东西识别:如用户的磁卡、钥匙等。用户的自定义识别:如用户设置口令、密码和一组预定用户的自定义识别:如用户设置口令、密码和一组预定的问答等。的问答等。数据库原理与应用数据库原理与应用2.2.存取控制策略存取控制策略(1)定义用户权限,并将用户权限登记到数据字典中。)定义用户权限,并将用户权限登记到数据字典中
5、。用户对某一数据对象的操作权力称为权限。用户对某一数据对象的操作权力称为权限。某个用户应该具有何种权限是个管理问题和政策问题而不是技某个用户应该具有何种权限是个管理问题和政策问题而不是技术问题。术问题。DBMS的功能就是保证这些决定的执行。的功能就是保证这些决定的执行。DBMS系统必须提供适当的语言来定义用户权限,这些定义经系统必须提供适当的语言来定义用户权限,这些定义经过编译后存放在数据字典中,被称做安全规则或授权规则。过编译后存放在数据字典中,被称做安全规则或授权规则。数据库原理与应用数据库原理与应用(2)合法权限检查)合法权限检查当用户发出存取数据库的操作请求后,当用户发出存取数据库的操
6、作请求后,DBMS查找数据字典,查找数据字典,根据安全规则进行合法权限检查,若用户的操作请求超出了定根据安全规则进行合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。义的权限,系统将拒绝执行此操作。数据库原理与应用数据库原理与应用通过视图通过视图用户用户只能只能查看和修改查看和修改他们他们所能看到所能看到的数据。的数据。建立视图建立视图score_db。CREATE VIEW score_db AS SELECT *FROM score WHERE cnam=数据库数据库;示例示例 为用户授予操作视图的权限。为用户授予操作视图的权限。GRANT SELECT ON scor
7、e_db TO 王莎王莎;视图视图+授权授权 常用的安全性控制方法常用的安全性控制方法3.3.视图机制视图机制数据库原理与应用数据库原理与应用 审计功能把用户对数据库的所有操作自动记录下来放入审计功能把用户对数据库的所有操作自动记录下来放入“审审计日志计日志”中,称为审计跟踪。中,称为审计跟踪。审计员可以利用审计日志监控数据库中的各种行为,重现导致审计员可以利用审计日志监控数据库中的各种行为,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。内容等。还可以通过对审计日志分析,对潜在的威胁提前采取措施加以还可以通过对审
8、计日志分析,对潜在的威胁提前采取措施加以防范。防范。审计审计通常是很费时间和空间的,所以通常是很费时间和空间的,所以DBMS往往都将其作为往往都将其作为可选特征,审计功能一般主要用于安全性要求较高的部门。可选特征,审计功能一般主要用于安全性要求较高的部门。4.4.审计跟踪审计跟踪数据库原理与应用数据库原理与应用数据加密是防止数据库中数据在存储和传输中失密的有效手段。数据加密是防止数据库中数据在存储和传输中失密的有效手段。加密加密的基本思想是根据一定的算法将原始数据(称为明文)的基本思想是根据一定的算法将原始数据(称为明文)变换为不可直接识别的格式(称为密文),从而使得不知道解变换为不可直接识别
9、的格式(称为密文),从而使得不知道解密算法的人无法获知数据的内容。密算法的人无法获知数据的内容。由于数据加密与解密也是比较费时的操作,而且数据加密由于数据加密与解密也是比较费时的操作,而且数据加密与解密程序会占用大量系统资源,因此数据加密功能通常也与解密程序会占用大量系统资源,因此数据加密功能通常也作为可选特征。作为可选特征。5.5.数据加密数据加密7.2MySQL的安全设置数据库原理与设计数据库原理与设计14数据库原理与应用数据库原理与应用7.2.1 7.2.1 权限表权限表1.user1.user表表user表字段可以分为表字段可以分为4类,用户列、权限列、安全列和资源控制列。类,用户列、
10、权限列、安全列和资源控制列。(1)用户列)用户列用户列常用的字段有用户列常用的字段有Host、User、authentication_string,分,分别表示主机名、用户名和密码。别表示主机名、用户名和密码。当添加、删除、修改或者查看用户信息时,其实就是对当添加、删除、修改或者查看用户信息时,其实就是对user表表进行增、删、改、查的操作。进行增、删、改、查的操作。数据库原理与应用数据库原理与应用【例7-1】查询user表中相关用户字段信息。SELECT Host,User,authentication_string FROM mysql.user;数据库原理与设计数据库原理与设计(2)权限
11、列)权限列user表中包含了几十个以表中包含了几十个以_priv结尾的与权限有关的字段,这些结尾的与权限有关的字段,这些权限不仅包括查询权限、修改权限等普通权限,还包括关闭服权限不仅包括查询权限、修改权限等普通权限,还包括关闭服务器权限、超级权限和加载用户等高级权限。务器权限、超级权限和加载用户等高级权限。【例7-2】查询localhost主机下的用户的select、insert、update权限。SELECT select_priv,insert_priv,update_priv,User,Host FROM mysql.user WHERE Host=localhost;数据库原理与应用数
12、据库原理与应用(3)安全列)安全列安全列有安全列有12个字段,其中个字段,其中ssl用于加密,用于加密,x509标准可用于标识用标准可用于标识用户,户,plugin字段是用于验证用户身份的插件,如果该字段为空,字段是用于验证用户身份的插件,如果该字段为空,服务器就使用内建授权验证机制验证用户身份。服务器就使用内建授权验证机制验证用户身份。【例7-3】查询服务器是否支持ssl功能。SHOW VARIABLES LIKE have_openssl;数据库原理与应用数据库原理与应用(4)资源控制列)资源控制列资源控制列的字段用来限制用户使用的资源,包括资源控制列的字段用来限制用户使用的资源,包括4个
13、字段。个字段。max_questions:用户每小时允许执行的查询操作次数。:用户每小时允许执行的查询操作次数。max_updates:用户每小时允许执行的更新操作次数。:用户每小时允许执行的更新操作次数。max_connections:用户每小时允许执行的连接操作次数。:用户每小时允许执行的连接操作次数。max_user_connections:用户允许同时建立的连接次数。:用户允许同时建立的连接次数。【例7-4】查询root用户的4个资源控制字段的信息。SELECT max_questions,max_updates,max_connections,max_user_connections
14、 FROM mysql.user WHERE User=root;数据库原理与应用数据库原理与应用2.db2.db表表 db表中存储了用户对某个数据库的操作权限,决定用户能从哪表中存储了用户对某个数据库的操作权限,决定用户能从哪个主机存取哪个数据库。个主机存取哪个数据库。(1)用户列)用户列db表的用户列有表的用户列有3个字段个字段Host、User、Db,分别表示主机名、,分别表示主机名、用户名和数据库名,具体表示从某个主机连接某个用户对某个用户名和数据库名,具体表示从某个主机连接某个用户对某个数据库的操作权限。数据库的操作权限。(2)权限列)权限列db表中有表中有19个权限字段,其中个权限
15、字段,其中create_routine_priv和和alter_routine_priv两个字段表明用户是否有创建和修改存储过两个字段表明用户是否有创建和修改存储过程的权限。程的权限。数据库原理与应用数据库原理与应用3.tables_priv3.tables_priv表表 tables_priv表用来对单个表设置操作权限,包括表用来对单个表设置操作权限,包括8个字段。个字段。(1)Host、Db、User、Table_name分别表示主机名、数据库分别表示主机名、数据库名、用户名和表名。名、用户名和表名。(2)Grantor表示修改该记录的用户。表示修改该记录的用户。(3)Timestamp表
16、示修改该记录的时间。表示修改该记录的时间。(4)Table_priv表示对表进行操作的权限,包括表示对表进行操作的权限,包括select、insert、update、delete、create、drop、grant、references、index和和alter。(5)Column_priv表示对表中的列进行操作的权限,包括表示对表中的列进行操作的权限,包括select、insert、update和和refrences。数据库原理与应用数据库原理与应用4.column_priv4.column_priv表表 column_priv表用来对表中的某一列设置操作权限。表用来对表中的某一列设置操作权
17、限。包括包括7个字段,分别是个字段,分别是Host、Db、User、Table_name、Column_name、Timestamp、Column_priv。其中。其中Column_name用来指定对哪些数据列具有操作权限。用来指定对哪些数据列具有操作权限。数据库原理与应用数据库原理与应用5.proc_priv5.proc_priv表表 proc_priv表用来对存储过程和存储函数设置操作权限,表用来对存储过程和存储函数设置操作权限,(1)Host、Db、User分别表示主机名、数据库名和用户名。分别表示主机名、数据库名和用户名。(2)Routine_name表示存储过程或存储函数的名称。表示
18、存储过程或存储函数的名称。(3)Routine_type表示存储过程或存储函数的类型。表示存储过程或存储函数的类型。(4)Grantor表示插入或修改该记录的用户。表示插入或修改该记录的用户。(5)Proc_priv表示拥有的权限,包括表示拥有的权限,包括excute、alter routine、grant三种。三种。(6)Timestamp表示存储记录更新的时间。表示存储记录更新的时间。数据库原理与应用数据库原理与应用7.2.2 7.2.2 用户管理用户管理MySQL的用户包括的用户包括root用户和普通用户,用户和普通用户,root用户是超级管理用户是超级管理员,拥有对整个员,拥有对整个M
19、ySQL服务器完全控制的权限,而普通用户只服务器完全控制的权限,而普通用户只能拥有赋予给它的权限。能拥有赋予给它的权限。在在MySQL数据库中,为了防止非授权用户对数据库进行存取,数据库中,为了防止非授权用户对数据库进行存取,DBA可以创建登录用户、修改用户信息和删除用户。可以创建登录用户、修改用户信息和删除用户。数据库原理与应用数据库原理与应用1 1创建用户创建用户CREATE USER 用户用户 IDENTIFIED BY 密码密码 ,用户用户 IDENTIFIED BY 密码密码;【说明】【说明】用户的格式:用户名用户的格式:用户名主机名主机名 主机名即用户连接主机名即用户连接MySQL
20、时所在主机的名字。如果在创建时只时所在主机的名字。如果在创建时只给出了账号的用户名,而没有指定主机名,则主机名会默认为是给出了账号的用户名,而没有指定主机名,则主机名会默认为是“%”,表示一组主机;,表示一组主机;localhost表示本地主机。表示本地主机。IDENTIFIED BY子句指定创建用户时的密码。子句指定创建用户时的密码。数据库原理与应用数据库原理与应用【例7-6】创建本机用户tempuser,其密码为temp。CREATE USER tempuserlocalhost IDENTIFIED BY temp;创建的新用户的详细信息自动保存在系统数据库mysql的user表中,执行
21、如下SQL语句,可查看数据库服务器的用户信息。USE mysql;SELECT*FROM user WHERE user=tempuser;数据库原理与应用数据库原理与应用2 2修改用户密码修改用户密码SET PASSWORD FOR 用户用户=新密码新密码;【例7-7】修改用户账号tempuser的密码为123456。SET PASSWORD FOR tempuserlocalhost=123456;【例7-8】修改root超级用户的密码为root。SET PASSWORD FOR rootlocalhost=root;数据库原理与应用数据库原理与应用3.3.修改用户名修改用户名RENAME
22、 USER 旧用户名旧用户名 TO 新用户名新用户名 ,旧用户名旧用户名 TO 新用户名新用户名,;【例7-9】修改普通用户tempuser的用户名为temp_U。RENAME USER tempuserlocalhost TO temp_Ulocalhost;USE mysql;SELECT*FROM user WHERE user=temp_U and host=localhost;数据库原理与应用数据库原理与应用4 4删除用户删除用户DROP USER 用户用户,;【例7-10】删除用户temp_U。DROP USER temp_Ulocalhost;USE mysql;SELECT*F
23、ROM user WHERE user=temp_U and host=localhost;数据库原理与应用数据库原理与应用7.2.3 7.2.3 权限管理权限管理权限管理主要是对登录到权限管理主要是对登录到MySQL服务器的数据库用户进行权服务器的数据库用户进行权限验证。限验证。所有用户的权限都存储在所有用户的权限都存储在MySQL的权限表中。的权限表中。合理的权限管理能够保证数据库系统的安全,不合理的权限合理的权限管理能够保证数据库系统的安全,不合理的权限设置会给数据库系统带来危害。设置会给数据库系统带来危害。权限管理主要包括两个内容:权限管理主要包括两个内容:授予授予权限和权限和取消取消
24、权限。权限。数据库原理与应用数据库原理与应用1.1.授予权限授予权限(1)授予)授予MySQL字段字段级别权限级别权限GRANT 权限名称权限名称(列名列名,列名列名,),权限名称权限名称(列名列名,列名列名,),ON TABLE 数据库名数据库名.表名或视图名表名或视图名 TO 用户用户,用户用户,;在在MySQL中,针对不同的数据库资源,可以将权限分为五类,中,针对不同的数据库资源,可以将权限分为五类,即即MySQL字段级别权限、字段级别权限、MySQL表级别权限、表级别权限、MySQL存储程存储程序级别权限、序级别权限、MySQL数据库级别权限和数据库级别权限和MySQL服务器管理员服务
25、器管理员级别权限。级别权限。数据库原理与应用数据库原理与应用 系统数据库系统数据库mysql的系统表的系统表columns_priv中记录了用户字段级中记录了用户字段级别权限的验证信息。别权限的验证信息。数据库原理与应用数据库原理与应用【例7-11】创建新用户column_user,并为其授予对fruits表中列的操作权限。CREATE USER column_userlocalhost IDENTIFIED BY password;GRANT SELECT(f_name,f_price),UPDATE(f_price),REFERENCES(s_id)ON TABLE fruitsales.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库的安全管理ppt课件数据库原理与应用 数据库 安全管理 ppt 课件 原理 应用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内