SQL Server 2005数据库应用与开发教程教学课件 ppt 作者 978-7-302-16021-2 ch08

上传人:E**** 文档编号:89361423 上传时间:2019-05-24 格式:PPT 页数:53 大小:654KB
返回 下载 相关 举报
SQL Server 2005数据库应用与开发教程教学课件 ppt 作者  978-7-302-16021-2 ch08_第1页
第1页 / 共53页
SQL Server 2005数据库应用与开发教程教学课件 ppt 作者  978-7-302-16021-2 ch08_第2页
第2页 / 共53页
SQL Server 2005数据库应用与开发教程教学课件 ppt 作者  978-7-302-16021-2 ch08_第3页
第3页 / 共53页
SQL Server 2005数据库应用与开发教程教学课件 ppt 作者  978-7-302-16021-2 ch08_第4页
第4页 / 共53页
SQL Server 2005数据库应用与开发教程教学课件 ppt 作者  978-7-302-16021-2 ch08_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《SQL Server 2005数据库应用与开发教程教学课件 ppt 作者 978-7-302-16021-2 ch08》由会员分享,可在线阅读,更多相关《SQL Server 2005数据库应用与开发教程教学课件 ppt 作者 978-7-302-16021-2 ch08(53页珍藏版)》请在金锄头文库上搜索。

1、2019年5月24日,第1页,第8章 安全与权限,SQL Server2005数据库应用与开发教程 清华大学出版社,教学目标 教学重点 教学过程,2019年5月24日,第2页,教学目标,了解SQL Server 2005的安全策略 掌握SQL Server 2005的网络配置 掌握对Microsoft SQL Server实例、数据库访问的管理 掌握对实例、数据库、应用程序的角色管理 了解数据库架构及其作用 掌握对SQL Server实例、数据库、表和列访问的权限管理 掌握对可编程对象访问的权限管理,2019年5月24日,第3页,教学重点,掌握SQL Server 2005的网络配置 掌握对M

2、icrosoft SQL Server实例、数据库访问的管理 掌握对实例、数据库、应用程序的角色管理 掌握对SQL Server实例、数据库、表和列访问的权限管理 掌握对可编程对象访问的权限管理,2019年5月24日,第4页,教学过程,安全与权限的基础知识概述 管理用户 管理角色 管理架构 管理权限,2019年5月24日,第5页,8.1 安全与权限的基础知识,8.1.1 SQL Server 2005安全机制的总体策略 在SQL Server 2005中,数据的安全保护由4个层次构成SQL Server 2005主要对其中的三个层次提供安全控制。,2019年5月24日,第6页,(1)远程网络主

3、机通过Internet访问SQL Server 2005服务器所在的网络 (2)网络中的主机访问SQL Server 2005服务器 (3)访问SQL Server 2005数据库 (4)访问SQL Server 2005数据库中的表和列,2019年5月24日,第7页,8.1.2 网络安全基础 SQL Server 2005是第一个基于Microsoft Trustworthy Computing initiative开发的SQL Server版本。Trustworthy Computing initiative的宗旨之一就是Secure by Default(“默认安全”)。在实现这一原则的

4、过程中,SQL Server 2005禁用了一些网络选项以尽量保证SQL Server环境的安全性。,2019年5月24日,第8页,授权远程访问 为了远程访问SQL Server实例,需要一个网络协议以建立到SQL Server服务器的连接。为了避免系统资源的浪费,只需要激活自己需要的网络连接协议。,2019年5月24日,第9页,(1)从“开始”菜单中选择“所有程序”|“Microsoft SQL Server 2005”|“配置工具”|“SQL Server外围应用配置器”,2019年5月24日,第10页,(2)在窗口底部的“配置外围应用到Localhost”区域,单击“服务和连接的外围应用

