Oracle数据库系统在实现数据库安全性管理方面采取的基本措施有:
{|{ dn7k专业IT技术社区,ZDNet,博客,资讯,web2.0,硬件,软件,开发,行业新闻,焦点,评论,网络评论,数码,通信,服务器,小型机,存储,网络,安全,操作系统,软件应用,软件问题求助,Microsoft开发技术,Office,.net,sharepoint,SQL Server,Linux,Unix,JAVA,MySQL,Debian,Ubuntu,Python,PostgreSQL,开源相关,PHP,汇编,嵌入式开发,认证培训,娱乐,生活,明星,八卦,体坛,足球,蓝球,游戏,网络游戏,贴图,自拍,情感资讯|硬件|软件|开发d%HA3fK@Ji.wT9R
通过验证用户名称和口令,防止非Oracle用户注册到Oracle数据库,对数据库进行非法存取操作。
7F$q6H ^`J5vZDNetChina中文社区 授予用户一定的权限,例如connect,resource等,限制用户操纵数据库的权力。 专业IT技术社区,ZDNet,博客,资讯,web2.0,硬件,软件,开发,行业新闻,焦点,评论,网络评论,数码,通信,服务器,小型机,存储,网络,安全,操作系统,软件应用,软件问题求助,Microsoft开发技术,Office,.net,sharepoint,SQL Server,Linux,Unix,JAVA,MySQL,Debian,Ubuntu,Python,PostgreSQL,开源相关,PHP,汇编,嵌入式开发,认证培训,娱乐,生活,明星,八卦,体坛,足球,蓝球,游戏,网络游戏,贴图,自拍,情感0xd:J jE]#e*vXi
授予用户对数据库实体(如表、表空间、过程等)的存取执行权限,阻止用户访问非授权数据。 专业IT技术社区,ZDNet,博客,资讯,web2.0,硬件,软件,开发,行业新闻,焦点,评论,网络评论,数码,通信,服务器,小型机,存储,网络,安全,操作系统,软件应用,软件问题求助,Microsoft开发技术,Office,.net,sharepoint,SQL Server,Linux,Unix,JAVA,MySQL,Debian,Ubuntu,Python,PostgreSQL,开源相关,PHP,汇编,嵌入式开发,认证培训,娱乐,生活,明星,八卦,体坛,足球,蓝球,游戏,网络游戏,贴图,自拍,情感:R'T;CS BJ\
提供数据库实体存取审计机制,使数据库管理员可以监视数据库中数据的存取情况和系统资源的使用情况。 ZDNetChina中文社区定位面向于广大电脑爱好者,IT从业人员和IT专业人员,是以技术内容为主,同时兼顾其它非技术元素的综合性大型社区交流平台aI9|;{8w#E,|
采用视图机制,限制存取基表的行和列集合。
+l
ZB3f o0s 在实际应用中,许多系统往往采用假用户(即非数据库用户)身份来管理,而真实用户的身份和登录口令就隐藏在应用系统中,或经过各种压缩加密等处理的配置文件中。但这样往往留下隐患,只要从分析应用程序入手,最终会分析出系统使用的数据库用户和口令,那么其安全性也就消失了。另一方面,系统代码是程序员写出来的,如果程序员有破坏意图,这种模式没有一丝的安全,因为他通过自己掌握的代码不经分析就轻而易举的获得登录用的数据库用户和口令。专业IT技术社区,ZDNet,博客,资讯,web2.0,硬件,软件,开发,行业新闻,焦点,评论,网络评论,数码,通信,服务器,小型机,存储,网络,安全,操作系统,软件应用,软件问题求助,Microsoft开发技术,Office,.net,sharepoint,SQL Server,Linux,Unix,JAVA,MySQL,Debian,Ubuntu,Python,PostgreSQL,开源相关,PHP,汇编,嵌入式开发,认证培训,娱乐,生活,明星,八卦,体坛,足球,蓝球,游戏,网络游戏,贴图,自拍,情感bXNK-]~"BW
bbs.zdnet.com.cn:p^7g@5Kk
而采用真实数据库用户,存在着权限分配上的难度,特别是用户数和应用表数都很多时,这时必然要使用角色来管理应用权限的分配。当然不能直接将权限或角色直接分配给用户,否则用户可以不同过应用系统,而采用SQL*PLUS等前端工具进入系统,进行一些没有经过应用系统检查的操作,产生的结果可能不符合应用逻辑。专业IT技术社区,ZDNet,博客,资讯,web2.0,硬件,软件,开发,行业新闻,焦点,评论,网络评论,数码,通信,服务器,小型机,存储,网络,安全,操作系统,软件应用,软件问题求助,Microsoft开发技术,Office,.net,sharepoint,SQL Server,Linux,Unix,JAVA,MySQL,Debian,Ubuntu,Python,PostgreSQL,开源相关,PHP,汇编,嵌入式开发,认证培训,娱乐,生活,明星,八卦,体坛,足球,蓝球,游戏,网络游戏,贴图,自拍,情感(N#ao3g*~&q0d
ZDNetChina中文社区定位面向于广大电脑爱好者,IT从业人员和IT专业人员,是以技术内容为主,同时兼顾其它非技术元素的综合性大型社区交流平台"jd)J/] t
我们在实践中发现,可以采用另一种方式利用角色功能,来防止上面出现的安全“漏洞”。在这种方式下,用户采用自己的标识和口令注册,但在未得到授权的角色前,是没有操纵数据库的任何权限。而授权用户使用的角色是埋在应用程序中的,只有应用程序才知道角色的名称和口令,从而激活角色,使用户拥有相应的权限。在应用系统之外,用户可以连接到Oracle,但没有激活相应的角色,他是不能做任何事情的,而开发人员不知道用户的标识和口令,他没有办法登录到Oracle,即使他能够推算出角色的标识和口令。ZDNetChina中文社区定位面向于广大电脑爱好者,IT从业人员和IT专业人员,是以技术内容为主,同时兼顾其它非技术元素的综合性大型社区交流平台Q#k(H"N,^d
bbs.zdnet.com.cnx2a1W*o.Z ? _
下面根据一个例子给出具体的实现过程:
J.LbI5~|&u专业IT技术社区,ZDNet,博客,资讯,web2.0,硬件,软件,开发,行业新闻,焦点,评论,网络评论,数码,通信,服务器,小型机,存储,网络,安全,操作系统,软件应用,软件问题求助,Microsoft开发技术,Office,.net,sharepoint,SQL Server,Linux,Unix,JAVA,MySQL,Debian,Ubuntu,Python,PostgreSQL,开源相关,PHP,汇编,嵌入式开发,认证培训,娱乐,生活,明星,八卦,体坛,足球,蓝球,游戏,网络游戏,贴图,自拍,情感
j.a g.^.PrhGbm3|ZDNetChina中文社区 我们假设用户xiayan在工作中能够对工资表account.paytable(account是表paytable的拥有者)有查询和更新的权限,而这些权限我们不直接授予xiayan,而是构造一个角色(比如考勤员checkerrole),这个角色恰好适合于xiayan,再将角色授予xiayan,但角色在激活时需要口令,该口令不对xiayan公开。每个用户需要一个缺省的角色,是用户连接到Oracle时的缺省角色。这个角色只有connect权限,我们假为defaultrole。