《MS SQL Server 2000管理员手册》系列——34. 使用者与安全性管理[1]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

34. 使用者与安全性管理
建立与管理使用者登入账户
管理数据库存取权限
管理数据库角色
安全性账户授权
本章总结
本章将学习在 Microsoft SQL Server 2000 环境下管理使用者并确保安全性。安全性管理和备份、回复计划、容量规模及空间管理一样,都是 DBA 例行的工作。少了系统的安全性,数据就会遗失或被破坏。
本章涵盖了使用者和安全性管理有关的主题。我们会学习建立与管理使用者登入账户,以及不同的验证模式;另外还将学习 SQL Server 使用者 ID。 使用者登入账户 (user login)是用来验证使用者是否允许存取该 SQL Server,可透过 Microsoft Windows NT、Microsoft Windows 2000 或 SQL Server 来验证。 使用者ID (user ID)分配使用者权限,用来在个别数据库中存取特定对象。使用者 ID 与使用者登入账户相关,不过两者可以设定一样的名称,也可以设定不一样的名称,这些稍后将在本章讨论。本章学习在 SQL Serve r中分配的不同类型权限,以及如何使用权限。另外也会学习利用角色简化使用者的管理工作。最后会学到的是 SQL Server 2000 安全账户授权。在看完本章后,您应具备管理使用者登入账户和安全性的常识。
建立与管理使用者登入账户
 
现在先透过使用者登入账户,开始管理使用者与安全性的第一步。本节会介绍登入账户的重要性,以及用于维持登入账户的验证模式。接着我们会介绍三种建立登入的方法:使用 SQL Server Enterprise Manager、使用 Transact-SQL(T-SQL),以及使用 建立登入精灵 。最后回学习利用 Enterprise Manager 和T-SQL建立新的使用者账户。
建立使用者登入账户的原因
 
使用者登入账户可达到保护数据的目的,避免数据库被未验证过的使用者有意或无意的更改。利用使用者登入账户可识别 SQL Server 中的每一个授权使用者。每个使用者登入账户都拥有一组唯一的名称和密码。如果没有使用者登入账户,所有对 SQL Server 的连接将使用同一个识别符号,这样就无法根据不同层级的使用者设立不同层级的安全存取范围。
使用者登入账户可设定不同层级的安全存取,也就是用不同的登入账户就有不同存取对象和执行功能的权限。我们可对某些数据库对象加密,例如将预存程序和检视对未验证使用者隐藏定义。使用者登入账户可以允许特定层级的使用者插入或更新新信息至数据库数据表,而一般层级的使用者只能用只读方式存取数据表。
让我们回到 第 18 章 的范例,了解登入账户如何限制数据的存取。范例中利用检视表限制对特定数据的存取。假定一个 Employee 资料表中包含职员姓名、电话号码、办公室号码、等级、工资、奖金等信息,为避免使用者存取数据表中的机密数据,要先建立检视表,只包含如职员姓名、电话号码及办公室号码等较不机密的信息,透过使用者登入账户限制存取基底数据表的数据,仅允许检视表数据的存取。当然,如果没有利用使用者登入账户做控管,而允许任何使用者存取检视表或数据表,就失去了使用检视表的意义。
验证模式
 
验证模式有两种:Microsoft Windows 验证和混合模式验证。在 Windows 验证模式中,操作系统会负责验证使用者,在 SQL Server 中利用操作系统的验证决定使用者的权限。在混合模式验证中,Windows NT/2000 和 SQL Server 同时负责验证使用者。在存取 SQL Server 之前,必须先登入 Windows NT/2000 账户。因此选择验证模式前,必须决定是否要使用双重的验证。让我们更详细的了解这两种验证模式,然后学习执行这些模式。
Windows 验证
 
在 Windows 验证中,SQL Server 透过 Microsoft Windows NT/2000 来提供登入的安全性。当使用者登入 Windows NT/2000,同时确认了使用者账户身份。然后 SQL Server 将验证使用者是否为 Windows NT/2000 确认的使用者,然后依验证身分给与数据库存取的权限。SQL Server 的登入程序结合了 Windows 的安全登入程序,透过 Windows NT/2000 提供的复杂加密过程,建置了网络安全性属性。由于 SQL Server 和 Windows 的登入安全性验证是结合在一起的,所以这种方式不再需要别的验证方法。用来登入的唯一密码就是 Windows NT/2000 的密码。
Windows 验证是比混合验证模式更好的安全性方法,因为它提供了附加的安全性特性,包括安全确认、加密密码、稽核、密码到期时间、最小密码长度,以及在特定次数的失败登入后自动锁定账户。
混合模式验证
 
