《数据库的安全性》PPT课件.ppt_第1页
《数据库的安全性》PPT课件.ppt_第2页
《数据库的安全性》PPT课件.ppt_第3页
《数据库的安全性》PPT课件.ppt_第4页
《数据库的安全性》PPT课件.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,数据库系统中,DBMS提供统一的数据保护功能: 保证数据的正确、一致数据的完整性 防范对象:不合语义的、不正确的数据 保证数据的安全可靠数据的安全性 防范对象:非法用户和非法操作,Page 2,第8章 数据库的安全性,3,1、用户管理 2、角色划分 3、权限管理 4、数据的导入/导出和备份,4,1. SQL Server的安全机制,网络,登录,登录,用户,数据库 服务器,学生库,教师库,财务库,表1,表2,表3,表4,是否可以操作数据库?,有相应操作权限?,是合法服务器用户?,SQL Server 2005的安全机制: 用户访问数据库必须经过两级安全性检查,即用户身份检查、用户操作权限检查。 - 用户身份检查:DBMS对连接数据库服务器的用户进行身份检查; -操作权限检查:对已经连接到服务器的用户,检查其是否可以操作指定数据库及其对象,是否有相应的操作权限。,5,支持Windows身份验证模式和混合模式两种身份验证模式。 Windows身份验证模式: SQL Server利用其操作系统平台的管理登录、验证用户合法性的能力,用户只需要通过Windows的身份验证,就可以连接到SQL Server, SQL Server本身不需要管理一套登录数据。 混合模式: 允许用户选择使用其Windows账户或其SQL Server账户登录到SQL Server系统。 对于后者,SQL Server自己设置和管理SQL Server登录账户,并对登录用户进行身份验证。,(1) SQL SERVER2005的身份验证模式,说明:在安装SQLServer2005服务器时,曾要求选择身份验证模式,通常选择混合模式,同时设置了系统登录账户sa的登录密码。安装后也可随时更改身份验证模式。,6,设置SQL Server的身份认证模式,在SSMS中右击服务器,选择“属性”,修改后重新启动SQL Server才生效,7,用户登录到服务器后,对某数据库及其对象进行操作时,系统还要检查: 该登录账户是否在该数据库中有数据库帐号; 有无对该数据库对象相应的操作权限。,(2) SQL SERVER2005的权限验证机制,8,2. SQL Server2005系统的安全管理,包括用户管理、角色管理和权限管理三方面。,用户:分为登录用户和数据库用户。 登录用户又分为Windows管理的用户和SQL Server服务器管理的用户。 数据库用户:登录用户只有在相应的数据库中映射(设置)为其合法的用户,才允许访问该数据库。默认新建立的数据库都自动添加了一个由sa登录帐号映射得到的数据库用户dbo。 权限:用户登录后,能对服务器、数据库及其对象执行什么样的操作,称之为用户的权限。 登录用户的权限:对服务器的安装、配置、备份、文件、进程、安全性和批量数据导入等管理工作。 数据库用户的权限:权限分三个层次:创建数据库对象及进行数据库备份的权限、对数据库对象的操作权限以及对指定表字段的操作权限。,9,角色:对权限的一种集中管理方式,通过角色将用户分类,同类用户统一进行权限管理,简化了用户的权限管理工作。,固定服务器角色: Sysadmin:可以在SQL Server中执行任何操作 Serveradmin:可以设置服务器范围的配置选项,关闭服务器 Setupadmin:可以管理链接服务器和启动过程 Securityadmin:可以管理登录和CREATE DATABASE权限,可以读取错误日志和更改密码 Processadmin:可以管理在SQL Server中运行的进程 Dbcreator:可以创建、更改和除去数据库 Diskadmin:可以管理磁盘文件 Bulkadmin:可以执行BULK INSERT(大容量数据插入)语句,10,固定数据库角色: Public:每个数据库用户都属于public角色 db_owner:在数据库中有全部权限 db_accessadmin:可以增加或者删除数据库用户 db_securityadmin:管理数据库角色和成员,并管理数据库的语句和对象权限 db_ddladmin:可以添加、修改或除去数据库中的对象(运行所有DDL) db_backupoperator:可以备份和恢复数据库 db_datareader:可以读取数据库内任何用户表中的所有数据 db_datawriter:可以更改数据库内任何用户表中的所有数据 db_denydatareader:不能读取数据库内任何用户表中的任何数据 db_denydatawriter:不能更改数据库内任何用户表中的任何数据 自定义数据库角色,通过在角色中添加用户成员, 使其获得相应的管理和操作权限;或者在添加用户时,可以指定该用户属于哪一个角色,也会使其自动获取相应权限。,11,(1)用户管理,指添加、修改、查看、删除用户以及用户授权。包括登录用户管理和数据库用户管理。,登录用户管理 1)添加登录用户 Windows用户:首先在服务器操作系统中建立该用户,然后将其添加到SQL Server的登录用户中。 Windwos用户的名称:计算机名称用户名 SQL Server用户: 在SSMS对象资源管理器中单击“新建登录名” (a)输入登录用户名称, 并设置登录密码; (b)指定默认数据库; (c)选择用户的服务器角色,使其具有相应的服务器管理权限; (d)选择映射成为指定数据库的用户,同时使该数据库用户添加为指定数据库角色的成员,以获得相应操作权限。注意默认数据库必须选中。,2)查看、修改和删除登录用户 右击该登录用户,选择“属性”或“删除”。,12,数据库用户管理 主要指将登录用户映射为指定数据库的用户,并通过角色分配授予该数据库用户相应的操作权限。 在SSMS对象资源管理器中单击展开指定数据库的安全性分支,右击“用户”,选“新建用户” (a)输入或搜索要映射的登录用户名称; (b)输入映射成的数据库用户名,一般与 登录用户同名; (c)指定该用户加入的角色以及其拥有的 架构(二者选择一致); (d)最后单击“确定”。 同样,可以随时查看、修改、删除数据库用户。,13,(2)权限管理,权限是指用户对服务器可以执行的管理任务、对访问的数据库和对该数据库对象可以执行的相关操作。 权限分三级层次管理:服务器权限、数据库权限、数据库对象权限。 服务器权限: 允许执行服务器管理 任务,权限被定义在 固定服务器角色中。 在服务器属性对话框 的“权限”页可以为登 录用户授予权限。,14,数据库权限:允许创建、管理数据库对象。在指定数据库的属性对话框中为数据库用户授予权限。,15,数据库对象权限:对特定的数据库对象(表、视图、存储过程、函数等)的操作权限。主要有6种: SELECT:查询权限 INSERT:插入数据权限 UPDATE:修改权限(必须同时具有SELECT权限) DELETE:删除数据权限 REFERENCE:引用对象的权限 ALTER:更改对象的权限 在具体的数据库对象的属性对话框中的“权限”页面中添加数据库用户,并授予他对该对象的相应操作权限。 数据库的创建者可以查看、添加或删除数据,更改表定义、或控制允许其他用户对表进行操作的权限。,16,学生基本信息表的“表属性”对话框,添加数据库用户、角色, 并对他授予相应权限。,17,(3)角色管理,角色是对权限的一种集中管理机制,是为了简化对用户权限管理工作而设置的一种对象。,管理服务器角色:对指定的固定服务器角色添加或删除成员。 管理数据库角色:对指定的固定数据库角色添加或删除成员。,18,自定义数据库角色:,本数据库用户、角色中谁是该角色的拥有者,他可以在角色中添加或删除角色成员。,此角色拥有的架构,例如dbo,添加或删除角色成员。,19,“安全对象”页面设置该角色可以访问的对象,并进行授权。,对指定列的操作权限,添加特定的对象,如“表”,并指定具体的表,如“学生基本信息”表。,拒绝:拒绝授予该对象该权限,也防止对象通过角色成员身份继承权限; 具有授予权限:可以将此权限授予其他用户。 若未授予也未拒绝,则可以使用从角色继承来的权限; 拒绝覆盖其他权限。,20,(1)用户管理相关命令 可以使用系统存储过程添加、修改、删除登录用户和数据库用户,修改登录密码、修改默认数据库 例1:将Windows用户LEEpublic映射到SQL Server登录账户。 exec sp_grantlogin LEEpublic 例2:创建SQL Server登录账户lee,密码为111111,默认数据库为“学生管理”。 exec sp_addlogin lee, 111111, 学生管理 例3:为登录账户lee创建数据库用户。 exec sp_grantdbaccess lee 如果没有指定数据库用户名,则默认为与“登录名”相同。 例4:删除数据库用户lee 。 exec sp_revokedbaccess lee,3. 使用SQL命令进行安全管理,21,(2)权限管理相关命令 设置数据库对象权限包括: 授予权限(Grant):授予用户或角色相应的对象权限。 拒绝权限(Deny):可用于防止该用户或角色通过 GRANT 获得特定权限 ,包括删除以前授予用户、组或角色的权限,停用从其他角色继承的权限,确保用户、组或角色将来不继承更高级别的组或角色的权限。 废除权限(Revoke):废除权限是删除已授予的权限,并不妨碍用户、组或角色从更高级别继承已授予的权限。,22,基本语法如下: GRANT ALL | 权限 ,.n ( 列名 ,.n ) ON 表 | 视图 | ON 表 | 视图 ( 列名 ,.n ) | ON 存储过程 | ON用户自定义函数 TO 安全账户 ,.n WITH GRANT OPTION AS 组 | 角色 ,在表、视图上可授予SELECT、INSERT、DELETE、UPDATE、 REFERENCES权限。,数据库用户或角色,使被授权用户或角色可以将该权限再授予其他用户,授予对象权限GRANT,23,授予对象权限举例,【例1】使用GRANT语句对角色newrole授予对表“学生”的INSERT、UPDATE和DELETE的权限。 GRANT INSERT, UPDATE, DELETE ON 学生 TO newrole 【例2】使用GRANT语句授予用户Mary、John和Tom对pubs数据库的authors表的插入、修改、删除权限。 USE pubs GRANT INSERT, UPDATE, DELETE ON authors TO Mary, John, Tom,24,授予对象权限举例,【例3】使用GRANT语句授予用户Log1对pubs数据库的Titles表的Title_id和Title列具有修改权限。 USE Pubs GRANT UPDATE(Title_id , Title) ON Titles TO Log1 也可以写成: USE Pubs GRANT UPDATE ON Titles(Title_id , Title) TO Log1,25,授予对象权限举例,【例4】使用GRANT语句将对Market数据库的Custumers表的SELECT、INSERT权限授予用户Zhang,并允许用户Zhang再将该权限授予其他用户或角色。 USE Market GRANT SELECT , INSERT ON Custumers TO Zhang WITH GRANT OPTION,26,授予对象权限举例,【例5】用户Tom将对表Table1的SELECT权限授予Role1角色,指定WITH GRANT OPTION子句。 GRANT SELECT ON Table1 TO Role1 WITH GRANT OPTION 设用户Jerry是Role1的成员,他要将表Table1上的SELECT权限授予用户Jack(设Jack不是Role1的成员)。相应的GRANT语句如下: GRANT SELECT ON Table1 TO Jack AS role1 因为对表Table1的WITH GRANT OPTION权限是授予Role1角色,而不是显式地授予Jerry,因此,Jerry必须用AS子句来获得role1角色的这种权限。,27,废除对象权限REVOKE,基本语法如下: REVOKE GRANT OPTION FOR ALL | 权限 ,.n ( 列名 ,.n ) ON 表 | 视图 | ON 表 | 视图 ( 列名 ,.n ) | ON 存储过程 | 用户自定义函数 TO | FROM 安全账户 ,.n CASCADE AS 组 | 角色 ,28,废除对象权限,参数说明: GRANT OPTION FOR:指定要收回WITH GRANT OPTION权限。用户仍然具有指定的权限,但是不能将该权限授予其他用户。 CASCADE:收回指定安全账户的权限时,也将收回由其授权的任何其他安全账户的权限。如果要收回的权限原先是通过WITH GRANT OPTION设置授予的,需指定CASCADE和GRANT OPTION FOR 子句,否则将返回一个错误。 AS 组 | 角色:说明要管理的用户从哪个角色或组继承权限。,29,废除对象权限,【例7】使用REVOKE语句废除角色newrole对“学生”表的INSERT、UPDATE和DELETE的权限。 REVOKE INSERT, UPDATE, DELETE ON 学生 TO newrole 【例8】废除用户yuan对publishers表的pub_id列的修改权限。 REVOKE UPDATE(pub_id) ON publishers FROM yuan,30,废除对象权限,【例9】CASCADE选项的作用。 设管理员使用以下GRANT语句对Liu进行授权,使用户Liu具有对Sales表的SELECT权限。 GRANT SELECT ON Sales TO Liu WITH GRANT OPTION 因此,用户Liu具有了将sales对象的SELECT权限授予其他用户的权限,于是用户Liu执行以下授权: GRANT SELECT ON Sales TO Gao,31,废除对象权限,这时,管理员执行以下语句可废除用户Liu的WITH GRANT OPTION权限,以及用户Gao所获得的对Sales表的SELECT权限,但Liu仍具有对Sales表的SELECT权限。 REVOKE GRANT OPTION FOR SELECT ON sales FROM Liu CASCADE,32,废除对象权限,【例11】设用户Tom执行以下语句对角色Role1进行了授权: GRANT SELECT ON Table1 TO Role1 WITH GRANT OPTION 用户Jerry是角色Role1中的成员,于是Jerry作为角色Role1的成员执行以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论