第10章安全管理2_第1页
第10章安全管理2_第2页
第10章安全管理2_第3页
第10章安全管理2_第4页
第10章安全管理2_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库原理与应用教程(第2版)人民邮电出版社第第1010章章 安全管理安全管理 v10.1 10.1 安全控制安全控制 v10.2 SQL Server10.2 SQL Server的安全控制的安全控制v10.3 10.3 管理登录账户管理登录账户v10.4 10.4 管理数据库用户管理数据库用户v10.5 10.5 管理权限管理权限v10.6 10.6 角色角色第十章第十章 安全管理安全管理v 如何理解数据库的安全控制?如何理解数据库的安全控制? v 数据库的安全控制有哪些措施?数据库的安全控制有哪些措施?v 按操作权限的不同,数据库用户可分为几类按操作权限的不同,数据库用户可分为几类?v

2、用户要访问用户要访问SQL ServerSQL Server数据库中的数据,需数据库中的数据,需要经过几层认证?要经过几层认证?v SQL ServerSQL Server的登录帐户有几种类型?分别是的登录帐户有几种类型?分别是什么?如何设置?什么?如何设置?v SQL ServerSQL Server的权限有几种?分别是什么?的权限有几种?分别是什么?v 何为数据库的角色?角色有什么作用?何为数据库的角色?角色有什么作用?安全控制安全控制 安全控制:在数据库应用系统的安全控制:在数据库应用系统的不同层次提供对有意损害行为的安不同层次提供对有意损害行为的安全防范。全防范。有意的非法活动有意的非

3、法活动有意的非法操作有意的非法操作 无意的损坏无意的损坏加密存取加密存取身份验证身份验证限制操作权限限制操作权限提高系统可靠性提高系统可靠性数据备份数据备份 安全控制模型安全控制模型文件操作文件操作控制控制操作权操作权控制控制身份身份验证验证用户用户数据库应数据库应用程序用程序数据库管数据库管理系统理系统操作操作系统系统加密存储加密存储与冗余与冗余备份备份数据库数据库 数据库用户的分类数据库用户的分类 v系统管理员系统管理员 在数据库服务器上具有全部的权限在数据库服务器上具有全部的权限v对象拥有者对象拥有者 创建数据库对象的用户,对其所拥有的对创建数据库对象的用户,对其所拥有的对象具有全部的权

4、限。象具有全部的权限。v普通用户普通用户 只具有对数据库数据的查询、插入、删除只具有对数据库数据的查询、插入、删除和修改的权限。和修改的权限。SQL ServerSQL Server的安全控制的安全控制三层验证三层验证v是否是是否是SQL ServerSQL Server的登录帐户的登录帐户v是否是该数据库的用户是否是该数据库的用户v是否有访问该表的权限是否有访问该表的权限数据库服务器SQL ServerSQL Server登录账户来源和认证模式登录账户来源和认证模式1 1登录账户来源登录账户来源 v Windows Windows授权用户授权用户 v SQL SQL授权用户授权用户 2 2安

5、全认证模式安全认证模式v WindowsWindows身份验证模式身份验证模式 v 混合身份验证模式混合身份验证模式 WindowsWindows身份验证模式身份验证模式v允许允许WindowsWindows操作系统用户连接到操作系统用户连接到SQL SQL ServerServer。v当使用当使用WindowsWindows身份验证模式时,用户必身份验证模式时,用户必须先登录到须先登录到WindowsWindows操作系统中,然后再操作系统中,然后再登录到登录到SQL ServerSQL Server。v一般推荐使用一般推荐使用WindowsWindows验证模式,这种安验证模式,这种安全模

6、式能够与全模式能够与WindowsWindows操作系统的安全系操作系统的安全系统集成,以提供更多的安全功能。统集成,以提供更多的安全功能。 混合模式混合模式v允许允许WindowsWindows授权用户和授权用户和SQLSQL授权用户授权用户登录到登录到SQL ServerSQL Server数据库服务器。数据库服务器。v如果希望非如果希望非WindowsWindows操作系统的用户操作系统的用户也能登录到也能登录到SQL ServerSQL Server数据库服务器数据库服务器上,则应选择混合身份验证模式。上,则应选择混合身份验证模式。设置身份验证模式设置身份验证模式v步骤:步骤: 在在S

7、SMSSSMS的的“对象资源管理器对象资源管理器”中,在要设置中,在要设置身份验证模式的实例上右击鼠标,从弹出的身份验证模式的实例上右击鼠标,从弹出的菜单中选择菜单中选择“属性属性”命令。命令。 在在“服务器属性服务器属性”窗口左边的窗口左边的“选择页选择页”上,上,单击单击“安全性安全性”选项。选项。建立登录账户的建立登录账户的T-SQLT-SQL语句语句CREATE LOGIN CREATE LOGIN login_name WITH login_name WITH | FROM | FROM := := WINDOWS WITH ,. WINDOWS WITH ,. := := PASS

