吸烟对青少年的危害-课件_第1页
吸烟对青少年的危害-课件_第2页
吸烟对青少年的危害-课件_第3页
吸烟对青少年的危害-课件_第4页
吸烟对青少年的危害-课件_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

第12章数据库的安全管理

第12章数据库的安全管理本章内容12.1事务12.2SQLServer的安全机制12.3SQLServer的权限管理本章内容12.1事务12.1事务第11章数据库的安全管理12.1.1事务特性12.1.2事务管理12.1事务第11章数据库的安全管理12.1.112.1事务第11章数据库的安全管理

事务是作为单个逻辑工作单元执行的一系列操作。事务处理可以确保只有在事务性单元内的所有操作都成功完成的情况下,才会永久更新面向数据的资源。通过将一组相关操作组合为一个或者全部成功或者全部失败的单元,可以简化错误恢复并使应用程序更加可靠。12.1事务第11章数据库的安全管理 事务是12.1.1事务特性第11章数据库的安全管理每一个事务都具有原子性、一致性、隔离性和持久性,也称为事务的ACID属性。(1)原子性(2)一致性(3)隔离性(4)持久性12.1.1事务特性第11章数据库的安全管理每一个12.1.1事务管理第11章数据库的安全管理

应用程序主要通过指定事务启动和结束的时间来控制事务。可以使用Transact-SQL语句或数据库应用程序编程接口(API)函数来指定这些时间。系统还必须能够正确处理那些在事务完成之前便终止事务的错误12.1.1事务管理第11章数据库的安全管理 应1.事务类型第11章数据库的安全管理在SQLServer中有三种事务类型,分别是隐式事务、显式事务、自动提交事务,缺省为自动提交。(1)自动提交事务

自动提交事务是指对于用户发出的每条Transact-SQL语句,SQLServer都会自动开始一个SQLServer事务,并且在执行后自动进行提交操作来完成这个事务,也可以说在这种事务模式下,一个Transact-SQL语句就是一个事务。1.事务类型第11章数据库的安全管理在SQLSer第11章数据库的安全管理(2)显式事务

显式事务是指在自动提交模式下以BEGINTRANSACTION开始一个SQLServer事务,以COMMIT或ROLLBACK结束一个SQLServer事务,以Commit结束事务是把SQLServer事务中的修改永久化,即使这时发生断电这样的故障。(3)隐式事务

隐式事务是指在当前会话中用SETIMPLICIT_TRANSACTIONSON命令设置的事务类型,这时任何DML语句(DELETE、UPDATE、INSERT)都会开始一个事务,而事务的结束也是用COMMIT或ROLLBACK。第11章数据库的安全管理(2)显式事务2.启动和技术事务第11章数据库的安全管理

使用API函数和Transact-SQL语句,可以在SQLServerDatabaseEngine实例中将事务作为显式、自动提交或隐式事务启动和结束。(1)显式事务

显式事务就是可以显式地在其中定义事务的开始和结束的事务。BEGINTRANSACTION:标记显式连接事务的起始点。COMMITTRANSACTION或COMMITWORK:如果没有遇到错误,可使用该语句成功地结束事务ROLLBACKTRANSACTION或ROLLBACKWORK:用来清除遇到错误的事务。2.启动和技术事务第11章数据库的安全管理 使用A(2)自动提交模式第11章数据库的安全管理

自动提交模式是SQLServerDatabaseEngine的默认事务管理模式。每个Transact-SQL语句在完成时,都被提交或回滚。如果一个语句成功地完成,则提交该语句;如果遇到错误,则回滚该语句。只要没有显式事务或隐式事务覆盖自动提交模式,与数据库引擎实例的连接就以此默认模式操作。(2)自动提交模式第11章数据库的安全管理 自动提交(3)隐式事务第11章数据库的安全管理

当连接以隐式事务模式进行操作时,SQLServerDatabaseEngine实例将在提交或回滚当前事务后自动启动新事务。无需描述事务的开始,只需提交或回滚每个事务。隐式事务模式生成连续的事务链。(3)隐式事务第11章数据库的安全管理 当连接以隐式3.事务处理过程中的错误第11章数据库的安全管理