5、配置器”,2019年5月24日,第11页,(3)随后在弹出窗口的左半部分,显示了可以进行配置的组件列表。在这个列表中,展开“Database Engine”图标并单击“远程连接”,2019年5月24日,第12页,(4)在右侧面板中选择“本地连接和远程连接”,然后选择一个协议选项。基于安全和性能的考虑,推荐使用TCP/IP协议,2019年5月24日,第13页,8.2 管理用户,连接到SQL Server实例的时候,必须提供有效的认证信息。数据库引擎会执行两步有效性验证过程。第一步,数据库引擎会检查是否提供了有效的、具备连接到SQL Server实例权限的登录名。第二步,数据库引擎会检查登录名是否

6、是具备连接数据库访问许可的数据库用户。,2019年5月24日,第14页,8.2.1 管理对SQL Server实例的访问 针对SQL Server实例访问,SQL Server 2005支持两种身份验证模式:Windows身份验证模式和混合身份验证模式。 Windows身份验证模式下,SQL Server依靠操作系统来认证请求SQL Server实例的用户。由于已经通过了Windows的认证,因此用户不需要在连接字符串中提供任何用户的认证信息。,2019年5月24日,第15页,混合身份验证模式下,用户既可以使用Windows身份验证模式又可以使用SQL Server身份验证模式来连接SQL S

7、erver。在后一种情况下,SQL Server依据现有的SQL Server登录名来验证用户的凭据。使用SQL Server身份验证需要用户在连接字符串中提供连接SQL Server 的用户名和密码。,2019年5月24日,第16页,1选择身份验证模式 (1)从“开始”菜单中选择“所有程序”|“Microsoft SQL Server 2005”|“SQL Server Management Studio”,2019年5月24日,第17页,(2)在“连接到服务器”对话框中,单击“连接”按钮,2019年5月24日,第18页,(3)在“对象资源管理器”中,右键单击SQL Server实例名并在弹

8、出菜单中选择“属性”,2019年5月24日,第19页,(4)在“选择页”面板中,选择“安全性”图标,2019年5月24日,第20页,(5)在“服务器身份验证”区域,选择自己想要的身份验证模式,在更改身份验证模式后,需要重新启动SQL Server实例以使其生效。,2019年5月24日,第21页,2授权Windows用户及组连接到SQL Server实例 3授权SQL Server登录名 在混合身份验证模式下,可以创建并管理SQL Server登录名。 SQL Server 2005安装进程在SQL Server 2005安装过程中创建了一个SQL Server 登录名sa。sa登录名始终都会创

9、建,即使安装时选择的是Windows身份验证模式。,2019年5月24日,第22页,4实施密码策略 SQL Server 2005能够对SQL Server 登录名执行操作系统的密码实施策略。 如果在Windows 2003服务器版上运行SQL Server,SQL Server将使用NetValidatePasswordPolicy API (应用程序接口)来控制以下三点: 密码的复杂性 密码的生存周期 帐户锁定,2019年5月24日,第23页,如果在Windows 2000服务器版上运行SQL Server,SQL Server会使用Microsoft Baseline Security

10、Analyzer (MBSA)提供的本地密码复杂性规则来执行以下密码规则: 密码不能为空或者NULL 密码不能为登录名 密码不能为机器名 密码不能为“Password”,“Admin”,或者“Administrator”,2019年5月24日,第24页,5拒绝用户访问 执行ALTER语句可以启用或者禁用登录名 通过查询sql_logins目录视图来检查被禁用的登录名 删除一个登录名,可以使用DROP LOGIN语句,2019年5月24日,第25页,8.2.2 管理对SQL Server数据库的访问 对于需要进行数据访问的应用程序来说,仅仅为其授权访问SQL Server 实例是不够的。在授权访

11、问SQL Server 实例之后,需要对特定的数据库进行访问授权。 为访问数据库,所有数据库登录名,除了服务器角色sysadmin的成员,都要在自己要访问的数据库中与一个数据库用户建立映射。,2019年5月24日,第26页,1创建数据库用户 可以使用CREATE USER语句创建数据库用户。 2管理数据库用户 可以通过语句来检查当前的登录名是否可以登录到某个数据库: 可以通过查询目录视图sys.database_principals来获取数据库用户的信息。 可以使用DROP USER语句删除一个数据库用户。,2019年5月24日,第27页,3管理孤立用户 孤立用户指当前SQL Server实例