8、WORD = password MUST_CHANGE PASSWORD = password MUST_CHANGE , ,. , ,. := := | DEFAULT_DATABASE = database | DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | DEFAULT_LANGUAGE = language := := DEFAULT_DATABASE = database DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | DEFAULT_LA

9、NGUAGE = language示例示例例例1 1创建创建WindowsWindows身份验证的登录账户。从身份验证的登录账户。从WindowsWindows域域账户创建账户创建 HYJWin_User2 HYJWin_User2 登录账户。登录账户。CREATE LOGIN HYJWin_User2 FROM WINDOWSCREATE LOGIN HYJWin_User2 FROM WINDOWS例例2 2创建创建SQL ServerSQL Server身份验证的登录账户。登录名为:身份验证的登录账户。登录名为:SQL_User2SQL_User2,密码为:,密码为:a1b2c3XYa1

10、b2c3XY。CREATE LOGIN SQL_User2 WITH PASSWORD=a1b2c3XYCREATE LOGIN SQL_User2 WITH PASSWORD=a1b2c3XY例例3 3创建创建SQL ServerSQL Server身份验证的登录账户。登录名为:身份验证的登录账户。登录名为:SQL_User3SQL_User3,密码为:,密码为:AD4h9fcdhx32MOPAD4h9fcdhx32MOP。要求该登。要求该登录账户首次连接服务器时必须更改密码。录账户首次连接服务器时必须更改密码。 CREATE LOGIN SQL_User3 WITH PASSWORD =

11、CREATE LOGIN SQL_User3 WITH PASSWORD = AD4h9fcdhx32MOP AD4h9fcdhx32MOP MUST_CHANGEMUST_CHANGE10.4 10.4 管理数据库用户管理数据库用户 v10.4.1 4.1 建立数据库用户建立数据库用户 v10.4.2 4.2 删除数据库用户删除数据库用户 建立数据库用户的建立数据库用户的T-SQLT-SQL语句语句CREATE USER user_name FOR | FROM CREATE USER user_name FOR | FROM LOGIN login_name LOGIN login_nam

12、e v注意:如果省略注意:如果省略FOR LOGINFOR LOGIN,则新的数据,则新的数据库用户将被映射到同名的库用户将被映射到同名的SQL ServerSQL Server登录登录名。名。示例示例v例例1.1.让让SQL_User2SQL_User2登录账户成为登录账户成为studentsstudents数数据库中的用户,并且用户名同登录名。据库中的用户,并且用户名同登录名。CREATE USER SQL_User2CREATE USER SQL_User2v例例2.2.创建名为创建名为SQL_JWCSQL_JWC且具有密码的且具有密码的SQL SQL ServerServer身份验证的

13、服务器登录名,并创建与身份验证的服务器登录名,并创建与此登录账户对应的数据库用户此登录账户对应的数据库用户JWCJWC。CREATE LOGIN SQL_JWC CREATE LOGIN SQL_JWC WITH PASSWORD = jKJl3$nN09jsK84; WITH PASSWORD = jKJl3$nN09jsK84;CREATE USER JWC FOR LOGIN SQL_JWC;CREATE USER JWC FOR LOGIN SQL_JWC;特别说明特别说明v服务器登录账户与数据库用户是两个完全服务器登录账户与数据库用户是两个完全不同的概念。不同的概念。v具有登录账户的

14、用户可以登录到具有登录账户的用户可以登录到SQL SQL ServerServer实例上,而且只局限在实例上进行实例上,而且只局限在实例上进行操作。操作。v数据库用户是登录账户以什么样的身份在数据库用户是登录账户以什么样的身份在数据库中进行操作,是登录账户在具体数数据库中进行操作,是登录账户在具体数据库中的映射,这个映射名(数据库用户据库中的映射,这个映射名(数据库用户名)可以和登录名一样,也可以不一样。名)可以和登录名一样,也可以不一样。10.4.2 10.4.2 删除数据库用户删除数据库用户 v展开要删除用户的数据库。展开要删除用户的数据库。v再展开该数据库下的再展开该数据库下的“安全性安

15、全性” “用户用户”节点节点。v在要删除的用户名上右击鼠标,在弹在要删除的用户名上右击鼠标,在弹出的菜单上选择出的菜单上选择“删除删除”命令。命令。删除数据库用户的删除数据库用户的T-SQLT-SQL语句语句DROP USER user_nameDROP USER user_name例例3 3删除删除SQL_User2SQL_User2用户。用户。DROP USER SQL_User2DROP USER SQL_User2v注意:不能删除拥有对象的用户。注意:不能删除拥有对象的用户。10.5 10.5 管理权限管理权限 v10.5.1 5.1 权限的种类权限的种类v10.5.2 5.2 权限的

16、管理权限的管理 SQL Server SQL Server权限种类权限种类v对象权限对象权限是用户在已创建的对象上行使的权限:是用户在已创建的对象上行使的权限: DELETE,INSERT,UPDATE,SELECT,EXECUTE DELETE,INSERT,UPDATE,SELECT,EXECUTEv数据权限数据权限是创建对象的权限:是创建对象的权限: CREATECREATE DATABASE/TABLE/VIEW/INDEX/PROCEDURE DATABASE/TABLE/VIEW/INDEX/PROCEDURE BACKUPBACKUP DATABASE/LOG DATABASE/