如果某个错误使事务无法成功完成,SQLServer会自动回滚该事务,并释放该事务占用的所有资源。如果客户端与数据库引擎实例的网络连接中断了,那么当网络向实例通知该中断后,该连接的所有未完成事务均会被回滚。如果客户端应用程序失败或客户机崩溃或重新启动,也会中断连接,而且当网络向数据库引擎实例通知该中断后,该实例会回滚所有未完成的连接。如果客户端从该应用程序注销,所有未完成的事务也会被回滚。3.事务处理过程中的错误第11章数据库的安全管理 12.2SQLServer的安全机制第11章数据库的安全管理12.2.1安全机制级别12.2.2主体12.2.3SQLServer中的身份验证12.2.4数据库用户12.2.5角色12.2SQLServer的安全机制第11章数据12.2.1安全机制级别第11章数据库的安全管理 SQLServer2005的安全机制分为四级,其中第一层和第二层属于验证过程,第三层和第四层属于授权过程12.2.1安全机制级别第11章数据库的安全管理 12.2.2主体第11章数据库的安全管理

主体”是指可以请求SQLServer资源的个体、组和过程。与SQLServer授权模型的其他组件一样,主体也可以按层次结构排列。

各级别的主体包含的内容如下。12.2.2主体第11章数据库的安全管理 主体”12.2.3SQLServer中的身份验证11.1SQLServer的安全机制SQLServer的安全性管理是建立在身份验证和访问许可两者机制上的。身份验证是确定登录SQLServer的用户的登录账号和密码是否正确,以此来验证其是否具有连接SQLServer的权限。通过认证的用户必须获取访问数据库的权限,才能对数据库进行权限许可下的操作。12.2.3SQLServer中的身份验证11.1S1.SQLServer身份验证模式类型11.1.1身份验证(1)Windows身份验证模式该模式使用Windows操作系统的安全机制验证用户身份,只要用户能够通过Windows用户账号验证,即可连接到SQLServer而不再进行身份验证。这种模式只适用于能够提供有效身份验证的Windows操作系统。1.SQLServer身份验证模式类型11.1.1(2)混合身份验证模式11.1.1身份验证在该模式下,Windows身份验证和SQLserver验证两种模式都可用。对于可信任连接用户(由Windows验证),系统直接采用Windows的身份验证机制,否则SQLServer将通过账号的存在性和密码的匹配性自行进行验证,即采用SQLServer身份验证模式。(2)混合身份验证模式11.1.1身份验证在该模式下,2身份验证模式的设置11.1.1身份验证在该模式下,Windows身份验证和SQLserver验证两种模式都可用。对于可信任连接用户(由Windows验证),系统直接采用Windows的身份验证机制,否则SQLServer将通过账号的存在性和密码的匹配性自行进行验证,即采用SQLServer身份验证模式。2身份验证模式的设置11.1.1身份验证在该模式下,身份验证内容11.1.1身份验证包括确认用户的账号是否有效、能否访问系统、能访问系统的哪些数据库。身份验证内容11.1.1身份验证包括确认用户的账号是否有11.1.2身份验证模式的设置11.1SQLServer的安全机制1.方法一:打开SQLServer管理平台,在“已注册的服务器”子窗口中设置验证模式。11.1.2身份验证模式的设置11.1SQLSer2.方法二在SQLServer管理平台的对象资源管理器中,右键单击服务器,在弹出的快捷菜单中选择“属性”,打开如图所示的“服务器属性”窗口。11.1.2身份验证模式的设置2.方法二11.1.2身份验证模式的设置11.2登录账号管理3.创建登录账户创建登录账户的方法有两种:一种是从Windows用户或组中创建登录账户一种是创建新的SQLServer登录账户。11.2登录账号管理3.创建登录账户创建登录账户的方法11.2.1创建登录账户1.通过Windows身份验证创建登录(1)创建Windows用户①以管理员身份登录到Windows2003,选择“开始→程序→管理工具→计算机管理”选项。11.2.1创建登录账户1.通过Windows身份验证创11.2.1创建登录账户②展开“本地用户和组”文件夹,选择“用户”图标,单击鼠标右键,在快捷菜单中选择“新用户”项,打开“新用户”对话框,输入用户名、密码,单击“创建”按钮,然后单击“关闭”按钮完成创建。11.2.1创建登录账户②展开“本地用户和组”文件夹,选择11.2.1创建登录账户(2)使用企业管理器将Windows2003账号加入到SQLServer中,创建SQLServer登录①启动SQLServer管理平台,在对象资源管理器中分别展开“服务器”→“安全性”→“登录名”。②右击“登录名”,在弹出的快捷菜单上选择“新建登录名”,进行“登录名-新建”对话框。11.2.1创建登录账户(2)使用企业管理器将Window11.2.1创建登录账户③在“登录名-新建”对话框选择Windows验证模式,登录名通过单击“搜索”按钮自动产生,单击“搜索”按钮后出现“选择用户或组”对话框,在对象名称框中直接输入名称或单击“高级”按钮后查找用户或组名称来完成输入。11.2.1创建登录账户③在“登录名-新建”对话框选择Wi11.2.1创建登录账户④单击“确定”按钮,一个Windows组或用户即可增加到SQLServer登录帐户中去。11.2.1创建登录账户④单击“确定”按钮,一个Windo11.2.1创建登录账户对于已经创建的Windows用户或组,可以使用系统存储过程sp_grantlogin授予其登录SQLServer的权限。其语法格式如下:sp_grantlogin[@loginame=]'login'

