欢迎来到天天文库
浏览记录
ID:44173094
大小:50.50 KB
页数:6页
时间:2019-10-19
《SQL Server数据库的安全机制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、6-3SQLServer数据库的安全机制MicrosoftSQLServer是一个高性能、多用户的关系型数据库管理系统。它是专为客户机,服务器计算环境设计的,是当前最流行的数据库服务器之一。它的内置数据复制功能、强大的管理工具和开放式的系统体系结构为基于事务的企业级管理方案提供了一个卓越的平台。6.3.1SQLServer的安全体系结构在Windows操作系统上,SQLServer的安全体系中包括操作系统的安全管理机制,同时拥有自身的安全技术。SQLServer数据库管理系统、Windows操作系统和
2、网络技术一起构成数据库系统的安全体系。SQLServer的安全体系结构如图6-5所示。Windows(指WindowsNT、Windows2000及更高版本的windows网络操作系统)用户或其他系统下的用户要想获得对SQLServer数据库的访问,必须通过以下四道安全防线。1)操作系统的安全防线。用户需要一个有效的登录账户,才能对网络系统进行访问。2)SQLServer的身份验证防线。SQLServer通过登录账户来创建附加安全层,一旦用户登录成功,将建立与SQLServer的一次连接。3)SQLS
3、erver数据库身份验证安全防线。当用户与SQLServer建立连接后,还必须成为数据库用户(用户ID必须在数据库系统表中),才有权访问数据库。4)SQLServer数据库对象的安全防线。用户登录到要访问的数据库后,要使用数据库内的对象,必须得到相应权限。4层安全防线中,第一层涉及网络操作系统安全技术,本章不再讨论。后三层综合起来,便形成了SQLServer的安全管理。6.3.2Server的安全管理安全管理数据库管理系统必须提供的功能,其中包含两个层次,一是对用户是否有权限登录到系统及如何登录的管理
4、;二是对用户能否使用数据库中的对象并执行相应操作的管理。SQLServer的安全管理主要包括以下4个方面。l数据库登录管理。l数据库用户管理。l数据库角色管理。l数据库权限管理。1.数据库登录管理访问SQLServer的第一步必须建立到SQLServer的连接,建立连接是通过登录IE实现的。登录ID是账户标识符,用来控制对任何SQLServer系统的访问权限,SQLServer只有在首先验证了指定的登录ID及密码有效后,才完成连接。这种登录验证称为身份认证。SQLServer提供了两种身份认证,Win
5、dows身份认证和SQLServer身份认证,由这两种身份认证派生出两种身份认证模式,Windows身份认证模式和混合模式。1)Windows身份认证。Windows身份认证使用Windows操作系统的内置安全机制,也就是使用Windows的用户或组账号控制用户对SQLServer的访问。在这种模式下,用户只需通过Windows的认证,就可以连接到SQLServer,而SQLServer本身不再需要管理一套登录数据。Windows身份认证采用了Windows安全特性的许多优点,包括加密口令、口令期限、
6、域范围的用户账号及基于Windows的用户管理等,从而实现了SQLServer与Windows登录安全的紧密集成。在网络环境中,如果连接客户机和服务器的所有通信协议都是信任连接协议(即Namedpipes和TCP/IP)时,应采用Windows认证模式。在这种认证模式下'系统只是使用Windows认证进程来确认用户信息。Windows认证模式的优点是,密码一次性访问,不必再记住SQLServer密码。缺点在于,只有通过多协议网库(MultiProtocolNetLibrary,MPNL)或命名管道(N
7、amedPipes,NP)通信协议才是可用的,因此可能出现因网络原因而阻止Windows认证模式的使用。2)混合身份认证。两种身份认证派生出实际使用的第二种身份验证模式:混合模式。在混合模式下,如果用户在登录时提供了SQLServer登录ID,则系统将使用SQLserver身份认证,如果没有提供SQLServer登录ID而提供的是请求Windows身份认证,则使用Windows身份验证。系统使用哪种模式可以在安装过程中或使用SQLServer的企业管理器指定。SQLServer的默认身份认证模式是Wi
8、ndows身份认证模式,这也是建议使用的一种模式。对SQLServer数据库登录的管理,通常有两种方法,一种是通过企业管理器(SQLServerEnterpriseManager)来实现;一种是通过系统存贮过程sp来实现。这两种方法同样适用于管理用户、角色和权限。所有的登录账号信息存储在master数据库的系统表sysxlogins中。SQLServer有一个默认登录账号(SystemAdministrator,SA),它拥有SQLServer系统的全部
此文档下载收益归作者所有