




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQL Server 2005 数据库应用与开发,第10章 SQL Server 2005的安全管理,内容提要: SQL Server 2005数据库系统具有各种高度精确的可配置安全特性,可以实现经过优化的深度防御。 本章主要介绍: SQL Server的安全体系结构 两种验证模式及其设置 登录账号的设置 角色与用户的创建方法 权限设置与使用,第10章 SQL Server 2005的安全管理,本章内容: 10.1 SQL Server 2005的安全性机制 10.2 管理服务器范围的安全性 10.3 管理数据库范围的安全性 10.4 管理密匙与证书 10.5 权限管理 10.6小结,10.1
2、SQL Server 2005的安全性机制,SQL Server 2005的安全性机制主要包括以下5个方面的内容: SQL Server 2005客户机的安全机制。 网络传输的安全机制。 SQL Server 2005服务器的安全机制。 数据库的的安全机制。 数据对象的安全机制。,10.1SQL Server 2005的安全性机制,10.1.1基本概念 若要在SQL Server 2005的安全机制下,首先需要了解下面常用的基本概念或术语。 (1)主体(Principal)。主体是可以请求对SQL Server资源的访问权限的用户、组和进程。主体有几个共同的特征。每个主体都有自己的安全标识号(
3、SID)。主体可以是主体的集合(比如数据库角色或Windows组)或不可分割的主体(比如本地登录或域登录)。每个主体有一个作用域,作用域基于定义主体的级别。,10.1SQL Server 2005的安全性机制,10.1.1基本概念 (2)安全对象。安全对象是 SQL Server 2005数据库引擎授权系统控制对其进行访问的资源。通过创建可以为自己设置安全性的名为“范围”的嵌套层次结构,可以将某些安全对象包含在其他安全对象中。安全对象范围包括服务器、数据库、架构和对象。,10.1SQL Server 2005的安全性机制,10.1.1基本概念 (3)用户、数据库用户、账户、账号、登录名和密码。
4、 用户是指能够在SQL Server 2005安全机制下,访问数据库对象中的数据的操作员或客户。用户若要访问数据库对象,必须获得管理员分配的账号和密码。从SQL Server 2005管理系统的角度来看,用户就是一组匹配的账户和密码。 账户和账号是一个概念的不同说法,在服务器中的账户又叫登录名(Login),因此访问服务器也称为登录服务器。服务器的登录名可以映射到数据库中成为数据库用户。一个登录名可以映射多个数据库用户,而一个用户只能映射一个登录名。,10.1SQL Server 2005的安全性机制,10.1.1基本概念 (4)角色(roles)。角色是SQL Server 2005中管理权
5、限相近的安全账户的集合,相当于Windows域中的组。 (5)权限。 权限是SQL Server 2005安全性的最后一个级别,实际上是安全机制的设计者分配给某一个用户(或角色)访问数据库时,对数据对象的可以进行的操作集合。要拥有对SQL Server 2005上的安全对象的访问权限,主体必须具有在在数据对象上执行操作的权限。,10.1SQL Server 2005的安全性机制,10.1.1基本概念 (6)身份验证与授权。身份验证(Authentication)是SQL Server 2005系统标识用户或进程的过程,SQL Server 2005 中有两种身份验证方式: Windows身份验
6、证模式和混合身份验证模式。客户端自身必须通过服务器的身份验证后才可以请求其他资源。 授权(Authorization)是授予通过身份验证的用户或进程以访问或修改资源的指定权限的过程。,10.1SQL Server 2005的安全性机制,10.1.3查询权限 用户可以利用fn_my_permissions函数查询用户的有效权限,该函数一般返回调用对方服务器的有效权限列表。 fn_my_permissions函数语法格式如下: fn_my_permissions (securable , securable_class) fn_my_permissions 函数的返回列如表10.1所示.,10.1
7、SQL Server 2005的安全性机制,10.1.1基本概念,例10.1 列出对服务器的有效权限。 程序代码如下: USE master GO SELECT * FROM fn_my_permissions (NULL, SERVER); GO,例10.2 列出对数据库test01的有效权限 程序代码如下: USE test01 GO SELECT * FROM fn_my_permissions (NULL, DATABASE); GO,10.1SQL Server 2005的安全性机制,10.1.1基本概念,例10.3 列出对表的有效权限。 分析:以下示例返回调用方对teaching数
8、据库内dbo架构中teacher的有效权限的列表。 程序代码如下: USE teaching; GO SELECT * FROM fn_my_permissions(dbo.teacher, OBJECT) ORDER BY subentity_name, permission_name ;,例10.4列出一个用户的有效权限 分析:以下示例返回数据库用户dbo对 teaching 数据库内dbo架构中score表的有效权限的列表。调用方需要对用户dbo具有 IMPERSONATE 权限。 程序代码如下: EXECUTE AS USER = dbo; SELECT * FROM fn_my_pe
9、rmissions(dbo.score, OBJECT) ORDER BY subentity_name, permission_name ; REVERT; GO,10.2 管理服务器范围的安全性,服务器访问权限是属于SQL Server的第1个安全层次,该权限决定是否允许客户端访问服务器,这个安全级别总是由DBA负责。 SQL Server 2005支持用Windows或SQL Server身份验证模式来验证客户端的身份。 10.2.1 SQL Server 2005的验证模式 SQL Server 2005的身份验证基于SQL Server存储在主数据库中的登录名和密码。客户端必须提供登
10、录名和密码,才能获得授权访问服务器。 SQL Server的安全性是和Windows操作系统集成在一起的,因此SQL Server提供了两种确认用户的验证模式:Windows验证和混合验证模式。,10.2 管理服务器范围的安全性,10.2.1 SQL Server 2005的验证模式 1. Windows身份验证模式 SQL Server数据库系统通常运行在Windows服务器平台上,其本身就具备管理登录、验证用户合法性的能力,因此Windows 验证模式正是利用了这一用户安全性和账号管理的机制,允许SQL Server也可以使用Windows的用户账户和密码。 在这种模式下,用户只需要通过W
11、indows的验证,就可以连接到SQL Server,而SQL Server本身也就不需要管理一套登录数据。 Windows身份验证通常被认为更安全和更易维护。Windows身份验证对于用户和管理员来说都比较容易管理。,10.2 管理服务器范围的安全性,10.2.1 SQL Server 2005的验证模式 2. 混合身份验证模式 混合验证模式允许以SQL Server验证模式或者Windows验证模式来进行验证。 混合验证模式先将客户机的账号和密码与SQL Server 2005数据库中存储的账号和密码进行比较,如果符合就通过验证;如果不符合,则再和Windows中存储的账号和密码进行比较,
12、如果符合就通过验证。 Microsoft公司在SQL Server 2005中对SQL Server身份验证作了一些改进。例如,SQL Server实例可以设置为需要安全性更强的口令,以及在指定时间段后要求更新口令。,10.2 管理服务器范围的安全性,10.2.1 SQL Server 2005的验证模式 3更新服务器的身份验证机制的步骤 (1)在“对象资源管理器”中,右击SQL Server 2005数据库实例,在弹出的快捷菜单中,选择“属性”命令。 (2)在“服务器属性”对话框中选择“安全性”选项卡。 (3)在“服务器身份验证”区域可以设置服务器身份验证模式,然后单击“确定”按钮即可完成设
13、置。 (4)重启SQL Server 2005,即可改变身份验证模式。,10.2 管理服务器范围的安全性,10.2.2服务器角色 SQL Server 2005的安全体系结构中包括含有特定隐含权限的两类预定义的角色:服务器角色和固定数据库角色。 服务器角色是执行服务器管理操作的具有相近权限的用户集合。根据SQL Server的管理任务和重要性等级来把具有SQL Server管理职能的用户划分到不同的服务器角色,每一个角色所具有的管理SQL Server的权限都是SQL Server内置的。,10.2 管理服务器范围的安全性,10.2.2服务器角色 服务器角色是服务器级别的主体,可以成为服务器角
14、色的成员以控制服务器作用域中的可保护对象。表10.5列出了SQL Server 2005默认创建的服务器角色及其功能。 SQL Server 2005的服务器角色在实例中的位置如图10.8所示。,10.2 管理服务器范围的安全性,10.2.3管理登录名 登录名就是可以访问SQL Server数据库系统的账户。 1利用SQL Server Management Studio创建登录名 (1)启动SQL Server Management Studio工具后,在“对象资源管理器”下,右击“安全性”下的“登录名”节点,在弹出的快捷菜单中选择“新建登录名”命令。 (2)在“登录名-新建”界面上,设置登
15、录名(te_login)、身份验证模式(SQL Server身份验证)、密码(123456)、默认数据库(teaching)和语言的类型等,如图10.9所示。,10.2 管理服务器范围的安全性,10.2.3管理登录名 1利用SQL Server Management Studio创建登录名 (3)可以选择“服务器角色”选项卡,配置登录的服务器角色,如sysadmin。 (4)也可以选择其他选项卡进行“用户映射”、“安全对象”和“状态”的配置。 (5)然后单击“确定”按钮即可完成登录名的创建。 (6)可以在“对象资源管理器”下查看新建登录名如图10.10所示。,10.2 管理服务器范围的安全性,
16、10.2.3管理登录名 1利用SQL Server Management Studio创建登录名 (7)右击登录名te_login,在弹出的快捷菜单中,选择“编写登录脚本为:”|“CREATE到”|“新查询编辑器窗口”命令,系统将创建登录名的过程以脚本形式保存下来。由此可知利用Transact-SQL语句创建登录名的方法。,脚本中的主要代码如下: CREATE LOGIN te_login WITH PASSWORD=N123456, DEFAULT_DATABASE=teaching, DEFAULT_LANGUAGE=简体中文, CHECK_EXPIRATION=OFF, CHECK_PO
17、LICY=OFF GO EXEC sys.sp_addsrvrolemember loginame = Nte_login, rolename = Nsysadmin GO ALTER LOGIN te_login DISABLE,10.2 管理服务器范围的安全性,10.2.3管理登录名 2测试登录名 下面使用SQL Server Management Studio测试新登录名是否成功连接服务器。 (1)右击SQL Server 中的实例,在快捷菜单中选择“连接”命令。 (2)在弹出的“连接服务器”界面中,选择SQL Serve身份验证,然后输入登录名和密码,如图10.11所示。 (3)单击“
18、连接”按钮可以测试连接是否成功。如图10.12所示。,10.2 管理服务器范围的安全性,10.2.3管理登录名 3利用系统过程管理登录名 利用master数据库下的下列系统存储过程sp_addlogin、sp_droplogin、 sp_password也可以用于管理SQL Server的登录名。 (1)sp_addlogin 。系统过程sp_addlogin可以用于创建SQL Server登录名,用户可以通过该登录访问SQL Server系统,其语法过程如下: sp_addlogin login_name ,passwd,database ,language,例10.5 利用系统过程sp_addlogin向“职员管理”数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 固废清运处理方案
- 电梯生锈改造方案
- 道路绿化提升方案(3篇)
- 胃癌吻合口瘘护理
- 理石管道检修方案
- 口红市场调查方案
- 中老年人健康饮食指南:软嫩高蛋白与均衡搭配
- 门禁安装及维护方案
- 物业项目实务管理方案
- 党建知识党员管理课件
- 2022年海口投资管理有限公司招聘笔试试题及答案解析
- 青蓝工程师傅心得体会
- 风机基础锚栓安装技术交底
- 2022更新国家开放大学电大《调剂学》网络核心课形考网考作业及答案
- 广西鼎固经纬新材料科技有限公司年加工50万吨矿粉生产项目环评报告表
- 外研版六年级英语下册 Module2 unit1 教学课件PPT小学公开课
- 2021-2022学年人教版数学六年级上册第一单元测试卷【含答案】
- 《别墅设计任务书》word版
- EN 4644-001-2017(高清正版)
- 预应力混凝土简支T形梁桥毕业论文
- 变频器变频altivar71说明书
评论
0/150
提交评论