其中,[@loginame=]'login'为要添加的Windows用户或组的名称,名称格式为“域名\计算机名\用户名”。11.2.1创建登录账户对于已经创建的Windows用户或11.2.1创建登录账户如果使用混合验证模式或不通过Windows用户或用户组连接SQLServer,则需要在SQLServer下创建用户登录权限,使用户得以连接使用SQLServer身份验证的SQLServer实例。2.创建SQLServer登录11.2.1创建登录账户如果使用混合验证模式或不通过Win11.2.1创建登录账户

在SQLServer管理平台中创建SQLServer登录帐户的具体步骤类似于“将Windows2003帐号映射到SQLServer中”的操作方法。只是要选择SQLServer验证模式,并输入登录帐户名称、密码及确认密码。其他选项卡的设置操作类似,最后单击“确定”按钮,即增加了一个新的登录帐户。(1)使用SQLServer管理平台创建登录帐户

11.2.1创建登录账户在SQLSe11.2.1创建登录账户(2)使用系统存储过程sp_addlongin创建登录sp_addlogin语法格式如下:sp_addlogin[@loginame=]'login'[,[@passwd=]'password'][,[@defdb=]'database'][,[@deflanguage=]'language'][,[@sid=]sid][,[@encryptopt=]'encryption_option']11.2.1创建登录账户(2)使用系统存储过程sp_add11.2登录账号管理4.删除登录账户

当某一登录帐户不再使用时,应该将其删除,以保证数据库的安全性和保密性。删除登录帐户可以通过管理平台和Transact-SQL语句来进行。

1.使用SQLServer管理平台删除登录

其操作步骤如下:(1)启动SQLServer管理平台,在对象资源管理器中分别展开“服务器”→“安全性”→“登录名”。(2)在“登录名”详细列表中鼠标右键单击要删除的用户,在弹出的快捷菜单中选择“删除”命令,确定删除。

11.2登录账号管理4.删除登录账户11.2登录账号管理删除登录账号有两种形式:删除Windows用户或组登录和删除SQLServer登录。(1)删除Windows用户或组登录sp_revokelogin的语法格式为:sp_revokelogin[@liginame=]'login'

其中,[@liginame=]'login'为Windows用户或组的名称。2.使用Transact-SQL语句删除登录账号11.2登录账号管理删除登录账号有两种形式:删除Wind11.2登录账号管理使用sp_droplogin可以删除SQLServer登录。其语法格式如下:

