当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-07-05 09:56:00  来源:本站整理

<b>SQL Server与Oracle数据库在安全性上的异同</b>[MSSQL防范]

赞助商链接



  本文“<b>SQL Server与Oracle数据库在安全性上的异同</b>[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

数据库范畴中,人们广泛认为Oracle数据库的安全性要比SQL Server数据库高.下面我就对比这两种数据库在安全性计划上面的异同.掌握好这些内容,关于我们在数据库安全方面的计划与管理历程中,有着举足轻重的作用.
1、角色到用户的受权
目前很多利用软件,包含数据库系统,都采取了角色到用户的受权体系.也就是说,先给一个角色举行受权,然后再把用户加入到这个角色中,让其拥有这个角色的权限.
如我们在数据库计划的时刻,普通至少需求两种角色,一种是系统管理员角色,这种角色具有对数据库系统举行管理,如表的成立与删除、用户的成立与改正等等.别的一种是普通用户的角色,其可以对表举行插入、改正、删除记录等等的操作.然后,我们成立两个帐户,一个是数据库管理员帐户,让其隶属于管理员角色;再成立一个用户帐号,让其归属于用户角色.如此,不用给用户设置分外的权限,他们就从他们的角色中,担当了相关的权限.这就是基于角色-用户的权限管理体系.
 
这个权限管理体系,两种数据库都是支持的,只不过具体的叫法有差别.在SQL Sever数据库中,其相沿的是微软操作系统的叫法,把角色称做组.其实,我们在给操作系统定义用户与权限的时刻,也是采取这种办法,我们先成立一个组,再给这个组赋予特定的权限,然后,再成立一个用户帐号加入到这个组中便可.固然两个数据库的叫法差别,但是,其本质是一样的,换汤不换药罢了.
二者的差别主要表目前对特定角色的受权方面.
2、角色的受权
两个数据库固然在“角色-受权” 方面近似,但在具体角色权限的分配上,还是有对比大的差别.用一句话来总结,就是Oracle在权限的分配上,要比SQL Server数据库细.Oracle在权限掌握方面,基本上可以细化到每个步骤.
如在用户管理上面,Oracle数据库可以把成立用户帐号的权利给某个组,但是,这个组却没有删除帐号的权利.而微软的数据库中,则普通是把用户管理的权限,包含用户成立与删除当作一个权限赋予给某个组,而不能把他们脱离.也就是说,一个组若具有效户帐号管理权限的话,其不但可以成立用户帐号,并且,也可以删除用户帐号.也就是说,微软的SQL Server数据库在权限计划上,没有分得像Oracle那么细.正因为如此,所以Oracle数据库在权限管理上面,要比SQL Server数据库机动.
不光在帐户管理上如此,数据库很多对象权限的管理,也有近似现象.如关于存储历程的管理,关于表格的管理等等.甲骨文的Oracle数据库在权限划分上,比其他数据库都要细.
3、对用户举行独立受权
除了可以按照角色举行受权,Oracle数据库还可以在用户帐号的级别上直接跟用户举行受权.在SQL Server数据库上也有近似的功效,但是,光从这方面说,前者要比后者机动.如Oracle数据库中具有的“ 对象受权”功效,在SQL Server数据库中就无法实现.
1、 在用户口令上,Oracle数据库要比SQL Server数据库安全性更高
众所周知,用户口令与帐号是数据库安全的第一道保障.如在成立Oracle数据库的用户名的时刻,默许情形下,其有密码复杂性考证设置.假如我们在成立用户名的时刻,把密码设置成为“123456”,Oracle数据库不会承受.因为它认为纯数字的密码过于简单,简单被破解.而在微软的SQL Server数据库中,默许情形下没有这方面的限制.
2、 用户成立默许权限差别
这两个数据库都可以至少通过两种方法成立用户名.一是通过图形化的界面成立用户名与帐号.如Oracle数据库可以通过EM,即浏览器成立用户帐号;而SQL Server数据库则可以通过企业管理器成立用户帐号.别的一个是可以通过号令行,也就是说,通过SQL 语句成立用户名.
从SQL Server数据库来说,这两种成立方法没有什么差别.但是,甲骨文的Oracle数据库还是有对比大的差别,主要表目前默许权限的差别.在操纵浏览器成立用户帐号的时刻,默许就具有衔接数据库的权限.而若在号令行中成立用户帐号,除非你明确给其指定其具有衔接数据库的权限,不然的话,这个帐户是不能衔接到数据库的.
如我们通过号令,成立一个test的用户,其密码为test111.
Create user test identified by test111;
注意 ,这里设置用户名密码的时刻,若是纯数字的密码,则数据库不会承受.
然后,我们操纵以下语句衔接到数据库,看看有什么现象.
Connet test/test111;
此时,数据库会回绝这个用户登陆到数据库,会提醒这个用户没有衔接到数据库的权限.除非,我们再操纵以下号令,对用户举行受权.
Grant connect to test;
对用户名举行受权后,才可以衔接到数据库中去.这一点差别,很大都据库管理员在刚开始接触数据库的时刻,分外是先前有SQL Server数据库利用经验的人,普通都不简单搞清楚.后果在学习大概利用的时刻,会碰到一些麻烦.笔者因为参与过SQL Server数据库管理员的培训与测验,所以,在后续利用Oracle数据库的时刻,关于这一点当时就有点困惑.目前回头想想,Oracle大约是基于安全方面的考虑吧.
3、 对象受权
假定目前有以下这种情形.
目前有个用户test,其有product表的查询权限.而别的一个用户test1不具有这个表的任何拜候权限.目前,test想把product表的查询权限赋予test1,让其也可以查询数据库中的product表.注意,这里的用户test只是普通用户,不是数据库管理员.
这个需求在SQL Server数据库中,是无法实现的,因为用户test没有数据库管理的权限,而只有表查询的权限,其没有权利为其他用户分配这个表的查询权限的权利.但是,在Oracle数据库中,则通过“对象受权” 的方法,可以实现这个需求.
第一步:操纵系统管理员帐户,在分配权限的时刻,赐与“ 对象受权” 的权利.
如先用系统管理员帐户登陆到系统中,然后给用户test查询表product的权利,并启用对象受权情势.具体号令以下:
Grant select on product to test with grant option;
Grant select on product to test就表示用户test具有查询表product的权限;此背面的with grant option则表示关于这个用户开启了“ 对象受权” 的情势.今后,test用户可以把关于表product的查询权限赋予给其他用户.
第二步:操纵test用户登陆,然后赋予test1用户表prodcut的查询权限.
Grant select on product to test1;
这个语句就是用户test赋予用户test1表product的查询权利.若我们在给test用户赋予权限的时刻,没有启用“对象受权”情势,即没有在背面加入with grant option语句,则在以普通用户test履行这条语句的时刻,就会发生错误,提醒用户没有这个权限.但是,若我们系统管理员在给test用户分配权限的时刻,开启了“对象受权”的情势,则用户test便可以赋予用户test1表查询的权限.不过,这只是针关于特定的表与特定的操作.假如数据库管理员在分配test用户权限的时刻,只用了“Grant select on product to test with grant option”这个语句,就表示test用户只能针对表product的查询权限举行再受权.如,目前test1想把表product-bom的查询权限赋予给test1的话,数据库服务器就不答应了,因为其没有这个权利.
这就是对象受权的功效,固然其破坏了数据库权限管理的统一性,但是,这也提高了数据库权限计划的机动性,在大型数据库计划的历程中,常常会被用到.
除了对表可以举行对象受权之外,还可以对历程、视图等等也举行对象受权.这里要注意的是,在对象受权的历程中,是需求对每个步骤举行受权.如目前用户test具有表product记录查询、记录更新、记录删除等的权利.但是,其只有表查询权利的“对象受权”.此时,test用户就不可以把这个表的更新、删除等权利赋予给用户test1.因为帐户test对对象举行再受权,只是针对特定的查询操作.
别的,除了对象受权之外,Oracle数据库中还有一个“系统受权”的概念.系统受权跟对象受权近似,只是其针对的是系统管理的权限,如帐户删除大概新建的操作.需求注意的是,系统受权仍旧需求分步骤来举行受权.   以上是“<b>SQL Server与Oracle数据库在安全性上的异同</b>[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .