sql+server+2008基础教程+(3)

上传人:xh****66 文档编号:61680581 上传时间:2018-12-09 格式:PPT 页数:85 大小:1.59MB
返回 下载 相关 举报
sql+server+2008基础教程+(3)_第1页
第1页 / 共85页
sql+server+2008基础教程+(3)_第2页
第2页 / 共85页
sql+server+2008基础教程+(3)_第3页
第3页 / 共85页
sql+server+2008基础教程+(3)_第4页
第4页 / 共85页
sql+server+2008基础教程+(3)_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《sql+server+2008基础教程+(3)》由会员分享,可在线阅读,更多相关《sql+server+2008基础教程+(3)(85页珍藏版)》请在金锄头文库上搜索。

1、2018年12月9日,第1页,第3章 管理安全性,本章概述 本章要点 本章内容,2018年12月9日,第2页,本章概述,安全性是数据库管理系统的重要特征。能否提供全面、完整、有效、灵活的安全机制,往往是衡量一个分布式数据库管理系统是否成熟的重要标志,也是用户选择合适的数据库产品的一个重要判断指标。 Microsoft SQL Server 2008系统提供了一整套保护数据安全的机制,包括角色、架构、用户、权限等手段,可以有效地实现对系统访问和数据访问的控制。本章全面讲述Microsoft SQL Server 2008系统的安全管理。,2018年12月9日,第3页,本章要点,理解数据库安全性问

2、题和安全性机制之间的关系 管理和维护登录名 SQL Server系统的密码策略 固定服务器角色的特点和管理 管理和维护数据库用户 管理和维护架构 权限类型和权限管理 系统内置的加密机制,2018年12月9日,第4页,本章内容,3.1 概述 3.2 管理登录名 3.3 固定服务器角色 3.4 管理数据库用户 3.5 管理架构 3.6 数据库角色 3.7 管理应用程序角色 3.8 管 理 权 限 3.9 SQL Server 2008内置的加密机制 3.10 使用SQL Server Management Studio工具 3.11 本章小结,3.1 概述,安全性是所有数据库管理系统的一个重要特征

3、。理解安全性问题是理解数据库管理系统安全性机制的前提。 下面结合Microsoft SQL Server 2008系统的安全特征,分析安全性问题和安全性机制之间的关系。,2018年12月9日,第5页,登录到系统,第一个安全性问题:当用户登录数据库系统时,如何确保只有合法的用户才能登录到系统中?这是一个最基本的安全性问题,也是数据库管理系统提供的基本功能。 在Microsoft SQL Server 2008系统中,通过身份验证模式和主体解决这个问题。,2018年12月9日,第6页,身份验证模式,身份验证模式是Microsoft SQL Server 2008系统验证客户端和服务器之间连接的方式

4、。Microsoft SQL Server 2008系统提供了两种身份验证模式:Windows身份验证模式和混合模式。在Windows身份验证模式中,用户通过Microsoft Windows用户账户连接时,SQL Server使用Windows操作系统中的信息验证账户名和密码。Windows身份验证模式使用Kerberos安全协议,通过强密码的复杂性验证提供密码策略强制、账户锁定支持、支持密码过期等。在混合模式中,当客户端连接到服务器时,既可能采取Windows身份验证,也可能采取SQL Server身份验证。当设置为混合模式时,允许用户使用Windows身份验证SQL Server身份验证

5、进行连接。,2018年12月9日,第7页,主体,主体是可以请求系统资源的个体、组合过程。例如,数据库用户是一种主体,可以按照自己的权限在数据库中执行操作和使用相应的数据。 Microsoft SQL Server 2008系统有多种不同的主体,不同主体之间的关系是典型的层次结构关系,位于不同层次上的主体其在系统中影响的范围也不同。位于层次比较高的主体,其作用范围比较大;位于层次比较低的主体,其作用范围比较小。,2018年12月9日,第8页,操作,第二个安全性问题:当用户登录到系统中,他可以执行哪些操作、使用哪些对象和资源? 这也是一个基本的安全问题,在Microsoft SQL Server