sp_droplogin[@loginame=]'login‘例11-8使用系统存储过程sp_droplogin删除SQLServer登录账号ZG001。EXECsp_droplogin'ZG001'(2)删除SQLServer登录11.2登录账号管理使用sp_droplogin可以删除12.2.4数据库用户的管理第11章数据库的安全管理1.使用SQLServer管理平台创建数据库用户其操作步骤如下:(1)打开SQLServer管理平台,在其“对象资源管理器”面板中依次展开“服务器”→“数据库”→“安全性”节点。右击选择其下的“用户”对象,在打开的菜单中选择“新建用户”命令,打开的“数据库用户-新建”窗口。

12.2.4数据库用户的管理第11章数据库的安全管11.3数据库用户的管理(2)在打开的“数据库用户-新建”窗口中,单击“登录名”右边的“”命令可搜索登录用户或直接在文本框中输入用户的登录名,在用户名栏中输入用户名称,用户名可以与登录名不一样。(3)在“此用户拥有的架构”和“数据库角色成员身份”区域选择此用户拥有的架构和加入的角色,选中角色名前的复选框即可。(4)单击“新建用户”窗口的“确定”按钮,数据库用户建立完成。11.3数据库用户的管理(2)在打开的“数据库用户-新建2.使用系统存储过程创建数据库用户SQLServer使用系统存储过程sp_grantdbaccess为数据库添加用户,其语法格式如下:

sp_grantdbaccess

[@loginame=]'login'

