第29讲安全管理(理论+实训)_第1页
第29讲安全管理(理论+实训)_第2页
第29讲安全管理(理论+实训)_第3页
第29讲安全管理(理论+实训)_第4页
第29讲安全管理(理论+实训)_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

第10章SQLServer安全管理第29讲复习:存储过程含义、类型、语句格式、调用含义:存储在服务器上的多条T-SQL语句的预编译集合。类型:系统存储过程、用户自定义存储过程语句格式createprocedure

存储过程名形参

assql语句调用存储过程exec

存储过程名实参复习:触发器的含义、类型、作用、语句格式含义:DML触发器是一种对表或视图执行insert、delete、update操作时,被系统自动执行的特殊的存储过程。类型:按触发的时机分为:后触发器和替代触发器按触发的事件分为:insert触发器、delete触发器、update触发器作用:对表实现复杂的数据完整性约束,以防止不正确的操作。语句格式:createtrigger

触发器名on

表名

after{[insert][,delete][,update]}

as

SQL语句

复习:存储过程和触发器的区别相同点:触发器和存储过程都是由多条T-SQL语句的预编译集合。不同点:存储过程是由用户利用execute命令执行。触发器是通过事件进行触发而自动执行。引:对于一个网络数据库管理系统,安全是很重要的。如何才能保护数据库不被破坏、偷窃和非法使用?第10章SQLServer安全管理

教学内容基础知识:安全机制服务器级的安全管理数据库级的安全管理权限管理第10章SQLServer安全管理

学习目标认知目标:了解安全模式、身份验证、权限验证、登录帐户、服务器角色、数据库角色等概念能力目标:掌握登录帐户、数据库用户、数据库角色的创建(重点)掌握数据库中权限设置管理的方法(难点)一、安全机制每个网络用户在访问SQLServer数据库之前,都必须经过两级安全验证:身份验证:验证用户是否拥有服务器级的“连接权”,即是否允许访问SQLServer服务器。权限验证:验证用户是否拥有数据库级的“访问权”,即是否可以在数据库上执行操作。二、服务器级的安全管理

1.身份验证–(1)两种模式Windows身份验证使用Windows操作系统本身提供的安全机制验证用户的身份。只要用户能够通过Windows的用户帐户验证,就可连接到SQLServer,又称为“信任连接”模式。SQLServer验证使用SQLServer验证时,必须提供连接到SQLServer上登录帐号和口令(该帐号和口令由系统管理员事先创建并存储在SQLServer中)。使用该模式:一是为了和7.0版以前的SQLServer相兼容;二是如果SQLServer安装在Windows98下,必须使用该模式。二、服务器级的安全管理

1.身份验证—(2)模式设置动手实验1:设置身份验证模式。任务1:将本地服务器的身份验证模式设置为“混合模式”右击“本地服务器”→“属性”→“安全性”→……任务2:用“windows”身份验证连接到本地服务器上。右击“本地服务器”→“编辑SQLServer注册属性”→……展开“本地服务器”即连接(因“windows”身份是信任连接)任务3:用“SQLServer”身份验证连接到本地服务器上。修改登录帐号“sa”的密码。展开“本地服务器”中的“安全性”→单击“登录”→右击“sa”→“属性”→修改密码→……设置“使用SQLServer身份验证”。右击“本地服务器”→“编辑SQLServer注册属性”→勾选“使用SQLServer身份验证”→输入“登录名”和“密码”→…说明:sa是一个超级登录帐号,具有操作服务器的一切权限。二、服务器级的安全管理

2.登录帐号含义:登录者用来连接SQLserver的帐号。两种类型:windows身份验证时的登录帐号(即用户帐号)。形式为“域(或计算机)名\用户(或组)”系统内建的本地组,采用“BUILTIN\Administrators”形式SQLserver身份验证时,由系统管理员创建的登录帐号和密码。sa是一个内置的SQLServer超级登录帐号,该账户拥有最高的管理权限,具有操作服务器的一切权限。动手实验2:登录帐号的使用任务1:①将windows中的某个组或用户设置为登录帐号;②创建个“SQLServer”登录帐号,登录名为st1和st2。方法:双击“服务器”→安全性→右击“登录”→“新建登录”

①创建“windows”登录帐号。单击“名称”旁的“浏览”按钮→选择要加入的组或用户…②创建“SQLServer”登录帐号。在“名称”框中输入“st1”→选择“SQLServer身份验证”→输入密码…动手实验2:登录帐号的使用任务2:使用st1登录帐号连接到SQLServer服务器,请问能否查看xscj库中的数据?为什么?说明:普通登录帐号必须赋予了服务器角色后,才会具有服务器范围内的操作权限。任务3:查看各登录帐号的服务器角色。右击“登录帐号”→“属性”→……二、服务器级安全性的管理

3.服务器角色含义:系统定义的具有不同权限的组,其组成员是登录帐号。服务器角色不能增加或删除,只能对其中的成员进行修改。常用的服务器角色

动手实验3:服务器角色的使用任务1:了解各服务器角色中的成员及权限。双击“服务器”→“安全性”→“服务器角色”→……任务2:将登录帐号st1赋予“databasecreators”的服务器角色,使其具有可创建和更改数据库的权限。在“服务器角色”窗口中,右击“databasecreators”角色→“属性”→单击“添加”→选择成员→……请思考:使用st1登录帐号连接到SQLServer服务器,请问能否查看xscj库中的表对象?为什么?说明:尽管普通登录帐号已赋予了服务器角色(sysadmin除外

),但仍没有使用其它数据库对象(表/视图/存储过程等)的权限。因为SQLServer是以数据库用户名来访问数据库的。动手实验3:服务器角色的使用任务3:将登录帐号st2赋予“sysadmin”的服务器角色,使其具有对系统的所有操作权。说明:若将登录帐号st2加入到sysadmin服务器角色中,以该帐号登录的用户就拥有了对系统的所有操作权。任务4:分别以st1和st2登录SQLServer服务器,查看xscj库中的各对象,请思考哪个登录帐号的权限大?任务5:因某种原因,要取消登录帐号为st2所拥有的对服务器的所有操作权,但仍能登录SQLServer服务器,如何设置?在“服务器角色”窗口中,右击“sysadmin”角色→“属性”→选择成员→单击“删除”→……三、数据库级的安全管理

1.数据库用户简介含义:如果要使登录帐号具有访问数据库的权力,必须将登录帐号映射为数据库用户名。所以,每一个登录帐号必须对应一个数据库用户名称。登录帐号sa(或windows帐号)对应的数据库用户名为dbo,dbo用户拥有操作数据库的所有权限(权限最高)。凡具有sysadmin服务器角色的登录帐号,自动映射为dbo。其它登录帐号在某库中没有对应的用户名称时,就映射到guest用户帐号上,若没有guest(如xscj库),则不能查看到该数据库对象。三、数据库级的安全管理

1.数据库用户简介含义:如果要使登录帐号具有访问数据库的权力,必须将登录帐号映射为数据库用户名。登录帐号和数据库用户的区别:SQLServer数据库DB1DB2DB3数据库用户名(提供数据库访问)登录帐号(提供SQLserver访问)用户说明:每个登录帐号要对应一个数据库用户名称。三、数据库级的安全管理

1.数据库用户简介内置的用户名称:dbo和guest登录帐号sa(或windows帐号)对应的数据库用户名为dbo,dbo用户拥有操作数据库的最高权限。凡具有sysadmin服务器角色的登录帐号,自动映射为dbo。其它登录帐号在某库中没有对应的用户名时,就映射到guest用户帐号上(对数据库的访问权限最低)。若没有guest(如xscj库),则不能查看到该数据库对象。例如:在xscj库中,登录帐号st1既没有映射相应的用户名,又没有guest,所以,st1不能查看到该库中对象的信息。动手实验4:数据库用户的创建任务1:将登录帐号st1映射为xscj库中的一个名为“u1”的用户帐号,使“u1”能访问该库。右击xscj库中的“用户”→“新建数据库用户”任务2:将登录帐号st1同时映射为pubs、northwind库中的一个用户帐号。双击“服务器”→“安全性”→“登录”在“登录”窗口,双击“st1”登录帐号单击“数据库访问”标签→勾选所要访问的数据库三、数据库级的安全管理

2.管理数据库用户修改数据库用户主要是修改为此用户所设置的用户权限(修改所属的数据库角色)。删除数据库用户删除一个登录帐号在当前数据库的映射,使该登录帐号失去访问数据库的权限。方法1:与创建类似,只是取消数据的选定。方法2:在指定数据库的“用户”窗口中,右击要删除的用户名→单击“删除”三、数据库级的安全管理

3.数据库角色定义:是在数据库级别上定义的用户权限组,存在于每个数据库中。其成员是用户帐号。类型:固定数据库角色自建数据库角色动手实验5:数据库角色的创建任务1:将xscj库的所有者权限赋给st1用户。在“登录”窗口,双击“st1”登录帐号→单击“数据库访问”标签→勾选“db_owner”任务2:创建一个名为“zdy”的数据库角色,使该角色具有如下的权限:可查询xsqk表、可查询和修改xs_kc表、可查询和插入kc表,但不能进行删除的权限。右击xscj库的“角色”→“新建数据库角色”→输入名称“zdy”→“确定”双击“zdy”→单击“权限”按钮→设置语句权限四、权限管理

1.权限的分类权限的作用:用来控制用户如何访问数据库对象。权限的分类:对象权限:是指用户对数据库中的表、视图、存储过程等对象的操作权限。语句权限:是指执行数据定义语句的权限。隐含权限:是指系统预定义的服务器角色、数据库拥有者和数据库对象拥有者所拥有的权限。该权限不能明确地赋予和撤销。四、权限管理

2.权限管理的内容用户或角色的权限有三种形式:授予权限√:能执行相应操作拒绝权限×:不能执行相应操作剥夺权限□:不允许执行相应操作,但可以通过加入角色来获得许可权。动手实验6:管理权限任务1:管理数据库用户的语句权限。要求:xscj库中的用户u1只能查看kc表中的数据,不能做任何更改和删除,应如何设置?单击xscj库中的“用户”→右击“u1”用户→“所有任务”→“管理权限”设置在kc表上的操作权限任务2:管理数据库角色的语句权限。要求:xscj库中的所有用户只能查看kc表中的数据,不能做任何更改和删除,应如何设置?右击xscj库中的“角色”→“新建自定义角色”(aa)双击aa→添加所有用户→单击“权限”按钮→设置在kc表上的操作权限动手实验6:管理权限任务3:管理数据库对象的权限。对于xscj库中的xsqk表,希望所有用户都不能删除、修改和插入记录,且不能访问“地址”字段右击xsqk表→“所有任务”→“管理权限”→设置权限单击“列”按钮→设置列权限五、数据库备份和恢复备份设备备份策略完全备份差异备份事

温馨提示

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

评论

0/150

提交评论