17、LOGv隐含权限隐含权限是指由是指由SQL ServerSQL Server预定义的服务器角色、预定义的服务器角色、数据库角色、数据库拥有者和数据库对象拥有者所数据库角色、数据库拥有者和数据库对象拥有者所具有的权限。隐含权限相当于内置权限,不需要再具有的权限。隐含权限相当于内置权限,不需要再明确地授予这些权限。明确地授予这些权限。 如数据库拥有者自动具有对如数据库拥有者自动具有对数据进行一切操作的权限。数据进行一切操作的权限。 权限的管理权限的管理v授予权限授予权限:授予用户或角色具有某种操:授予用户或角色具有某种操作权。作权。v收回权限收回权限:收回(或撤消)曾经授予给:收回(或撤消)曾经授

18、予给用户或角色的权限。用户或角色的权限。v拒绝访问拒绝访问:拒绝某用户或角色具有某种:拒绝某用户或角色具有某种操作权限。一旦拒绝了用户的某个权限,操作权限。一旦拒绝了用户的某个权限,则用户从任何地方都不能获得该权限。则用户从任何地方都不能获得该权限。用用SSMSSSMS管理数据操作权限管理数据操作权限 v在在SSMSSSMS工具的工具的“对象资源管理器对象资源管理器”中,中,依次展开某数据库下的依次展开某数据库下的“安全安全性性”“用户用户”,v在某用户在某用户上右击鼠标,在弹出菜单中选上右击鼠标,在弹出菜单中选择择“属性属性”命令,弹出命令,弹出“数据库用户数据库用户”窗口。窗口。v在此窗口

19、中,单击左边在此窗口中,单击左边“选择页选择页”中的中的“安全对象安全对象”选项选项。对用户授权的窗口对用户授权的窗口1 1对用户授权的窗口对用户授权的窗口2 21.1.管理对象权限管理对象权限v授权语句授权语句GRANTGRANT 对象权限名对象权限名 , ON ON 表名表名| |视图名视图名| |存储过程名存储过程名 TO TO 数据库用户名数据库用户名 | | 用户角色名用户角色名 , v收权语句收权语句REVOKE REVOKE 对象权限名对象权限名 , ON ON 表名表名| |视图名视图名| |存储过程名存储过程名 FROM FROM 数据库用户名数据库用户名 | | 用户角色名

20、用户角色名 , v拒绝语句拒绝语句DENYDENY对象权限名对象权限名 , ON ON 表名表名| |视图名视图名| |存储过程名存储过程名 TO TO 数据库用户名数据库用户名 | | 用户角色名用户角色名 , 示例示例v例例1 1为用户为用户user1user1授予授予StudentStudent表的查询权。表的查询权。 GRANT SELECT ON Student TO user1GRANT SELECT ON Student TO user1v例例3 3收回用户收回用户user1user1对对StudentStudent表的查询权。表的查询权。 REVOKE SELECT ON St

21、udent FROM user1REVOKE SELECT ON Student FROM user1v例例4 4拒绝拒绝user1user1用户具有用户具有SCSC表的更改权。表的更改权。 DENY UPDATE ON SC TO user1DENY UPDATE ON SC TO user1 2.2.管理语句权限管理语句权限 v授权语句授权语句 GRANTGRANT 语句权限名语句权限名 , TO TO 数据库用户名数据库用户名 | | 用户角色名用户角色名 , v收权语句收权语句 REVOKE REVOKE 语句权限名语句权限名 , FROM FROM 数据库用户名数据库用户名 | |

22、用户角色名用户角色名 , v拒绝语句拒绝语句 DENY DENY 语句权限名语句权限名 , TO TO 数据库用户名数据库用户名 | | 用户角色名用户角色名 , 示例示例v例例5 5授予授予user1user1具有创建数据库表的权限。具有创建数据库表的权限。 GRANT CREATE TABLE TO user1GRANT CREATE TABLE TO user1v例例7 7收回授予收回授予user1user1创建数据库表的权限。创建数据库表的权限。 REVOKE CREATE TABLE FROM user1 REVOKE CREATE TABLE FROM user1v例例8 8拒绝拒绝user1user1创建视图的权限。创建视图的权限。 DENY CREATE VIEW TO user1DENY CREATE VIEW TO user110.6 10.6 角色角色 v角色:为便于对用户及权限的管理,角色:为便于对用户及权限的管理,可以将一组具有相同权限的用户组织可以将一组具有相同权限的用户组织在一起,这一组具有相同权限的用户在一起,这一组具有相同权限的用户就称为就称为角色角色(RoleRole)。)。v角色的好处:方便管理。系统管理员角色的好处:方便管理。系统管理员只需对权限的种类进行划分,将不同只需对权限

温馨提示

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

评论

0/150

提交评论