Home > Database > Mysql Tutorial > body text

账户方案系统角色多管齐下保障Oracle的安全

WBOY
Release: 2016-06-07 16:53:59
Original
982 people have browsed it

账户是定义在数据库系统中的一个名称,它是数据库的基本访问控制机制。当连接到Oracle数据库时,跟其他数据库一样,需要用户

  一、账户与系统角色结合,提高了账户的安全性。

  账户是定义在数据库系统中的一个名称,它是数据库的基本访问控制机制。当连接到Oracle数据库时,跟其他数据库一样,需要用户输入用户名与密码。数据库系统就是凭借这个用户名来授予其相应的数据库访问权限。不过,这跟其他数据库又有所不同。因为Oracle数据库有有一类很特殊的账户-特权账户。这些特权账户具有某些比较特殊的权限。为了数据库的安全,他们除了在数据库中要拥有某些特定的权限之外,还必须拥有操作系统对应的权限。数据库与操作系统一起,来保障数据库的安全。

  如在Oracle数据库中,主要有两类特权用户,分别为SYSDBA与SYSOPER。这两类用户主要用用来执行一些特殊的作业。如启动关闭数据库、建立数据库、备份与恢复操作等等。这些作业明显会直接影响到数据库的正常作业;而且备份恢复操作还直接跟数据库数据安全息息相关。为了保障这些特权账户的安全,Oracle数据库还采用了一些特殊机制。如Oracle要求,除了在数据库中要拥有对应的权限之外,还必须在操作系统中也是某些特定角色的成员。例如,Oracle数据库若是部署在微软的操作系统下,则安全成功后,在操作系统的角色中,会多SYSDBA与OSOPER两个组。特权账户必须要属于这两个组,才能够进行如上所述的一些数据库维护作业。同理,在Linux等其他操作系统平台下,也需要具有类似的权限。通过这种策略,特权账户的安全就又多了一个保障。如数据库管理员只想使用特权账户SYSDBA来管理维护数据库,而不需要SYSOPER账户。此时,数据库管理员就有两个选择。要么在数据库中禁用这个账户;要么在操作系统中把这个账户从Oracle建立的组中剔除出去。

  虽然SYSOPER与SYSDBA账户都是属于特权账户,但是他们的权限还是由差异的。如特权账户SYSDBA具备了特权账户SYSOPER的所有权限之外,还具有建立数据库、执行不完全恢复等权限。同时,前者还自动具备了DBA角色的所有权限;而后者则不具备DBA角色的权限。为了数据库库的安全,通常情况下不能够把这些特权账户的权限赋予给其他用户。虽然可以通过更改初始化参数来突破这个限制,但是出于数据库的安全考虑,,我们都不建议这么处理。

  可见,特权账户与操作系统固定权限结合,双管齐下,来保障数据库的安全,这是Oracle数据库的一个突破。其在很大程度上,提高了特权账户的安全性。若是普通账户,则没有这方面的限制。

  二、账户与方案一一对应保障Oracle安全。

  除了账户与系统角色结合,来提高账户安全性之外,Oracle数据库另外一个值得称颂的地方就是把账户与方案联系起来,进一步提高了账户的安全性。

  在Oracle数据库中,方案是用户所拥有数据库对象的集合。这是因为在Oracle数据库中对象是以用户来组织的,用户与方案是一一对应的,并且两者所使用的名称相同。利用Oralce数据库与实例安装完成后,其默认情况下有两个用户,分别为SYSTEM与SCOTT。他们分别对应了两个方案SYSTEM与SCOTT。Oracle数据库就是账户与方案一起,来提高数据库访问的安全性。

  如用户可以直接访问其自己的方案对象,但是如果需要访问其他用户的方案对象时,则需要具有相关的权限。如用户SCOTT,其方案SCOTT下所有的数据库对象都可以进行访问。但是,如果SCOTT用户想访问方案SYSTEM下面的数据库对象,则需要先经过用户SYSTEM进行授权。如果他没有把这个访问的权限授权给SCOTT的话,则用户SCOTT就无法访问方案SYSTE下面的任何一个数据库对象。所以,方案就好像一个个保护罩,又把数据库逻辑的分割成几个独立的区域。这个区域的主人可以任意访问内部的任何数据库对象。若其他用户想要访问这个区域的话,则必须要先经过这个区域主人的授权。这一个个区域(方案)是用户的私人领地,未经允许他人不得进入。通过这种方式,用户就可以保护自己所建立数据对象的安全。

  在使用方案是,需要注意一些细节方面的问题。如在同一个方案中,不能够存在同名的对象;但是在不同的方案中,不同用户可以建立同名的对象。还有当某个用户要访问其他方案的对象时,必须加入方案名最为前缀。也就说,要在数据库对象名之前加入主人的名字。这些是硬性规则,不能够打折扣。

linux

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!