分类: Oracle
2008-04-03 22:59:37
在计算机安全领域,“最低权限”原则规定给用户分配完成工作所需的最小权限。Oracle对它的10g第二版数据库(10gR2)进行了一些细微的改变,使其与这个原则保持一致:它改变了CONNECT角色的意义。
首先,Oracle数据库只有三种权限:CONNECT、RESOURCE和DBA。在CONNECT权限下,你成为数据库的终端用户——你能够登录数据库,建立并使用表和视图之类的常用对象。在RESOURCE权限下,你能够执行与开发有关的高级任务,如建立存储过程。最后,在DBA权限下,你成为数据库管理员,可以执行一切操作。
在第7版中,Oracle引入了现在的安全模块,各种SQL语句拥有单独权限,每类对象拥有多个对象权限。作为过渡,Oracle还增加了三个名称相同,权限也几乎相同的内置角色,作为早期的内置权限。开发者习惯于仅向新建用户授权CONNECT角色(或CONNECT和RESOURCE角色)。实际上,新建用户的脚本经常这样做。
该是重新检查这些脚本的时候了,因为在10gR2中,CONNECT角色的权限比以前版本要低得多。实际上,它仅仅拥有登录Oracle所需的CREATE SESSION权限。所有其它权限必须直接向用户,或通过其它一些角色授权。
由于CONNECT、RESOURCE和DBA仅在过渡时期使用,自它们最初在Oracle 7.0中出现以来,Oracle又推出了几个新版本。Oracle正逐渐促使开发者遵守建立针对应用程序角色的规定最佳实践,以与每种应用程序所需的最低权限密切保持一致。