[,[@name_in_db=]'name_in_db'[OUTPUT]11.3数据库用户的管理2.使用系统存储过程创建数据库用户SQLServer使用12.2.5角色第11章数据库的安全管理1服务器角色2数据库角色应用程序角色

角色是指为管理相同权限的用户而设置的用户组,也就是说,同一角色下的用户权限都是相同的。将一些用户添加到具体某种权限的角色中,权限在用户成为角色成员时自动生效。12.2.5角色第11章数据库的安全管理1服11.4角色管理1服务器角色

服务器角色具有一组固定的权限,作用域在服务器范围内,是独立于数据库的管理特权分组,主要实现SA、数据库创建者及安全性管理员职能,且不能更改分配给它们的权限。

固定服务器角色的作用域为服务器范围。固定服务器角色的每个成员都可以向其所属角色添加其他登录名。表12.2列出了固定服务器角色的名称及权限。11.4角色管理1服务器角色 服务器角色具有一组固定吸烟对青少年的危害--ppt课件11.4.1SQLServer角色的类型2.数据库角色数据库角色在数据库级别上定义,提供数据库层管理特权的分组,主要实现数据库的访问、备份与恢复及安全性等职能数据库角色分为固定数据库角色和用户定义的数据库角色。固定数据库角色不允许改变。用户定义的数据库角色只适用于数据库级别,通过用户定义的角色可以轻松地管理数据库中的权限。11.4.1SQLServer角色的类型2.数据库角色吸烟对青少年的危害--ppt课件3应用程序角色

应用程序角色是一个数据库主体,它使应用程序能够用其自身的、类似用户的特权来运行。管理平台和系统存储过程实现。

登录、用户、角色是SQLServer2005安全机制的基础。三者联系如下:服务器角色和登录名相对应。数据库角色和用户对应的,数据库角色和用户都是数据库对象,定义和删除时必须选择所属的数据库。一个数据库角色中可以有多个用户,一个用户也可以属于多个数据库角色11.4角色管理3应用程序角色 应用程序角色是一个数据库主体,它使应用11.4.4用户定义数据库角色(1)在SQLServer管理平台中添加或删除数据库角色成员方法一:在上面提到过的某数据库角色的“数据库角色属性”对话框中,在“常规”选项卡上,右下角成员操作区,单击“添加”或“删除”按钮实现操作。方法二:通过“对象资源管理器”→“数据库服务器”→“数据库”→“某具体数据库”→“安全性”→“用户”→“某具体用户”上单击鼠标右键,在弹出的快捷菜单选择“属性”,出现“数据库用户”对话框,在右下角成员操作区,通过多选按钮直接实现为该用户从某个或某些数据库角色中添加或删除。11.4.4用户定义数据库角色(1)在SQLServer12.3SQLServer的权限管理第11章数据库的安全管理12.3.1权限种类12.3.2设置权限12.3SQLServer的权限管理第11章数据11.5.1权限类型11.5权限管理权限是指用户对数据库中对象的使用及操作的权利,当用户连接到SQLServer实例后,该用户要进行的任何涉及修改数据库或访问数据的活动都必须具有相应的权限,也就是用户可以执行的操作均由其被授予的权限决定。SQLServer中的权限包括3种类型:对象权限、语言权限和隐含权限。11.5.1权限类型11.5权限管理权限是指用户对数1.对象权限

11.5.1权限的种类对象权限用于用户对数据库对象执行操作的权力,即处理数据或执行存储过程(INSERT、UPDATE、DELETE、EXECUTE等)所需要的权限,这些数据库对象包括表、视图、存储过程。1.对象权限11.5.1权限的种类对象权限用于用户对数表11-3对象及作用的操作

11.5.1权限的种类对象操作表SELECT、INSERT、UPDATE、DELETE、REFERANCES视图SELECT、INSERT、UPDATE、DELETE存储过程EXECUTE列SELECT、UPDATE表11-3对象及作用的操作11.5.1权限的种类对2.语句权限语句权限主要指用户是否具有权限来执行某一语句,这些语句通常是一些具有管理性的操作,如创建数据库、表、存储过程等。这种语句虽然也包含有操作(如CREATE)的对象,但这些对象在执行该语句之前并不存在于数据库中,所以将其归为语句权限范畴。

11.5.1权限的种类2.语句权限语句权限主要指用户是否具有权限来执行某一语句,表11-4语句权限及其作用

11.5.1权限的种类语句作用CREATEDATABASE创建数据库CREATETABLE在数据库中创建表CREATEVIEW在数据库中创建视图CREATEDEFAULT在数据库中创建默认对象CREATEPROCEDURE在数据库中创建存储过程CREATERULE在数据库中创建规则CREATEFUNCTION在数据库中创建函数BACKUPDATABASE备份数据库BACKUPLOG备份日志表11-4语句权限及其作用11.5.1权限的种类语3.隐含权限隐含权限是指系统自行预定义而不需要授权就有的权限,包括固定服务器角色、固定数据库角色和数据库对象所有者所拥有的权限。固定角色拥有确定的权限,例如固定服务器角色sysadmin拥有完成任何操作的全部权限,其成员自动继承这个固定角色的全部权限。数据库对象所有者可以对所拥有的对象执行一切活动,如查看、添加或删除数据等操作,也可以控制其他用户使用其所拥有的对象的权限。

11.5.1权限的种类3.隐含权限隐含权限是指系统自行预定义而不需要授权就有的权12.3.2设置权限1.使用图形工具设置用户或角色权限操作步骤如下:(1)授予或拒绝语句权限1)连接到相应的MicrosoftSQLServerDatabaseEngine实例之后,在“对象资源管理器”中,单击服务器名称,以展开服务器树。2)展开“数据库”,右击用户数据库,如teaching。3)在出现的快捷菜单中选择“属性”,出现如图12.14所示的“数据库属性-teaching”窗口。11.5权限管理12.3.2设置权限1.使用图形工具设置用户或角色权限操11.5.2授予权限(2)授予或拒绝对象权限1)连接到相应的MicrosoftSQLServerDatabaseEngine实例之后,在“对象资源管理器”中,单击服务器名称以展开服务器树。2)展开“数据库”,选择用户数据库,如teaching。展开用户数据库及其下的“表”。3)右击要设置权限的表名,如“s_c”,出现如图12.15所示的“表属性-s_c”窗口。11.5.2授予权限(2)授予或拒绝对象权限2.使用Transact-SQL命令设置用户或角色权限(1)权限的授予可以使用Transact-SQL命令GRANT将权限授予用户,语法格式如下。GRANT{ALL[PRIVILEGES]}|permission[(column[,...,n])][,...,n][ONsecurable]TOsecurity_account[,...,n][WITHGRANTOPTION]11.5.2授予权限2.使用Transact-SQL命令设置用户或角色权限(1)(2)权限的禁止禁止权限就是删除以前授予用户、组或角色的权限,禁止从其他角色继承的权限,且确保用户、组或角色将来不继承更高级别

温馨提示

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

评论

0/150

提交评论