王研
摘 要:企业数据库的系统安全在数据库设计与使用中都十分重要,它不仅关系到企业数据库的稳定运行,还会给企业的未来发展带来严重影响。SQL Server系统因具有良好的性能,得到了广泛的应用,在此背景下,笔者将对基于SQL Server的企业数据库系统安全机制设计进行分析。
关键词:SQL Server;企业;数据库;系统;安全机制
1 数据库系统简介
某家企业为机械制造企业,内部设有3个分厂与1个辅助分厂,还有一些检验机构等。该企业目前使用的数据库主要包括了供应、生产、计划、销售等不同的子系统,这些不同的子系统会共同使用一个数据库,且每一个子系统都会有专门的工作人员将各类数据录入进去。该企业数据库系统主要的结构为B/S结构、后台设计选用了SQL Server,前台设计选用了JSP,操作系统设计则选用了Windows NT 2000。
其中,供應子系统主要是用来进行企业所需物资的出库、入库等工作;计划子系统主要用来将企业相关的统计报表生成为周计划报表,在此基础上进一步生成月计划表;生产子系统主要用来对该企业每天的生产工作进行总结与分析,并且对生产周报等进行相关统计;销售子系统主要是对客户的信息、企业的销售月报等进行相关分析,并以此制定合理的销售计划。
2 基于SQL Server的企业数据库系统安全机制设计
2.1 身份验证
在基于SQL Server的数据库系统安全机制设计中,身份验证是最为基础的一个环节,具有较强的意义。在对数据库安全机制进行设计的过程中,SQL Server主要有两种不同的身份验证方式,即Windows身份验证与Windows+SQL Server联合验证方式。
SQL Server类型的身份验证主要是将账户、密码与数据库Sysxlogins中的清单进行合理匹配;Windows身份验证主要是指利用控制器来对用户身份的合法性进行合理验证。无论选择哪一种验证方式,系统内部的SQL Server都会接收到相关的访问标记,此时,访问标记在验证的具体过程中会形成一个列表,列表中有用户的SID,SQL Server可以根据这些不同的SID来授予用户相应的访问权限资格。
SQL Server验证模式存在一定程度的弊端,主要表现在此类型的验证模式在多服务器背景下存在管理困难的问题,这一点需要相关的设计人员重点关注。
2.2 应用程序的验证
在用户身份验证结束之后,需要进行应用程序方面的验证。该系统的设计人员针对每一个不同的子系统都设置了相应的登录界面,用户在登录界面的相应输入框中输入正确的账户与密码之后,IIS才会允许这些用户去访问他们需要的页面。每一名用户的账号及密码会存于数据库内部的表格中,用户若是需要利用相关的登录界面去进行登录,IIS就会将用户的个人身份信息提供给数据库的服务器,数据库会将收到的信息与系统中的密码进行相应的比较分析,只有系统确定账户与密码相匹配之后,用户才能正式进入系统。
2.3 SQL Server组
在该企业的数据库内部,每一个子系统都有自身的独立功能,但是彼此之间也存在相应的联系,所有的数据都在同一个大的数据库内部进行储存。因此,设计人员在安全机制设计中,为该企业的系统设置了一个可以满足不同用户的SQL Server组。设计人员在设计过程中,将SQL Server组划分为了管理员组、用户组、服务器拒绝用户组、创建者组、操作组等。在对相关的组进行了合理设计后,就应当为不同的组别设置SQL Server的访问权限,并且将Master设置为默认状态下的数据库,之后再对服务器拒绝用户组设置相应的授权。在给其他组别进行授权的过程中,设计人员分别为每一个不同的组建立了相应的登录名,并且打开Analyzer,开始相关的授权工作。设计人员将不同的登录名与不同的服务器相结合,将其变为不同组内部的角色成员。例如,SQL Server Administratprs就可以成为Sysadmins的角色成员。这样一来,不同的用户组别权限就可以得到比较合理的设置。
除此之外,对于Main DB Users,设计人员也创建了一个相关的登录名字,并且让该登录名字成为Dbcreator的角色成员,用户在对其进行相应的授权之后就可以访问数据库。
2.4 用户权限的分配
该企业的数据库内部相关用户数量较多,不同的用户具有不同的权限,因此,对用户权限进行科学、合理的分配也是十分重要的。设计人员首先对数据库的个体角色进行了明确的定位,保证每一个子系统自身都具有两种不同的角色,如操作员角色与领导角色、企业领导角色与DBA角色等。
之后,设计人员需要为每一个角色分配相应的数据库对象,还要对不同数据库对象的权限进行不同的分析,在这一环节中,设计人员主要利用了SQL Server Management工具,还会在必要时候利用DENY、REVOKE等不同的命令来对相关的数据库权限进行更为合理的管理。在用户权限的分配中,用户方面定义的数据库角色主要与SQL Server登录、本地组、账户等有比较紧密的联系,因此,设计人员可以将登录名输入已经定义好的数据库角色内部,这样就可以实现对登录名的权限分配工作顺利完成。
3 结语
数据库对于企业的运行与未来发展具有重要的意义与价值,企业在日常业务开展中需要建立数据库并且保证数据库具有较高的安全性。在本文中,某企业基于SQL Server建立了数据库,并且对于该数据库系统的安全机制进行了相关的设计。笔者在文中对于该企业的数据库进行了相应的分析,并且对安全机制的设计做了合理的浅析,望给相关人士的工作提供参考意见。
参考文献
[1]贺亚茹.基于SQL Server的企业数据库系统安全机制设计[J].工矿自动化,2012,38(10):29-32.
(作者单位:碳氢高效利用技术研究中心)