6、2008系统中,通过安全对象和权限设置来解决这个问题。,2018年12月9日,第9页,主体和安全对象的结构示意图,2018年12月9日,第10页,所有,第三个安全性问题:数据库中的对象由谁所有?如果是由用户所有,那么当用户被删除时,其所拥有的对象怎么办,难道数据库对象可以成为没有所有者的“孤儿”吗? 在Microsoft SQL Server 2008系统中,这个问题是通过用户和架构分离来解决的。,2018年12月9日,第11页,数据库对象、架构和用户之间的关系示意图,2018年12月9日,第12页,3.2 管理登录名,管理登录名包括创建登录名、设置密码策略、查看登录名信息及修改和删除登录名等

7、。 下面讲述登录名管理的内容,注意,sa是一个默认的SQL Server登录名,拥有操作SQL Server系统的所有权限。该登录名不能被删除。当采用混合模式安装Microsoft SQL Server系统之后,应该为sa指定一个密码。,2018年12月9日,第13页,创建登录名,在Microsoft SQL Server 2008系统中,许多操作都既可以通过Transact-SQL语句完成,也可以通过Microsoft SQL Server Management Studio工具来完成。 下面主要介绍如何使用Transact-SQL语句创建登录名。在创建登录名时,既可以通过将Windows登

8、录名映射到SQL Server系统中,也可以创建SQL Server登录名。,2018年12月9日,第14页,使用Windows登录名创建登录名,2018年12月9日,第15页,创建有默认数据库的登录名,2018年12月9日,第16页,创建SQL Server登录名,2018年12月9日,第17页,Microsoft SQL Server 2008系统的密码策略问题,密码复杂性和密码过期两大特征 密码的复杂性是指通过增加更多可能的密码数量来阻止黑客的攻击。 密码过期策略是指如何管理密码的使用期限。在创建SQL Server登录名时,如果使用密码过期策略,那么系统将提醒用户及时更改旧密码和登录名

9、,并且禁止使用过期的密码。,2018年12月9日,第18页,关键字,在使用CREATE LOGIN语句创建SQL Server登录名时,为了实施上述的密码策略,可以指定HASHED、MUST_CHANGE、CHECK_EXPIRATION、CHECK_PLICY等关键字。,2018年12月9日,第19页,HASHED关键字,HASHED关键字用于描述如何处理密码的哈希运算。 在使用CREATE LOGIN语句创建SQL Server登录名时,如果在PASSWORD关键字后面使用HASHED关键字,那么表示在作为密码的字符串存储到数据库之前,对其进行哈希运算。 如果在PASSWORD关键字后面没

10、有使用HASHED关键字,那么表示作为密码的字符串已经是经过哈希运算之后的字符串,因此在存储到数据库之前不再进行哈希运算了。,2018年12月9日,第20页,其他关键字,MUST_CHANGE关键字表示在首次使用新登录名时提示用户输入新密码。 CHECK_ EXPIRATION关键字表示是否对该登录名实施密码过期策略。 CHECK_PLICY关键字表示对该登录名强制实施Windows密码策略。,2018年12月9日,第21页,使用密码策略创建SQL Server登录名,2018年12月9日,第22页,维护登录名,登录名创建之后,可以根据需要修改登录名的名称、密码、密码策略、默认的数据库等信息,

11、可以禁用或启用该登录名,甚至可以删除不需要的登录名。,2018年12月9日,第23页,使用ALTER LOGIN修改登录名,2018年12月9日,第24页,修改Rudolf登录名的密码,2018年12月9日,第25页,禁用和启用登录名,2018年12月9日,第26页,3.3 固定服务器角色,固定服务器角色是服务器级别的主体,它们的作用范围是整个服务器。 固定服务器角色已经具备了执行指定操作的权限,可以把其他登录名作为成员添加到固定服务器角色中,这样该登录名可以继承固定服务器角色的权限。 下面首先讲述Microsoft SQL Server 2008系统提供的固定服务器角色的特点,然后分析如何处

12、理登录名与固定服务器角色之间的关系。,2018年12月9日,第27页,固定服务器角色的特点,固定服务器角色也是服务器级别的主体,已经具备了执行指定操作的权限。 Microsoft SQL Server 2008系统提供了9个固定服务器角色,这些角色的清单和功能描述如表3-1所示。,2018年12月9日,第28页,固定服务器角色,2018年12月9日,第29页,固定服务器角色和登录名,在Microsoft SQL Server系统中,可以把登录名添加到固定服务器角色中,使登录名作为固定服务器角色的成员继承固定服务器角色的权限。 对于登录名来说,可以判断其是否为某个固定服务器角色的成员。 用户可以

13、使用sp_addsrvrolemember、sp_helpsrvrolememeber、sp_dropsrvrolemember等存储过程和IS_SRVROLEMEMBER函数来执行有关固定服务器角色和登录名之间关系的操作。,2018年12月9日,第30页,sp_addsrvrolemember,如果希望指定的登录名成为某个固定服务器角色的成员,可以使用sp_addsrvrolemember存储过程来完成这种操作。 sp_addsrvrolemember存储过程的语法如下: sp_addsrvrolemember login_name, role_name,2018年12月9日,第31页,在s

14、ysadmin角色中增加成员,2018年12月9日,第32页,sp_helpsrvrolemember,如果要查看指定的固定服务器角色的成员或所有的固定服务器角色的成员,可以使用sp_helpsrvrolemember存储过程。 如果希望判断指定的登录名是否为某个固定服务器角色的成员,可以使用IS_SRVROLEMEMBER函数。该函数返回值是1时,表示当前用户的登录名是成员;返回0时,表示不是成员;否则,表示指定的固定服务器角色名称是错误的。是表示该登录名成员不是当前固定服务器角色的成员,但是依然作为系统的登录名存在。,2018年12月9日,第33页,sp_dropsrvrolemember

15、,如果希望把固定服务器角色的某个成员删除,那么可以使用sp_dropsrvrolemember存储过程。删除固定服务器角色的登录名成员,只是表示该登录名成员不是当前固定服务器角色的成员,但是依然作为系统的登录名存在。,2018年12月9日,第34页,3.4 管理数据库用户,数据库用户是数据库级的主体,是登录名在数据库中的映射,是在数据库中执行操作和活动的行动者。 在Microsoft SQL Server 2008系统中,数据库用户不能直接拥有表、视图等数据库对象,而是通过架构拥有这些对象。数据库用户管理包括创建用户、查看用户信息、修改用户、删除用户等操作。,2018年12月9日,第35页,创

16、建用户,可以使用CREATE USER语句在指定的数据库中创建用户。 由于用户是登录名在数据库中的映射,因此在创建用户时需要指定登录名。,2018年12月9日,第36页,创建登录名的数据库用户,2018年12月9日,第37页,创建带有默认架构的数据库用户,2018年12月9日,第38页,查看和dbo,如果希望查看数据库用户的信息,可以使用sys.database_principals目录视图。该目录视图包含了有关数据库用户的名称、ID、类型、默认的架构、创建日期和最后修改日期等信息。 dbo是数据库中的默认用户。SQL Server系统安装之后,dbo用户就自动存在了。dbo用户拥有在数据库中操作的所有权限。默认情况下,sa登录名在各数据库中对应的用户是dbo用户。,2018年12月9日,第39页,激活guest用户,2018年12月9日,第40页,维护用户,可以使用ALTER USER语句修改用户。修改用户包括两个方面,第一,可以修改用户名;第二可以修改用户的默认架构。 修改用户名与删除、重建用户是不同的。修改用户名仅仅是名称的改变,不是用户与登录名对应关系的改变,也不

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

当前位置:首页 > 生活休闲 > 科普知识

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