APP下载

SQL Server2005的数据库安全管理

2010-07-31钱伟强

中国新技术新产品 2010年21期
关键词:身份验证账户对象

钱伟强

(陕西交通职业技术学院信息工程系,陕西 西安 710018)

SQL Server2005是微软公司的一款关系型数据库管理系统,采用微软公司在标准SQL语言基础上改进而来的Transact-SQL语言作为其操作语言。虽然其性能和安全性不如甲骨文公司开发的关系-对象型数据库管理系统Oracle,但凭借其自身相对低廉的价格,便易的操作性,以及对微软的程序开发工具集——Visual Studo 2005的无缝支持,使其受到了中小企业、个人用户及程序开发人员的青睐。这些优点,使SQL Server2005占据数据库产品市场第一的份额。

1 登录账户管理

登录用户的身份验证是SQL Server2005安全管理的第一道关。当用户访问数据库服务器时,SQL Sever2005系统会对用户的身份进行验证。验证成功的用户方可允许连接访问SQL Server实例,验证失败的用户无法访问服务器。对于登录用户的不同情况,SQL Server2005提供了两种身份验证模式:windows身份验证模式,及windows身份验证和SQL Server身份验证共同作用的混合模式。

1.1 windows身份验证模式

SQL Server2005利用与windows操作系统出自同门的优势,允许用windows操作系统的帐户验证作为SQL Server2005数据库系统的登录验证。SQL Server数据库服务器中可以保存受信任的windows系统用户账户,当用户以windows身份验证模式登录数据库服务器时,SQL Server回叫windows系统以获取该用户的windows系统账户信息,检查该windows账户是否是已保存的受信任账户,以决定该用户是否可以登录数据库服务器。在windows身份验证模式下,用户不需要输入账号、密码,只要是特定的受信任windows用户就可以直接登录服务器。

?

1.2 混合验证模式

混合验证模式即windows身份验证模式和SQL Server身份验证模式共同验证。在混合验证模式下,受信任的windows用户可以使用windows身份验证模式登录数据库服务器;而对于非受信任windows用户或非windows系统用户,数据库服务器可事先注册保存相应的登录账户名和密码,这部分用户在登录时须选择SQL Server身份验证,通过输入用户名和密码进行验证。混合验证模式比windows身份验证模式增加了安全性方面的选择。

2 数据库用户管理

SQL Server2005安全管理的第二道关是数据库用户的管理。拥有登录账户的用户虽然可以登录数据库服务器,但登录后,只能访问SQL Server实例中的四个系统数据库,而并不具备访问实例上已有的用户数据库的权限,即无法访问实例上的数据。若需要使登录的用户访问某个数据库中的数据,则必须为其登录账户创建该数据库的数据库用户。让登录账户成为数据库用户称为“映射”。一个登录账户可以映射多个数据库用户,而一个数据库用户只对应一个登录账户。数据库用户须在相应数据库中创建,必须与一个登录名相关联。

用户登录服务器后,当其试图访问实例上的某个数据库时,系统会在该数据库的系统表sysusers中查找该登录账户对应的数据库用户名。若该登录账户没有映射任何数据库用户,则系统将其统一映射为默认的Guest用户。但如果该数据库没有Guest用户或Guest用户没有设置任何权限,该用户就无法访问数据库。

3 数据库用户的权限管理

3.1 SQL Server2005权限种类

SQL Server的权限种类包括对象权限、语句权限和隐含权限。

3.1.1 对象权限:是指用户对数据库中表、视图等对象的操作权。主要包括SELECT、INSERT、UPDATE、DELETE 等语句权限。

3.1.2 语句权限:是指是否允许执行数据定义语句的权限。包括:CREATE DATABASE、CREATE TABLE、CREATE VIEW、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CRAETE RULE、BACKUP DATABASE、BACKUP LOG等。

3.1.3 隐含权限:是指由SQL Server预定义的服务器角色、数据库角色、数据库拥有者和数据库对象拥有者所具有的权限。如数据库对象拥有者可以对所拥有的对象执行一切活动,拥有表的用户可以查看、添加或删除数据,更改表定义,或控制允许其他用户对表进行操作的权限。

3.2 部分数据库对象的常用权限(见表1)

3.3 使用数据库角色管理用户权限

SQL Server2005中的数据库角色分为两类,一类是系统默认的固定数据库角色,另一类就是由用户自己创建的自定义数据库角色。固定数据库角色自动包含于每个新创建的数据库,一共有10种,见表2所示:

管理员可以根据用户对操作权限的需求分配其到固定的角色中,也可以自建新的数据库角色并授予相应的权限从而满足特定的权限需求。

4 结语

保证数据库安全是数据库系统设计和管理的重中之重。SQL Server2005提供了全方面多层次的安全保护措施。合理地设置各层次的安全服务措施,制定切实有效地安全管理策略,不但可以提高数据库的管理效率,更保障了数据库中数据的安全。

[1]施伯乐,丁宝康,汪卫编.数据库系统教程[M].北京:高等教育出社.

[2]李春葆,曾平.Sql Server2000应用系统开发教程[M].北京:清华大学出版社.

猜你喜欢

身份验证账户对象
神秘来电
如何切换Windows 10本地账户与微软账户
探索自由贸易账户体系创新应用
外汇账户相关业务
父亲的股票账户
基于熵的快速扫描法的FNEA初始对象的生成方法
区间对象族的可镇定性分析
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia
身份验证中基于主动外观模型的手形匹配
ASP.NET中的Forms身份验证的研究