首页 > 范文大全 > 正文

SQL SERVER 2005数据库安全管理机制

开篇:润墨网以专业的文秘视角,为您筛选了一篇SQL SERVER 2005数据库安全管理机制范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘 要】sql server2005的安全管理机制是一个难点。它能够对用户访问SQL Server2005服务器系统和数据库的安全进行全面地管理。可以为SQL Server2005构造出一个灵活的、可管理的安全策略,本文针对安全管理涉及的几个方面进行讨论。

【关键词】身份验证;用户管理;架构;角色;权限

Microsoft为SQL Server2005建立了一种既灵活又强大的安全管理机制,它能够对用户访问SQL Server2005服务器系统和数据库的安全进行全面地管理。SQL Server2005数据库逻辑结构及相对应的安全管理机制如图1所示:

图1 SQLServer2005数据库逻辑结构图

1 概念

服务器登录名Server Login,服务器角色Server Role,数据库用户DB User,数据库架构DB Schema,数据库角色DB Role 。以上几个名词应该从服务器与数据库来区分,服务器包含一到多个数据库,其中:

服务器登录名:指有权限登录到某服务器的用户;服务器角色:指一类服务器用户,默认有9类;数据库用户:指有权限能操作数据库的用户;数据库角色:指一类固定的有某些权限的数据库用户;架构:指数据库对象的容器,类似操作系统中的文件夹;数据对象:如数据库中的表,视图,存储过程等。

2 登录身份验证

SQLServer的两种登录验证模式:Windows身份验证和SQLServer身份验证。Windows的验证是请求域控制器检查用户身份的合法性。SQLServer2005的验证是把一组帐户、密码与Master数据库Sysxlogins表中的一个清单进行匹配。当用户想连接到SQL SERVER2005 服务器的时候,必须先选择一种身份验证模式。

SQL的验证模式分为两种WINDOWS验证模式和混合验证模式。WINDOWS身份验证模式安全性相对要高,应该尽量使用WINDOWS身份验证模式。混合身份验证模式下,验证分为WINDOWS身份验证和SQL身份验证,允许用户WINDOWS登录账户或使用SQL登录账户连接SQL SERVER。

3 数据库用户管理与角色管理

登录名提供身份验证,而通过用户可以取得特定的对数据库操作的权限。否则,即使拥有登陆名,还是无法进行数据库的访问。在每个数据库中都有一个用户集,并且登陆名和用户名是对应的关系,即一个登录名在每一个数据库中只能创建一个用户名。

4 理解角色的概念及为角色分配权限

关于角色,其概念相当于用户组,使用角色有助于减轻安全管理的负担,可以创建一个角色,为这个角色分配一定的权限,然后再把用户加入到这个角色中,则这些属于相同角色的用户将拥有相同的权限。角色有两种:

一是,固定数据库服务器角色,不能添加、删除和修改,其所对应的权限是数据库服务器权限,用于对服务器的管理;二是,数据库角色,又可分为两种,固定数据库角色和用户自定义角色,对应的权限是数据库的权限,用于对数据库对象的管理。

5 安全对象、架构

在SQL SERVER2005中引入了安全对象和架构这样的新概念,这是SQL SERVER2005对权限设置的一个重大改进。安全对象是可以通过权限进行保护的实体的分层集合,这些实体称为安全对象,具体讲安全对象有服务器、数据库和数据库包含的对象。而引入架构可以提高权限的设置力度,这使得访问安全对象的格式为:服务器名、数据库名、架构名、对象名。架构是形成单个命名空间的数据库实体的集合。命名空间是一个集合,其中每个元素的名称都是唯一的。可以把架构理解为文件夹,且这种文件夹不允许嵌套,也就是说架构是一种容器,可以在其中放入数据库对象。数据库用户与所有者隐式绑定的方式会带来一些问题,如一个用户创建了某个数据库对象(如表),则在SQL SERVER2005 2005中该用户自动绑定到该数据库对象(如表)的所有者(DBO),如果要删除该用户则提示该用户有一个数据库对象(如表对象),也就是说要删除用户,就必须先删除它所拥有的表,这显然是缺乏灵活性。因此在SQL SERVER2005 2005中就引入架构的概念,使用户和数据库对象分离。SQL SERVER2005中的所有安全对象都必须指定存放的具体架构。任何用户都必须指定存放它的拥有对象的架构,如果不指定,默认存放的架构是DBO。但是并没有授予数据库用户在DBO架构创建对象的权限,即用户只能使用(如查询)默认的DBO架构,用户并不是DBO架构的所有者。默认架构是服务器解析DML或DDL语句中指定的未限定的对象名称时搜索的架构。因此,当引用的对象包含在默认架构中时,不需要指定架构名。

6 权限管理

创建好角色之后就可以分配权限。在SQL SERVER2005中权限管理分为:对象权限、语句权限和暗示权限。权限管理有三个方面:一是,权限的拥有者,有登录账户、角色中的成员和数据库用户;二是,权限涉及的资源。

对象权限是基于数据库层次上的访问和操作权限。语句权限表示用户能否对数据库及其对象执行创建类和备份类的语句。语句权限仅限于语句本身,而不是数据库对象。暗示性权限是指固定服务器角色、固定数据库角色和数据库对象所有者具有的默认权限。固定服务器角色和固定数据库角色的成员自动继承角色的默认权限,而数据库对象的所有者在其创建的数据对象上拥有全部权限,这就是数据库对象所有者的默认权限。

SQL SERVER2005数据库安全管理机制只是保证数据安全的一种措施,在评估安全框架的过程中,其它的安全措施还包括密码策略、审核策略、数据库服务器隔离以及加密保护敏感数据等。

【参考文献】

[1]姜洪波,等.SQL Server 2005数据库应用与开发[M].清华大学出版社.

[2]朱晔,等,译.SQL Server 2005范例代码查询词典[M].人民邮电出版社.