SQL2005账户权限及安全设置
Alex 编写整理sqlserver2005安装步骤教程
目录
一、SQL账户和角概念介绍 (2)
二、SQL账号验证模式介绍及设置 (3)
A、验证模式介绍 (3)
B、验证模式设置 (4)
三、SQL账户和角具体设置 (5)
A、创建服务器登录账户 (5)
B、创建数据库用户 (9)
C、数据库用户角 (15)
四、应用程序角 (20)
五、用户和角的权限问题 (21)
六、总结 (21)
✧在进行SQL账户权限设置之前,需要先明确以下几个概念及彼此间的关系。
一、SQL账户和角概念介绍
在SQL Server中,账户有两种:一种是登录服务器的登录账户(login name),即服务器登录名;另外一种是使用数据库的用户账户(user name),即数据库用户。
●服务器登录名:指有权限登录到某服务器的用户,登录账户只是让用户登录
到SQL Server中,登录名本身并不能让用户访问服务器中的数据库。要访问特定的数据库,还必须具有用户名。
●服务器角:指一组固定的服务器用户,默认有8组,对新建的服务器登录
名必须指定某些服务器角,相当于对服务器登录名进行第一步的权限分配。
注意:服务器角不容许更改。
●数据库用户:指有权限能操作数据库的用户,用户名在特定的数据库内创建,
并关联一个登录名(当一个用户创建时,必须关联一个登录名)。
●数据库角:指一组固定的有某些权限的数据库角,通过给数据库用户指
派某些角来限制数据库用户操作数据库的权利范围,这一步相当于对服务器登录名进行第二步权限分配。(通过自定义数据库角可以避免对多个数据库用户重复定义相同的权限。)
注意:数据库角可以修改或新建。
●数据库用户账户权限规则,一般有9中不同的用户权限规则,通过给用指定
不同的权限规则来限制用户对数据库的操作动作及范围,用户权利规则的分配是对服务器登录名进行权限分配的最终、最详细一步。
●数据库架构:指数据库对象的容器,包括数据库对象表、视图、存储过程、
函数等。(可以理解为将多个数据库对象分类组合成不同数据库架构,每个架构中包括了符合自身架构
特点的数据库对象)
登录名和用户名的关系如下图:
拓展:
SQL Server 2005服务器在安装成功后,已经自动创建了一些登录帐户。如sa帐户是给SQL Server 2005系统管理员使用的,它是一个特殊的帐户,该帐
户拥有最高的管理权限,可以执行服务器范围内的所有操作。为了安全起见,sa 帐户在默认情况下是禁用的。
另外还有“BUILTIN\Administrators”帐户,是为Windows系统管理员管理SQL Server 2005服务器而提供的,它也可以执行服务器范围内的所有操作。
dbo:数据库内置的管理员,即系统默认的数据库用户,是sa的映射用户名。
二、SQL账号验证模式介绍及设置
A、验证模式介绍
为了实现安全性,SQL Server对用户的访问进行两个阶段的检验:
●验证阶段(Authentication):用户在SQL Server上获得对任何数据库的访问
权限之前,必须登录到SQL Server上,并且被认为是合法的。SQL Server 或者Windows对用户进行验证。如果验证通过,用户就可以连接到SQL Server上;否则,服务器将拒绝用户登录。从而保证了系统安全。
●许可确认阶段(Permission Validation):用户验证通过后,登录到SQL Server
上,系统检查用户是否有访问服务器上数据的权限。
在验证阶段,系统是对用户登录进行验证。SQL Server和Windows是结合在一起的,因此就产生了两种验证模式:Windows身份验证模式和混合模式(Windows身份验证和SQL Server身份验证)。
1.Windows验证模式
在Windows验证模式下,SQL Server检测当前使用Windows的用户账户,并在系统注册表中查该用户,以确定该用户账户是否有权限登录。在这种方式下,用户不必提交登录名和密码让SQL Server验证。
Windows验证模式有以下主要优点:
a)数据库管理员的工作可以集中在管理数据库上面,而不是管理用户账户。对
用户账户的管理可以交给Windows去完成。
b)Windows有着更强的用户账户管理工具。可以设置账户锁定、密码期限等。
如果不是通过定制来扩展SQL Server,SQL Server是不具备这些功能的。
c)Windows的组策略支持多个用户同时被授权访问SQL Server。
拓展:
实际上,SQL Server是从RPC协议连接中自动获取登录过程中的Windows用户账户信息的。多协议和命名管道自动使用RPC协议。因此,在客户和服务器间,使用上述网络库可以使用Windows验证模式。
但是,应该注意的是,要使用多协议或者命名管道在客户和服务器将建立连接,必须满足以下两个条件中的一个:
a)客户端的用户必须有合法的服务器上的Windows账户,服务器能够在自己的
域中或者信任域中验证该用户。
b)服务器启动了Guest账户,但是该方法会带来安全上的隐患,因而不是一个好
的方法。
2.混合验证模式
混合验证模式允许以SQL Server验证模式或者Windows验证模式来进行验证。使用哪个模式取决于在最初的通信时使用的网络库。如果一个用户使用的是TCP/IP Sockets进行登录验证,则将使用SQL Server
验证模式;如果用户使用命名管道,则登录时将使用Windows验证模式。这种模式能更好地适应用户的各种环境。但是对于Windows 9x系列的操作系统,只能使用SQL Server验证模式。
SQL Server验证模式处理登录的过程为:用户在输入登录名和密码后,SQL Server在系统注册表中检测输入的登录名和密码。如果输入的登录名存在,而且密码也正确,就可以登录到SQL Server上。
混合验证模式具有如下优点:
●创建了Windows之上的另外一个安全层次。
●支持更大范围的用户,例如非Windows客户、Novell网络等。
●一个应用程序可以使用单个的SQL Server登录和口令。
B、验证模式设置
在第一次安装SQL Server,或者使用SQL Server连接其他服务器的时候,需要指定验证模式。对于已经指定验证模式的SQL Server服务器,在SQL Server 中还可以进行修改。
●打开SQL Server Management Studio窗口,在“对象资源管理器”窗口中,
选择服务器,然后右击鼠标,在弹出的快捷菜单上选择“属性”命令,然后在打开的“服务器属性”对话框中,选择“安全性”选项,打开“安全性”
选项卡。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。