您好, 访客   登录/注册

浅析ACCESS数据库安全机制

来源:用户上传      作者: 李海燕 邱奎元 胡新征

  [摘 要]Access数据库作为桌面数据库系统,因其操作便捷、界面友好等优点而拥有大批用户,但它也存在着不容忽视的安全问题。文章剖析了Access数据库采用的安全机制及存在的问题,提出了增强安全、消除隐患的方法。
  [关键词]数据库安全机制Access数据库管理系统工作组
  [中图分类号]TP[文献标识码]A[文章编号]1007-9416(2010)03-0052-01
  
  1 引言
  数据库管理系统(database management system)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
  使用Microsoft Access无需编写任何代码,只需通过直观的可视化操作就可以完成大部分数据管理任务。它不仅可以通过ODBC与其它数据库相连,实现数据交换和共享,还可以与Word、Excel等办公软件进行数据交换和共享,并且通过对象链接与嵌入技术在数据库中嵌入和链接声音、图像等多媒体数据。
  2 Access数据库安全性管理
  为了避免应用程序及其数据遭到意外或故意地修改或破坏,AccessXP提供了一系列安全保护措施:
  2.1 可设置数据库访问密码
  数据库访问密码是指为打开数据库而设置的密码,它是一种保护Access数据库的简便方法。设置密码后,每次打开数据库时都将显示要求输入密码的对话框,只有键入了正确的密码才能打开数据库。
  2.2 可对数据库进行加密
  为了进一步对数据库进行加密保护,可以对数据库进行编码压缩。这样使用其它工具程序或字处理等软件就无法查看此数据库的内容。而对用户在Access下的使用则不影响。
  2.3 可设置VBA工程密码
  Access可通过为VBA工程设置密码来保护应用程序的代码。这种密码一旦设置,则打开VISUALBASIC编辑器窗口后,只有键入了正确的密码,VBA代码才能查看或修改,但并不影响VBA代码的运行。
  2.4 可将数据库保存为.MDE文件
  这种方法既能保护VBA代码,又能保护窗体和报表。在生成MDE文件时,Access在编译了所有模块后,随即删除了所有可编辑的源代码,并对数据库进行了压缩,其结果既保证了VB代码能够运行,也使MDE数据库可与MDB数据库一样运行,而且数据库的大小因删除源代码和压缩数据库而得以减小。
  2.5 可设置用户级安全机制
  使用用户级的安全机制,可以更灵活更安全的保护数据库。在这种安全机制下, 在Access关联的工作组信息文件中建立用户和工作组帐户,用来管理用户;在具体的数据库中管理对象权限,可以给用户和工作组分别指定使用权限。用户要输入用户名称和密码才能打开数据库,对数据库的操作要受拥有权限的限制。
  2.5.1 安全机制
  在用户级安全机制下,每个用户有用户名称、个人标识(PID)、根据名称和PID用加算法产生的唯一安全标识(SID)、密码;每个工作组有唯一的工作组名称、个人标识(PID)、安全标识(SID),组没有密码,也不能用组名登录。 用户和组的个人标识(PID)是唯一的,由4~20个字符组成,区分大小写。用户和组的安全标识SID(Security ID),是由名称和PID用加密算法产生的,唯一性的。
  2.5.2 用户与工作组
  在默认的工作组信息文件System.mdw中,默认的有三个帐户:Admin、Creator、Engine,其中Creator和Engine是Microsoft Jet数据库引擎内建的,用户无法干涉。管理员帐户Admin,则是唯一的默认帐户,拥有对数据库中所有对象的全部权限,在中文Access中,帐户名可以是“管理员”也可以是英文下的Admin。
  在默认的工作组信息文件中,默认设置了两个工作组:管理员组和用户组。
  在默认状态下,用户启动Access时使用的是Admin帐户,且无须输入用户名称和密码,因为其名称Admin默认,而初始密码为空。若:用此默认方式启动Access,然后点击菜单工具―安全―用户与组帐号,在用户与组帐号窗口中,选更改登录密码选项卡,在旧密码输入框中空着,新密码、验证输入框中填入新密码,就可以增设了管理员帐号的新密码。如果不是默认登录方式进入的,只须在旧密码输入框中填入旧密码,就可以更改密码。对于其它的用户,也可以同样的更改自己的密码。设置了密码后,再启动Access打开数据库,就会要求输入用户帐号了。
  3 Access安全性缺点
  Access作为单机桌面小型数据库管理系统是很有优势的,但在网络方面局限很大,安全性仍有待提高,以下从几个方面来分析:
  (1)数据库加密机制简单,易于破解
  (2)不能将VBA代码开发的软件系统直接编译成 EXE 可执行文件,不能脱离 ACCESS 或者 ACCESS RUNTIME 环境,该环境相对其他软件体积较大(50M左右)。
  (3)每个数据库文件最大限制只有2G,对于大型网站显然不能够胜任。
  4 结语
  数据库中存放着大量的数据,保护数据不受内部和外部的侵害是一项重要的任务。Access广泛地应用于企业的各个部门,做为数据库系统管理员,需要深入地理解Access的安全控制策略,以实现安全管理的目标。
  
  [参考文献]
  [1] 史秀璋.Access应用技术教程[M].高等教育出版社,2003.
  [2] 东方人华.Access 2003中文版入门与提高[M].清华大学出版社,2004.
  [3] 史济民.Access应用系统开发教程[M].清华大学出版社,2004.


转载注明来源:https://www.xzbu.com/8/view-1064625.htm