12、中没有映射到登录名的数据库用户。 可以获取孤立用户的信息 SQL Server 2005允许我们使用WITHOUT LOGIN子句来创建一个没有映射到登录名的用户。,2019年5月24日,第28页,4启用Guest用户 一个没有映射到用户的登录名试图登录到数据库的时候,SQL Server将尝试使用Guest用户进行连接。,2019年5月24日,第29页,8.3 管理角色,8.3.1 管理实例角色 前面学习了如何允许一个用户访问SQL Server实例,但尚未讨论这些登录名在SQL Server中有哪些权限。由于用户需要访问某些数据,因而需要创建具有执行管理任务权限的登录名。 SQL Serv

13、er在实例级提供了服务器角色来实现这一任务。服务器角色是固定的,不能在实例级创建角色。,2019年5月24日,第30页,通过查询系统函数IS_SRVROLEMEMBER,可以查出当前用户是否属于一个服务器角色。 可以使用系统存储过程sp_addsrvrolemember为现有的服务器角色添加一个登录名。 可以使用存储过程sp_dropsrvrolemember将一个登录名从服务器角色中删除。,2019年5月24日,第31页,8.3.2 管理数据库角色 一旦创建数据库用户,随之而来的便是管理这些用户权限,可以通过将用户加入一个数据库角色或者为其赋予更细的权限来管理用户。 1创建数据库角色 数据库

14、角色是数据库级的主体,可以使用数据库角色来为一组数据库用户指定数据库权限。SQL Server 2005为数据库创建了一套默认的数据库角色。 我们可以根据特定的权限需求在数据库中加入角色来对数据库用户进行分组。,2019年5月24日,第32页,2管理数据库角色 可以通过查询IS_MEMBER系统函数来判断当前数据库用户是否属于某个数据库角色。 通过使用sp_droprolemember系统存储过程,可以从一个数据库角色删除数据库用户。如果需要删除一个数据库角色,可以使用DROP ROLE语句。,2019年5月24日,第33页,8.3.3 管理应用程序角色 应用程序角色是特殊的数据库角色,用于允

15、许用户通过特定应用程序获取特定数据。应用程序角色不包含任何成员,而且在使用它们之前要在当前连接中将它们激活。激活一个应用程序角色后,当前连接将丧失它所具备的特定用户权限,只获得应用程序角色所拥有的权限。,2019年5月24日,第34页,1创建应用程序角色 可以使用CREATE APPLICATION ROLE语句来创建一个应用程序角色。,2019年5月24日,第35页,2使用应用程序角色 应用程序角色在使用之前必须激活。可以通过执行sp_setapprole系统存储过程来激活应用程序角色。在连接关闭或执行系统存储过程sp_unsetapprole之前,被激活的应用程序角色都将保持激活状态。应用

16、程序角色旨在由客户的应用程序使用,但同样可以在即筛T-SQL批处理中使用它们。,2019年5月24日,第36页,3删除应用程序角色 如果需要删除应用程序角色,可以使用DROP APPLICATION ROLE语句。,2019年5月24日,第37页,8.4 管理架构,SQL Server 2005实现了ANSI中有关架构的概念。架构是一种允许我们对数据库对象进行分组的容器对象。架构对如何引用数据库对象具有很大的影响。在SQL Server 2005中,一个数据库对象通过由4个命名部分所组成的结构来引用: . 使用架构的一个好处是它可以将数据库对象与数据库用户分离,数据库用户从数据库中删除更快速。,2019年5月24日,第38页,8.4.1 认识架构 可以使用CREATE SCHEMA语句来创建数据库架构。创建数据库架构的时候,可以在调用CREATE SCHEMA语句的事务中创建数据库对象并指定权限。 可以使用DROP SCHEMA语句来删除一个架构。SQL Server 2005不允许删除其中仍含有对象的架构

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

当前位置:首页 > 高等教育 > 大学课件

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