oracle安全机制

上传人:jiups****uk12 文档编号:88918735 上传时间:2019-05-13 格式:DOC 页数:15 大小:418.50KB
返回 下载 相关 举报
oracle安全机制_第1页
第1页 / 共15页
oracle安全机制_第2页
第2页 / 共15页
oracle安全机制_第3页
第3页 / 共15页
oracle安全机制_第4页
第4页 / 共15页
oracle安全机制_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《oracle安全机制》由会员分享,可在线阅读,更多相关《oracle安全机制(15页珍藏版)》请在金锄头文库上搜索。

1、1.1用户属性为了防止非授权用户对数据库进行操作,在创建数据库用户时,必须使用安全属性对用户进行限制。用户的安全属性包括以下几个方面: 用户名:在同一数据库中,用户名必须唯一。并且用户名不能与角色名相同。 用户身份认证:Oracle数据库采用了多种用户身份认证方式,例如数据库身份认证、外部认证、以及全局认证。 默认表空间:用户创建数据库对象时,如果没有显示地指出该对象存储在哪个表空间,系统会自动将该数据库对象存储在当前用户的默认表空间。(表空间:Oracle数据库在逻辑上可以划分为一系列的区域,每一个区域称为一个表空间。表空间是Oracle数据库最大的逻辑存储结构,由一系列段构成。Oracle

2、数据库对象就是以段的方式从表空间中获取存储空间的。) 临时表:保存临时数据信息的表。 表空间配额:表空间配额限制用户在永久空间中可以使用的存储空间的大小。 概要文件:从会话级和调用级两个层次限制用户对数据库资源的使用,同时设置用户的口令管理策略。 设置用户的默认角色:通过设置默认角色,可以禁止或激活用户所具有的角色。 账户状态:创建用户的同时,可以设定用户的初始状态,包括用户口令是否过期以及账户是否锁定等1.2创建用户如上图所示,创建用户chen 采用数据库认证,口令为chen ,默认表空间为 users 该表空间配额为10MB ,默认临时表空间为temp ,初始状态不锁定。如上图所示,创建用

3、户如果不授权,该用户不能做任何操作,即便是连接数据库。只有给用户授予了create session 系统权限后,用户才可以连接数据库。使用系统管理员登陆,授予用户chen 权限,才能使用户chen连接数据库。如果口令设置为过期状态,即首次连接数据库时需要修改口令。1.3用户身份认证 数据库身份认证 将数据库的用户名与口令都保存在数据库内部,且口令以加密方式存储。当用户练级数据库时,需要提供用户名与口令信息,通过数据库认证后才能登陆。 外部身份认证 用户账户由oracle数据库管理,但口令管理和身份验证由外部服务来完成。全局身份认证 采用oracle数据库的高级安全组件,利用LDAP目录服务器集

4、中管理用户信息。当用户试图建立与数据库的连接时,oracle利用网络中的目录服务器中的信息对用户进行身份认证。1.4修改用户alter user user_name identifiedby passwordaccount lock|unlock1.5删除用户drop user username cascade;1.6 查询用户select username,account_status from dba_users;忘记密码的方法:打开cmd,输入sqlplus/nolog,回车;输入“conn/assysdba”;输入“alterusersysidentifiedby新密码”,注意:新密码

5、最好以字母开头,否则可能出现错误Ora-00988。有了这个方法后,只要自己对oracle服务器有管理员权限,不记得密码的时候就可以随意修改密码了。sqlplus/nolog,conn/assysdba之所以能够登录,在于oracle登录时的身份认证方式。oracle在登录时,有三种身份认证方式:操作系统身份认证、密码文件认证、数据库认证。而conn/assysdba是属于操作系统认证。为什么这样说呢?你当前电脑开机时登录的用户,也就是进入操作系统的用户,例如是gooooal,它在你电脑的ora_dba组中。可以在“我的电脑”单击右键,找到“管理”,选择“本地用户和组”,发现有一个组叫“ora

6、_dba”,双击它,看到成员列表中“gooooal”。也就是在conn/assysdba,oracle会进行操作系统验证,发现你当前登录的用户就属于ora_dba组,因此才可以登录成功。你可以把ora_dba组中的“gooooal”用户删除,再conn/assysdba,就发现进不去了。解决用户sys任意密码可以登录的问题:1、sys是Oracle的一个很特殊的用户,它只能按sysdba和sysoper身份登入,也就是说只要按以上两种身份登入,都是sys用户,表面上输入的用户名都是无效的。任何其它用户只能按Normal身份登入。2、sys用户的合法认证有两种方式:一是操作系统认证方式,二是数据

7、库口令认证方式。如果你登入的操作系统是Oracle用户组,那么直接通过操作系统认证连接到数据库,没有必要口令来认证。所以你随便输入一个口令都可以的。2 资源限定与口令管理在oracle数据库中,用户对数据库和系统资源使用的限制以及对用户口令的管理是通过概要文件(profile)实现的。概要文件是oracle数据库安全策略的重要组成部分。每个数据库必须具有一个概要文件。概要文件不是一个物理文件,而是存储在sys模式的几个表中的信息的集合。这些表是在创建数据库运行sql.bsq脚本时,调用denv.bsq脚本创建的,包括profile$表、profname表、resource_map表、resou

