![]() |
|
||||||||||||||
| | 网站首页 | 文章中心 | 下载中心 | 公司简介 | 报价中心 | 成功案例 | 工作机会 | 天盾论坛 | | ||
|
||
|
||||||||
| Oracle数据库安全性管理基本措施简介 | ||||||||
作者:hww 文章来源:本站原创 点击数: 更新时间:2007-4-1 ![]() |
||||||||
|
数据安全性是指保护数据以防止非法的使用,避免造成数据有意或无意的丢失、泄露或破坏。由于数据库系统中集中存放有大量的数据,这些数据又为众多用户所共享,所以安全约束是一个极为突出的问题。 Oracle数据库系统在实现数据库安全性管理方面采取的基本措施有:
在实际应用中,许多系统往往采用假用户(即非数据库用户)身份来管理,而真实用户的身份和登录口令就隐藏在应用系统中,或经过各种压缩加密等处理的配置文件中。但这样往往留下隐患,只要从分析应用程序入手,最终会分析出系统使用的数据库用户和口令,那么其安全性也就消失了。另一方面,系统代码是程序员写出来的,如果程序员有破坏意图,这种模式没有一丝的安全,因为他通过自己掌握的代码不经分析就轻而易举的获得登录用的数据库用户和口令。 而采用真实数据库用户,存在着权限分配上的难度,特别是用户数和应用表数都很多时,这时必然要使用角色来管理应用权限的分配。当然不能直接将权限或角色直接分配给用户,否则用户可以不同过应用系统,而采用SQL*PLUS等前端工具进入系统,进行一些没有经过应用系统检查的操作,产生的结果可能不符合应用逻辑。 我们在实践中发现,可以采用另一种方式利用角色功能,来防止上面出现的安全“漏洞”。在这种方式下,用户采用自己的标识和口令注册,但在未得到授权的角色前,是没有操纵数据库的任何权限。而授权用户使用的角色是埋在应用程序中的,只有应用程序才知道角色的名称和口令,从而激活角色,使用户拥有相应的权限。在应用系统之外,用户可以连接到Oracle,但没有激活相应的角色,他是不能做任何事情的,而开发人员不知道用户的标识和口令,他没有办法登录到Oracle,即使他能够推算出角色的标识和口令。 下面根据一个例子给出具体的实现过程: 我们假设用户xiayan在工作中能够对工资表account.paytable(account是表paytable的拥有者)有查询和更新的权限,而这些权限我们不直接授予xiayan,而是构造一个角色(比如考勤员checkerrole),这个角色恰好适合于xiayan,再将角色授予xiayan,但角色在激活时需要口令,该口令不对xiayan公开。每个用户需要一个缺省的角色,是用户连接到Oracle时的缺省角色。这个角色只有connect权限,我们假为defaultrole。 下面给出具体的操作SQL。 (1)设定各种角色,及其权限
(2)创建用户
(3)授权
(4)设定用户缺省的角色
(5)注册过程
此时用户只有其缺省角色的权限。 (6)激活角色
操作成功后,xiayan拥有checkerrole的权限。 这里的角色和口令是固定的,在应用系统中可以由应用管理人员自行设置则更为方便安全。 |
||||||||
| 文章录入:hww 责任编辑:hww | ||||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | ||||||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 服务器安全配置 保证Web数据库安全 认真把好 国内外著名防火墙集锦 移动硬盘保养绝招 笔记本硬盘故障和排除方法 将不用的闪存改造成系统加密 分区表损坏应该怎么办? 主打跌落保护! 希捷高速NB硬 RAID技术详细解答之七:如何 RAID技术详细解答之六:如何 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|