在混合模式验证中,使用者可以用 Windows 验证或 SQL Server 验证来存取SQL Server。当有一个来自非安全系统的连接时,SQL Server 会验证这个登入,检验是否设定过这个 SQL Server 登入账户。这个账户验证在 SQL Server 中执行,根据储存在数据库中的使用者名称和密码进行检验。在尝试连接 SQL Server 时,系统会提示使用者提供使用者名称和密码。如果没有提供这些信息,SQL Server 系统会拒绝该使用者的存取。
在您执行 Windows 95/98 时无法使用 Windows 验证模式,因此在这些平台上您必须使用 SQL Server 验证(用混合模式验证)。此外,Web 应用程序需要 SQL Server 验证(透过 Internet Information Server,或称为 IIS),因为这些应用程序的使用者并不一定都在同一个网域中,因此就不能依靠 Windows 安全性,这时就需要使用 SQL Server 安全性。其它需要存取数据库的应用程序也同样需要 SQL Server 验证:一些应用程序的开发人员会因为它们的应用程序结构简单而喜欢使用 SQL Server 安全装置。在使用 SQL Server 安全装置时(在信任网络中),应用程序的开发人员不再需要提供应用程序自身的安全性验证,这样可以简化他们的工作。
设定验证模式
 
请依下列步骤,用 Enterprise Manager 设定验证模式:
1. 开启 Enterprise Manager 窗口,在左边窗格中的服务器名称上按一下鼠标右钮,并从快捷菜单中选择 内容 ,进入 SQL Server 属性窗口。按一下 安全性 页签,如图34-1所示。
 
 
图34-1 「SQL Server属性」窗口的「安全性」页签
2. 在这个页签中,选择安全性方法和启动服务账户。在 安全性 区域中,指定是否使用 Windows NT/2000 和 SQL Server(混合模式)验证,或只使用 Windows NT/2000 验证。这里可以指定登入稽核层级。登入稽核层级指定保留哪些登入时的记录。应该根据安全性需要选择稽核等级,有四个等级可使用:
o  无 预设选项;不执行登入稽核。
 
o  成功 记录所有成功的登入尝试。
 
o  失败 记录所有失败的登入尝试。
 
o  全部 记录所有的登入尝试。
 
________________________________________
说明
稽核层级是一个数据库属性,同样的,这个设定将套用到所有的登入上。
________________________________________
3. 在 启动服务账户 区域中,指定在启动 SQL Server 服务时使用的 Windows NT 账户。可使用内建的本机系统账户,或指定一个账户后提供密码。按 确定 接受设定。
登入账户和使用者
 
接下来的几个章节中将学习建立登入账户和使用者。在开始之前,需要先了解何谓登入账户和使用者。这里仅将这两个字词简要的定义。
我们可以看到,要连到数据库中,可能会需要 Windows NT/2000 使用者账户,或许同时也许需要使用 SQL Server 验证。不论使用的是 Windows NT/2000 验证或混合模式验证,连接到 SQL Server 的账户都被称为「登入」账户。除了 SQL Server 登入账户,每个数据库会分配一组指定的使用者,这些使用者是虚拟账户。这些虚拟账户提供 SQL Server 登入账户一个别名。例如在 Northwind 数据库中,也许有使用者的名称为 manager ,而这个使用者名称和 SQL Server 登入账户 guest 有关;在 pubs 数据库中,可能有使用者名称也是 manager ,而这个使用者名称却与 SQL Server 登入账户 sa 有关。在预设情况下,SQL Server 登入账户和数据库使用者 ID 设定没有相关,因此并没有任何权限。
建立 SQL Server 登入账户
 
大部分的管理任务可以使用多种方法执行,而建立使用者登入账户也不例外。您能透过三种途径的任何一种来建立登入:使用 Enterprise Manager、使用 T-SQL 或使用 Create SQL Server Login Wizard。在本节中,您将学到如何使用这三种方法建立 SQL Server 登入账户。
利用 Enterprise Manager 建立 SQL Server 登入账户
 
要利用 Enterprise Manager 建立 SQL Server 登入账户,请按照下列步骤操作:
1. 在 Enterprise Manager 窗口的左边窗格中,展开服务器群组、服务器,然后展开 安全性 数据夹。在 登入 上按一下鼠标右钮,然后在快捷菜单中选择 新增登入 ,进入 SQL Server 登入属性窗口,如图34-2所示。在 一般 页签的 名称 文字方块中键入SQL Server登入账户。如果使用的是Windows验证,那么这个名称必须是有效的Windows NT或Windows 2000账户名称。接下来在 网域 文字方块中指定 Windows NT 或 Windows 2000 的网域。在预设区域指定使用者使用的预设数据库和语言。在 验证 区域中,指定是否使用 Windows NT 或 Windows 2000 账户,或者使用 SQL Server 验证。如果选择 SQL Server 验证,则使用混合模式验证。
 
 
图34-2 「SQL Server 登入属性」窗口的「一般」页签
2. 按一下 服务器角色 页签,如图34-3所示。在这个页签中可以指定新的登入选取的服务器角色,在可使用的角色清单中选择。按一下 属性 允许检视和修改所选取的角色。(有关角色的讨论将在本章的 <管理数据库角色> 一节中进行。)
 
 
图34-3 「SQL Server 登入属性」窗口的「服务器角色」页签
3. 选取 数据库存取 页签,如图34-4所示。这个页签可指定权限使用者可以存取的数据库。(数据库权限将在 <管理数据库存取权限> 一节中说明。)您可选择多个数据库以及对于这些数据

本文关键:《MS SQL Server 2000管理员手册》系列——34. 使用者与安全性管理
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top