8、rce_cost表等。2.1资源限制的级别概要文件通过对一系列资源管理参数的设置,从会话级和调用级两个级别对用户使用资源进行限制。会话级资源限制是对用户在一个会话过程中所能使用的资源总量进行限制,而调用级资源限制是对一条SQL语句在执行过程中所能使用的资源总量进行限制。2.2 资源限制的类型通过设置通过设置概要文件中的参数值,可以从下列几个方面限制用户对数据库和系统资源的使用。 CPU使用时间:在一个会话或一个调用过程中使用CPU的总量。 逻辑读:在一个会话或一个调用过程中读取物理磁盘和逻辑内存数据块的总量每个用户的并发会话数,即一个用户最多同时开启会话的数量。用户连接数据库的最长时间。私有S

9、QL区和PL/SQL区的总量。2.3 启用或停用资源限制与口令管理ALTERSYSTEMSETresource_limit=TRUE/FALSE;2.3.1 口令管理参数介绍Oracle数据库概要文件中用于口令管理的参数包括以下: FAILED_LOGIN_ATTEMPTS:限制用户在登陆oracle数据库允许失败的次数。PASSWORD_LOCK_TIME:设定登陆失败后,账户锁定时间。PASSWORD_LIFE_TIME:设置口令的有效天数。PASSWORD_GRACE_TIME:用于设定提示口令过期的天数。PASSWORD_REUSE_TIME:指定一个用户口令被修改后,必须经过多少天才

10、可以重新使用该口令。PASSWORD_REUSE_MAX:指定一个口令被重新使用前,必须经过多少次修改。PASSWORD_VERIFY_FUNCTION:设置口令复杂性校验函数。2.4 创建资源限制的概要文件(上次不成功的原因,sessions写成了session,还有per写成了pre)1如图:创建一个名为res_profile的概要文件,要求每个用户最多可以创建2个并发会话,每个会话持续时间最长为60min,会话的最长连续空闲时间为20min,每个会话的私有SQL区为100KB,每个SQL语句占用CPU时间总量不超过10s.2 将概要文件指定给用户rf Alter user rf prof

11、ile res_profile 3 将资源管理激活ALTERSYSTEMSETRESOURCE_LIMIT=TRUEscope=both;4如下图,用户rf只能创建2个并发会话,创建第3个时出现错误:超出了限定范围2.5 创建口令管理的概要文件SQLcreate profile pwd_profile limitFailed_login_attempts 4 password_lock_time 10;2.6 将概要文件分配给用户将该概要文件指定给普通用户rf,用户连续登陆四次失败,锁定账户,10天后自动解锁。用管理员账号解锁用户rf。2.7 修改概要文件例子:SQLalter profile

12、 pwd_profile limit password_life_time 10;将用户口令设置有效期为10天例子:SQLdrop profile pwd_profile cascade;删除概要文件。例子:SQLselect * from dba_profiles order by profile;查询数据库所有概要文件的参数设置。3权限管理Oracle数据库使用权限俩控制用户对数据库的访问和用户在数据库中所能执行的操作。用户在数据库中可以执行什么样的操作,以及可以对哪些对象进行操作,完全取决于该用户拥有的权限。控制Oracle数据库访问的权限类型有两种:系统权限system privile

13、ge和对象权限Object privilege(方案对象)。系统权限向用户提供执行某一种或某一类型的数据库操作能力,对象权限对某个特定的数据库对象执行某种操作权限,如对表employees的插入、删除、修改、查询的权限等。在oracle 数据库中给用户授权可以采用两种方式:1.利用grant命令直接为用户授权。2.现将权限授予角色,然后再将角色授予用户。3.1 系统权限分类在Oracle 11g数据库中,有200多种数据库权限,每种系统权限都为用户提供了执行某一些或某一类数据库操作的能力。查询所有系统权限信息的命令如下:系统权限可以分为两大类: 一类是对数据库某一类对象的操作能力,与具体的数据

14、库对象无关,通常带有ANY关键字。例如,CREATE ANY TABLE系统权限允许用户在任何模式中创建表;SELECT ANY TABLE系统权限允许用户查询数据库中任何模式中的表和视图。 另一类系统权限是数据库级别的某种操作能力。例如,CREATE SESSION系统权限允许用户登陆数据库:ALTER SYSTEM系统权限允许用户修改数据库参数。使用系统权限的注意事项: Select、Insert、Update、Delete都是对象权限,它们只针对用户自己模式下的对象,但如果加了Any关键字,针对的就是数据库中所有模式下的对象了。 如果授予用户系统权限时使用了With Admin Opti

15、on子句,则被授权的用户还可以将相应的权限授予其他用户。 开发人员一般需要几个系统权限,其中包括Create Table、Create View和Create type系统权限,以创建支持前台应用程序的数据库模式。 查询当前用户所拥有的系统权限如下:当前登陆用户被授予的系统权限也可以使用如下命令:查看当前用户所拥有的对象权限:查看特定用户所拥有的系统权限:查询特定用户所拥有的对象权限:如图所示用户rf,只有创建会话和创建概要文件的权限。3.2 系统权限的授权与回收只有DBA用户才可以拥有ALTER DATABASE系统权限。例子:为用户chen授予create table 、create sequence系统权限用户获得权限后,可以在chen模式下创建表和序列了,例如:还可以授予用户权限,并且权限具有传递性。 授予权限同时,在用户后面加上 with admin option数据库管理员可以使用revoke语句回收用户、角色或public用户组获得的系统的权限。例如:回收用户系统权限时需要注意以下几点:1 多

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号