时间:2022-10-11 15:15:30
序论:速发表网结合其深厚的文秘经验,特别为您筛选了1篇集成数据库安全管理工具的探索范文。如果您需要更多原创资料,欢迎随时与我们的客服老师联系,希望您能从中汲取灵感和知识!
摘要:在分析研究多平台、多实例环境下数据库的安全管理基础上,结合制造行业生产系统WonderwareIntrack的配置管理,设计开发了一款集成数据库安全管理工具。该工具易用性强,屏蔽了不同数据库平台之间复杂的安全配置语言,集成了多个实例的用户管理和权限管理,简化了WonderwareIntrack的配置过程,提高了系统的管理效率和安全性。
关键词:集成数据库;配置管理;安全管理工具;WonderwareIntrack
0引言
WonderwareIntrack是广泛应用于制造行业的生产批次跟踪系统[1],具有很强的扩展性和配置性[2],其后台数据库支持Oracle和SQLServer。在多工厂环境中,由于需要保证制造执行系统的实时性,往往各工厂会安装独立的WonderwareIntrack系统,在实践中发现,这样带来了两个问题:①由于数据库软件厂商在体系架构上的差异,使得Oracle和SQLServer数据库之间的管理模式区别较大,在多实例环境下,管理员需要配置和管理多个Oracle和SQLServer数据库实例,而数据库的安全管理是非常重要的一个环节,由于其配置的复杂性和平台的不同,使得系统安全更依赖于管理员的能力和经验[3];②WonderwareIntrack没有多实例的管理配置平台,只有单实例的ModelMaker客户端作为管理后台,管理员需要切换不同的WonderwareIntrack系统进行用户权限和机台物料等的配置,而切换需要一系列操作,包括数据库设置→数据库连接→ModelMaker登录,效率较低,且需要重复登录数据库。因此,设计一个集成的数据库安全管理工具,实现对Oracle和SQLServer数据库的统一管理,能够进行基本的WonderwareIntrack系统配置,屏蔽复杂而又不尽相同的数据库之间的操作细节,对于提高整个系统的管理效率和安全性有着重要的意义。
1安全管理工具的主要功能分析
本工具的主要功能分为两个层次:底层是数据库软件的安全管理,上层是WonderwareIntrack的应用层配置管理,数据库是联系两个层次的纽带。
1.1数据库软件的安全管理
主流数据库都有完备的安全机制,主要包括用户管理、角色管理和权限管理等。Oracle还有更为细粒度的管理机制,如概要文件管理,用以控制对口令文件和内核资源的使用[4]。SQLServer则是以内部机制自动管理内部资源[5]。由于Oracle的角色管理比SQLServer更加细粒度化,不适合集成。因此,本工具将安全管理的重点放在用户管理、权限管理和SQL导出等通用功能的集成上。其中权限管理是核心,包括用户对各种数据库对象的操作,比如表、过程、视图。在普通数据库客户端软件中,这种管理有诸多不便,例如如果要知道某个用户拥有哪些对象的权限,只能通过复杂的查询来弄清楚;又如要将数据导出,客户端需要直接操作数据库,会带来安全隐患。因此,集成数据库安全管理工具需要能够针对不同数据库平台做出不同的操作,达到在同一系统下实现多实例、多平台安全管理的目的。
1.2WonderwareIntrack的配置管理
ModelMaker是WonderwareIntrack的单实例管理后台,本工具通过模拟ModelMaker的连接过程,把ModelMaker的连接集成到数据库连接中。这样设计的好处是:①简化了WonderwareIntrack的实例切换;②把ModelMaker扩展成为多实例管理后台。另外,由于WonderwareIntrack提供了丰富的API,本工具也集成了WonderwareIntrack的常用配置功能,包括用户管理和机台物料的配置。
1.3图形化管理工具的系统框架
如上所述,本文需要设计一个集成数据库安全机制管理平台,包括Oracle和SQLServer的用户管理、权限管理和SQL导出,并利用ModelMaker的开放平台将WonderwareIntrack的安全和配置管理集成到系统中。安全管理工具的框架结构如图1所示。
2安全管理工具实现
集成数据库安全管理平台包括用户登录、用户管理、权限管理和SQL导出四个模块。本工具所有的数据库操作都是可视化运行,运行脚本可从临时SQL文件中查看,运行结果保存在日志文件中。
2.1用户登录
用户登录集成数据库安全管理平台,需要选择相应数据库。如果需要同时对ModelMaker进行用户管理,需要选择同时登录ModelMaker,输入相应管理员账号密码登录。数据库实例通过XML文件预先定义,包括实例名称和类型,配置格式图2所示。其中,<DBName>是数据库名称,<dbMode>是数据库模式,<DBType>是数据库类型。因此在登录后,本工具可以获取当前数据库类型。登录信息全部填写正确后按用户输入的管理员账号信息连接数据库,分别用Oracle和SQLServer提供的OLEDB驱动程序连接,本工具获取数据库当前的安全配置信息。
2.2用户管理
用户管理的主要功能包括:①创建和删除数据库用户;②更改用户信息,包括授予或者回收角色、密码;③显示和更改用户的使用状态,包括锁定/解锁/过期。用户管理用到的表和视图如表由于SQLServer没有直接提供状态变更功能,需要修改表sysxlogins中的保留字段xstatus实现,在多次实验后,本工具采用的实现方式如下:xstatus=xstatus&(~2048)在当前状态下,通过对xstatus的变更可以实现状态在正常、锁定和过期之间的转换。
2.3权限管理
权限管理是系统的核心功能,本工具实现的功能有:①显示所有的用户概要文件、用户、角色和数据库对象权限,以及对应的使用状态,在SQLServer中,本文用自定义角色取代Oracle的用户概要文件;②将数据库对象的权限授予指定用户;③回收用户拥有的数据库对象权限。权限管理用到的表和视图如表2所示。
2.4数据导出
本工具实现了将表和视图的数据通过SQL以拼接的形式导出。用户可以选择表或者视图,输入所需的条件,本工具可以将相关数据生成可直接运行的SQL脚本,这是一种更安全、更简便的数据导出方式。SQL导出用到的表和视图如表3所示。
2.5WonderwareIntrack的配置管理
如果用户登录系统的同时也选择登录ModelMaker,则用户可以在系统中进行WonderwareIntrack的配置。为了实现与ModelMaker的连接,本工具需要把Wonderware安装后对应的配置连接库文件导入系统,然后通过Wonderware的API连接到Wonderware服务器,语句如下:OLE_CreateObject(%ItDlg,"InTrack.Dialog.Connect");%ItDlg.Launch();登录成功后,当前客户端的ModelMaker连接已经设为所连接的数据库,所以可以直接从系统登录ModelMaker。本工具WonderwareIntrack的配置通过API实现,以用户创建为例,语句如下:InUser.Create(user_name,password,InSecuritygroup,InUsercertification);其中InUser是Intrack用户对象,InSeuritygroup是权限组,InUsercertification是用户认证,user_name和password是新建用户账号。
3结语
该集成数据库管理工具操作简单,实现了WonderwareIntrack和数据库的登录和安全管理的集成,可以实现对WonderwareIntrack的基本安全配置,能对多实例、多平台下的Oracle或者SQLServer数据库的用户、角色、权限、数据快捷准确配置,切换方便,能够满足大多数情况下的数据库安全管理要求。另外,该工具具有一定伸缩性,可以单独实现对Oracle和SQLServer数据库的安全管理。1所示。
作者:过怡 单位:苏州市职业大学 计算机工程学院