第13章 数据库的安全保护

上传人:飞*** 文档编号:6286060 上传时间:2017-08-08 格式:PPT 页数:68 大小:494.50KB
返回 下载 相关 举报
第13章  数据库的安全保护_第1页
第1页 / 共68页
第13章  数据库的安全保护_第2页
第2页 / 共68页
第13章  数据库的安全保护_第3页
第3页 / 共68页
第13章  数据库的安全保护_第4页
第4页 / 共68页
第13章  数据库的安全保护_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《第13章 数据库的安全保护》由会员分享,可在线阅读,更多相关《第13章 数据库的安全保护(68页珍藏版)》请在金锄头文库上搜索。

1、第13章 数据库的安全保护,数据的安全性管理是数据库服务器应实现的重要功能之一。数据的安全性是指保护数据以防止不合法的使用而造成数据的泄密和破坏。SQL Server 2008数据库采用了复杂的安全保护措施,其安全管理体现在对用户登录进行身份验证,对用户的操作进行权限控制。本章主要介绍数据库的登录、角色以及权限管理。,第13章 数据库的安全保护,教学目标:安全性对于任何数据库管理系统来说都是至关重要的,SQL Server 2008提供有效的数据访问安全机制,本章主要从用户、角色和权限方面进行安全性的分析和操作。教学提示:通过本章的学习,读者应该掌握SQL Server 2008服务器的安全性

2、机制及其运用。并熟练掌握创建和管理安全账户、管理数据库用户、角色及权限。,13.1 数据库安全性控制,数据库管理系统的安全性通常包括两个方面:一是指数据访问的安全性;二是指数据运行的安全性(数据库维护:灾难恢复等)。数据访问的安全性是指设计和实现数据库资源的授权访问,即设计和实现授权的用户在指定的时间、指定或允许的地点(计算机)、授权的访问方式访问数据库中的指定的数据资源。,当用户使用SQL Server 2008时,需要经过两个安全性阶段,身份验证阶段和权限认证阶段。(1) 身份验证阶段:用户在SQL Server 2008上获得对任何数据库的访问权限之前,必须登录到SQL Server 2

3、008上,并且被认为是合法的。(2) 权限认证阶段:然后需要检测用户是否有访问服务器上数据的权限,为此需要授予每个数据库中映射到用户登录的帐户访问权限,权限认证就可以控制用户数据库进行操作。,SQL Server 2008的安全认证模式,安全认证模式1-身份验证,Windows身份验证模式 Windows身份验证模式是使用Windows操作系统的安全机制来验证用户身份,只要用户能够通过Windows用户身份验证,即可连接到SQL Server 2008服务器上,在其他操作系统下无法使用。 混合身份验证模式 混合身份验证模式使用户可以使用Windows身份验证或SQL Server身份验证与SQ

4、L Server 2008服务器连接。它将区分用户账号在Windows操作系统下是否可信,对于可信的连接用户系统,直接采用Windows身份验证模式,否则,SQL Server 2008会通过账户的存在性和密码的匹配性自行进行验证,SQL Server 安全性决策树:,1. Windows身份验证模式,Windows身份验证模式是指要登录到SQL Server系统的用户身份由Windows系统来进行验证,即,在SQL Server中可以创建与Windows用户账号对应的登录账号,采用这种方式验证身份,只要登录了Windows操作系统,登录SQL Server时就不需要再输入一次账号和密码了。但

5、是,所有能登录Windows操作系统的账号不一定都能访问SQL Server。必须要由数据库管理员在SQL Server中创建与Windows账号对应的SQL Server账号,然后用该Windows账号登录Windows操作系统,才能直接访问SQL Server。SQL Server 2008默认本地Windows可以不受限制地访问数据库。,2. SQL Server混合验证模式,混合验证模式允许以SQL Server身份验证模式或者Windows身份验证模式来进行身份验证,能更好的适应用户的各种环境。SQL Server身份验证模式是输入登录名和密码来登录数据库服务器,SQL Server

6、在系统注册表中检测输入的登录名和密码,如果正确,则可以登陆到SQL Server上。这些登录名和密码与Windows操作系统无关。使用SQL Server身份验证时,设置密码对于确保系统的安全性至关重要。,设置身份验证模式,设置身份认证模式:1. SQLServer2008安装时设置 2. 选中服务器属性-安全性-修改模式(需要重启服务器才能生效)修改身份认证模式:选中服务器-右键-属性-安全性选项卡-修改模式,启动SQL Server Management Studio时选择,选择安全认证模式连接数据库,安全认证模式2权限认证,为防止不合理的使用造成数据的泄密和破坏,SQL Server 2

7、008数据库管理系统除使用身份验证方法来限制用户进入数据库系统外,还使用权限认证来控制用户对数据库的操作。当用户身份通过验证连接到SQL Server 2008服务器后,在用户可以访问的每个数据库中都要求单独的用户账号,对于没有账户的数据库,将无法访问。,13.2 用户和角色管理,SQL Server的安全防线中突出两种管理:1.对用户或角色的管理,即控制合法用户使用数据库;2.对权限管理,即控制具有数据操作权的用户进行合法的数据存取操作。 用户是具有合法身份的数据库使用者,角色是具有一定权限的用户组合。 SQL Server的用户或角色分为二级: 1. 服务器级用户或角色 2. 数据库级用户

