浅谈分布式数据库跨库操作安全设计.docVIP

浅谈分布式数据库跨库操作安全设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈分布式数据库跨库操作安全设计

浅谈分布式数据库跨库操作安全设计   摘要:在通信帐务系统中,由于分布式式数据库的使用,从而存在许多的跨库操作和应用的跨库设计。但是在跨库操作带来方便的同时,由于设计的不合理,许多情况也会给数据库的安全管理带来隐患。本文从实际应用中用到较多的数据库链接、同义词、存储过程的跨库操作简单阐述跨库设计时应注意的安全事项。   关键词:数据库链接 同义词 存储过程 权限   中图分类号:TP311.13 文献标识码:A 文章编号:1007-9416(2012)09-0186-02   在现在通信行业业务支撑系统建设中,由于数据库数据量的巨大,通常会根据不同业务模块建设成分布式数据库。如将计费帐务系统中数据可以按清单查询提供、前台帐务营收、计费处理、报表统计等划分,分布到不同的数据库实例,这样,通过模块化的数据分流,减轻了单一数据库的资源压力,均衡了负载,提高了各应用模块程序的效能。   同时,各数据库实例作为一个整体,存在一定的耦合性,分布的数据库之间的存在不同程度的相互沟通。如统计数据需要采集清单数据、营收帐务数据,计费处理时需要访问客户资料数据等。这些操作如果通过数据库之间进行操作就涉及到跨库操作的问题。   作为一个整体系统中的分布式数据库之间存在跨库操作是非常普遍的,尤其是数据库链接、同义词和存储过程的跨库操作在应用程序中广泛使用,这些给应用程序的设计实现带来了极大的方便,同时,从安全的角度也带来了一些问题。下面从安全管理的角度针对跨库操作进行一些讨论。   1、数据库链接(DATABASE LINK)   数据库链接是在分布式环境下,为了访问远程数据库而创建的数据通信链路。通过数据库链接隐藏了对远程数据库访问的复杂性。数据库之间通过数据库链接的创建,使得登陆到本地数据库上的用户可以访问远程数据库上的数据或进行其他跨库操作。可以说,跨库操作实现的基础就是数据库链接的使用。   创建数据库链接的语句如下:   CREATE DATABASE LINK 链接名 CONNECT TO 账户 IDENTIFIED BY 口令 USING 服务名;   数据库链接建立测试成功后,就可以采用以下形式来访问远程用户的表:   表名@数据库链接名   例如:在局域网上创建和使用数据库链接。   首先:在本地数据库网络服务名配置文件(tnsnames.ora)中添加远端数据库的服务名,假定服务名为remotedb。   然后:登录本地数据库,执行创建数据库链接命令:   CREATE DATABASE LINK link_rmt1 CONNECT TO scott IDENTIFIED BY tiger USING remotedb;   测试是否可以使用:   SELECT sysdate FROM dual@link_rmt1;   如果正常返回远端数据库的系统时间,则数据库链接正常建立。   这里有两个问题需要注意,一是远端数据库scott帐户的权限,二是public参数。   建立数据库链接用到的远端数据库帐户的权限对跨库操作有很大的影响,从一定意义上说,跨库操作的安全级别就是由这个帐户所决定的。本地用户在本地数据库可以进行的操作,只要这个数据库链接用户拥有这些权限,本地用户同样可以用于远端数据库进行操作(通过数据库链接是不可以进行DDL操作的,如create、drop、truncate等)。本例中,如本地用户拥有resources权限,在本地数据库可以对自己的对象进行DML(update、delete、insert)操作。在数据库链接用户scott具有update any tables权限的情况下,本地用户是可以对远端数据库进行update any tables操作的,如   UPDATE scott2.test_table@link_rmt1 SET state=’YES’;   即在本地数据库只能对自己所属对象进行DML操作的权限限制,在远端数据库则没有这个限制了。   其次,在对public参数使用上,也是要比较注意的。Public参数在数据库中处于较低的级别,几乎不可能对登陆数据库用户进行限制访问。建立了public数据库链接,就等于承认在数据库链接的权限范围内,远端数据库对本地数据库所有用户都是开放的。   再者,在测试库等管理相对开放的数据库用权限较大的帐户建立了数据库链接,必将成为远端数据库管理的安全漏洞。   所以,在进行数据库设计时,应该严格控止public参数的数据库链接的建立;其次,建立的数据库链接尽量避免使用具有DML权限的用户;然后,对数据库中的密码定期进行修改也可起到一定修补安全漏洞的效果。   2、同义词(SYNONYM)   同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档