在改进SQL Server 7.0系列所实现的安全机制的过程中,Microsoft建立了一种既灵活又强大的安全管理
机制,它能够对用户访问SQL Server服务器系统和数据库的安全进行全面地管理。按照本文介绍的步骤,你
可以为SQL Server 7.0(或2000)构造出一个灵活的、可管理的安全策略,而且它的安全性经得起考验。
三、设置全局组
构造安全策略的下一个步骤是确定用户应该属于什么组。通常,每一个组织或应用程序的用户都可以按
照他们对数据的特定访问要求分成许多类别。例如,会计应用软件的用户一般包括:数据输入操作员,数据
输入管理员,报表编写员,会计师,审计员,财务经理等。每一组用户都有不同的数据库访问要求。
控制数据访问权限最简单的方法是,对于每一组用户,分别地为它创建一个满足该组用户权限要求的、
域内全局有效的组。我们既可以为每一个应用分别创建组,也可以创建适用于整个企业的、涵盖广泛用户类
别的组。然而,如果你想要能够精确地了解组成员可以做些什么,为每一个应用程序分别创建组是一种较好
的选择。例如,在前面的会计系统中,我们应该创建Data Entry Operators、Accounting Data Entry
Managers等组。请记住,为了简化管理,最好为组取一个能够明确表示出作用的名字。
除了面向特定应用程序的组之外,我们还需要几个基本组。基本组的成员负责管理服务器。按照习惯,
我们可以创建下面这些基本组:SQL Server Administrators,SQL Server Users,SQL Server Denied
Users,SQL Server DB Creators,SQL Server Security Operators,SQL Server Database Security
Operators,SQL Server Developers,以及 DB_Name Users(其中DB_Name是服务器上一个数据库的名
字)。当然,如果必要的话,你还可以创建其他组。
创建了全局组之后,接下来我们可以授予它们访问SQL Server的权限。首先为SQL Server Users创建一
个NT验证的登录并授予它登录权限,把Master数据库设置为它的默认数据库,但不要授予它访问任何其他数
据库的权限,也不要把这个登录帐户设置为任何服务器角色的成员。接着再为SQL Server Denied Users重复
这个过程,但这次要拒绝登录访问。在SQL Server中,拒绝权限始终优先。创建了这两个组之后,我们就有
了一种允许或拒绝用户访问服务器的便捷方法。