8、或角色。,SQLServer2008提供以下4层安全防线: 1操作系统的安全防线(系统级) 网络管理员负责建立用户组,设置账号并注册 ,系统资源的访问级别 2SQLServer的运行安全防线(服务器级) 用户登录账号 3SQLServer数据库的安全防线(数据库级) 特定数据库自己的用户账户和角色 4SQLServer数据库对象的安全防线(对象级) 用户必须在自己的权限范围内进行数据操作,数据库安全性管理,帐号设置顺序:1用户登录帐号 (大楼钥匙)2与用户登录帐号一一对应的用户帐号(房间钥匙) 3数据对象的权限 (抽屉钥匙) GRANT(授权)语句和REVOKE(收权)语句 或 SSMS管理器

9、,数据库用户管理思路,用户管理1-登录帐户,登录帐户:是进入服务器的第一张通行证 例如默认:sa即:系统管理员SystemAdministrators ,具有最高权限,特殊登录账户,sa:SQL Server数据库服务器系统管理员登录账户。不要轻易删除、更改,可以设置密码。该账户拥有最高的管理权限,不要轻易将sa的密码提供给用户。PC?Administrators:一个Windows组账户,凡属于该组的Windows账户都可作为SQL Server的登录账户,可删除。建议用户删除,防止他人借Windows账户登录。重要提示:一经删除,无法恢复,除非重新安装,创建登录账户,1.使用对象资源管理器

10、创建SQL Server 2008登录账户 选中登录名右键新建登录名选择混合模式输入密码取消用户在下次登录时必须修改密码的选项(因为当前版本不支持此功能) 确认【例13-1】使用SQL Server Management Studio创建登录账号TEST/123(登录名/密码)。,创建登录账户,2.使用系统存储过程创建登录账户使用系统存储过程sp_addlogin创建登录账号的语法格式如下: EXEC sp_addlogin 登录名, 密码 , 默认数据库,默认语言【例1】建立一个名为book_login的登录账号,并将登录账号加入到Library数据库中,即能连接Library数据库。EXE

11、C sp_addlogin book_login,Library -添加登录名,不知道密码,无法登录,用户管理1-创建登录账户案例,【例13-2】使用系统存储过程sp_addlogin创建三个登录账号XYZ/123、ABC/123和AAA/123。EXEC sp_addlogin XYZ,123EXEC sp_addlogin ABC,123EXEC sp_addlogin AAA,123【例2】建立SQL SERVER 2008登录账号为my_login,密码为默认数据库为LibraryUSE LibraryEXEC sp_addlogin my_login, 111,Library -添加

12、登录名,知道密码,可以登录,修改登录账号,修改登录账号密码:【例13-3】使用SQL Server Management Studio修改登录账号TEST,将其密码改为456123。或:EXEC sp_password 原密码,新密码,登录名,SA可以改所有登录账户的密码,非sa权限用户登录系统时只能改自己的密码!,删除登录账号,删除登录账号:1使用对象资源管理器删除登录账号【例13-4】使用SQL Server Management Studio删除登陆账号XYZ/123。,删除登录账号,2使用存储过程删除登录账号使用存储过程sp_droplogin可删除某一登录账号,语法: EXEC Sp

13、_droplogin 登录账户【例13-5】使用系统存储过程sp_droplogin删除登录账号ABC/123。 EXEC sp_droplogin ABC【例3】从数据库Library中删除b_login登录账号 EXEC sp_droplogin b_login,登录账号与用户账户重新连接,当登录账户删除而对于的用户账户未删除时,用户账户就成为无登录账户对应的孤儿账户,无法使用。解决办法:1.重新创建登录账户 如:b_newlogin2.使用存储过程,重新连接登录账号与用户账户(如:b_user1)EXEC sp_change_users_login Update_One,b_user1,

14、b_newlogin,用户管理2-数据库用户,能够登录到SQL Server,并不表明一定可以访问数据库,登录用户只有成为数据库用户后才能访问数据库。在一个数据库中,用户账号唯一标识一个用户,用户对数据库的访问权限以及对数据库对象的所有关系都是通过用户账号来控制的。一般来说,登录账号和用户账号相同,方便操作,登录账号和用户账号也可以不同名,而且一个登录账号可以关联多个用户账号。每个登录账号在一个数据库中只能有一个用户账号。管理员可以对SQL Server 2008中的数据库用户账号进行创建、修改和删除。,创建数据库用户账号,1.使用SSMS创建数据库用户【例13-6】使用SQL Server

15、Management Studio创建Library数据库的一个用户账号U1。,创建数据库用户账号,2.使用系统存储过程创建数据库用户账户1)使用sp_grantdbaccess语法格式为:EXEC sp_grantdbaccess 登录账户,用户账户【例13-6】使用系统存储过程sp_grantdbaccess创建Library数据库的一个用户账号U2,关联的登录名为AAA。USE Library EXEC sp_grantdbaccess AAA, U2,创建数据库用户账号,2.使用系统存储过程创建数据库用户账户2)使用sp_adduser 语法格式:Exec sp_adduser 登录名称 , 用户账号 ,数据库角色【例4】 为登录名b_login在Library数据库中,添加一个名为b_user1的用户账号。EXEC sp_addlogin b_login, 111 , LibraryGOEXEC sp_adduser b_login, b_user1, db_owner -添加用户b_user1,具有db_owner角色的权限,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号