欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Oracle安全机制.ppt

    • 资源ID:5442115       资源大小:300.50KB        全文页数:47页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Oracle安全机制.ppt

    Lecture Oracle安全机制,邯郸学院计算机张延军Zhang Yan-junDepartment of Computer,Handan College,Outline,为了防止非法用户登录数据库系统,Oracle提供了三种用户认证方法:口令认证、操作系统认证、全局认证。用户管理权限管理利用角色进行权限管理资源管理管理资源限制概要文件查看安全信息,Oracle的学习方法,Oralce数据库是世界上使用最广泛的数据库,以能保证分布式信息的安全性、完整性、一至性以及具有并发控制和恢复能力、管理超大规模数据库的能力而著称于世。它在面向对象、基于Web的Browser/server应用、Clint/server应用方面独树一帜。只要硬件允许,Oracle数据库能够在单台主机上支持10000个以上的用户,管理数百的数据库。Oracle数据库可以运行在大、中、小型的各种计算机上。Oralce数据库总在跟踪、利用计算机科学中的最新成就,以保证其在功能、理论和实践方面处于领先地位。因此,它的系统较为复杂,学习时要掌握的东西较多,初学者较难入门。Oracle概念众多,如段、区、块、表空间、系统全局区、程序全局区、分区、回退段、重做日志、联机日志、归档日志、控制文件、数据文件、初始化参数、跟踪日志文件、视图、事务处理、数据库对象、存储过程、模式、实例、锁、授权、角色、备份、恢复、优化等等。边学习边实践,理论联系实际,应用为主。,Oracle数据库对象,在Oracle数据库中,大量的数据和程序逻辑都是以对象的形式存在的。每个数据库应用程序都建立在一组相关的数据库对象之上的。模式Schema:是组织相关数据库对象的一个逻辑概念,与数据库对象的物理存储无关。一个模式只能属于一个数据库用户,而且模式的名称与用户的名称相同。Oracle数据库的每一个用户都拥有一个唯一的模式。默认情况下用户所创建的所有模式对象都保存在自己的模式中。如果从一个模式要引用另一个模式中的对象时,要使用点表示法。不同模式下的对象名可以重复。Oracle数据库中所有对象可分为两大类:模式对象和非模式对象。模式对象包括:表、索引、索引化表、簇、触发器、数据库连接、PL/SQL程序包、存储过程、序列、同义词、视图、Java类等,详见资源管理器控制台中方案下的条目。非模式对象:不属于任何模式的数据库对象:如表空间、用户帐号、角色、回退段、概要文件等。,1.用户管理,1.1 建立、修改和删除用户帐号1.2 表空间1.3 改变用户的表空间设置1.4 锁定和解锁用户帐号1.5 默认的数据库用户,1.1 建立、修改和删除用户帐号,create user 用户名identified by 口令default tablespace 表空间名temporary tablespace 表空间名password expireaccount lock|unlockalter user 用户名 identified by 新口令锁定用户与删除用户不同,用户临时离开或出差时应锁定用户。password expire指定用户的密码已经到期失效,用户登陆时强制修改密码。alter user hdc account lock;alter user hdc account unlock;drop user 用户名drop user hdc cascade;,1.2 表空间,表空间是最大的逻辑单位,一个数据库可以有多个表空间,一个表空间只能属于一个数据库。一个表空间可以包含多个数据文件。任何方案对象都被存储在表空间的数据文件中。每个数据库至少有一个表空间,称为系统表空间System,为了便于管理和提高运行效率,系统还自动建立中另外一些表空间。另外具有Create Tablespace系统权限的用户还可以创建新的表空间。在创建用户时,如果不指定,则帐号的默认表空间为USER,临时表空间为TEMP.表空间的类型:永久表空间、临时表空间、撤销表空间。表空间的管理方式:字典管理的表空间和本地管理的表空间。表空间的状态:联机或脱机(System表空间必须始终保持联机,因为保存在其中的数据字典的信息必须在运行中始终可用);只读或读写。Oracle默认表空间有九个:,1.2 表空间,1.2 表空间,建立表空间的语法格式:Create tablespace 表空间名Datafile 数据文件名 size 整数K|MReuseAutoextendon|offnext整数K|MMaxsize Unlimited|next整数K|M,其他数据文件online|offlinepermanent|temporary注:可为表空间指定一个或多个数据文件,文件说明的Reuse选项如果文件不存在,则创建文件,否则重复使用该文件。实例:CREATE TABLESPACE data_tsDATAFILE%oracle_base%oradatadata_ts01.dbfSIZE 20M REUSEAUTOEXTEND ON NEXT 5M MAXSIZE 150M;,1.2 表空间,修改表空间的语法格式:Alter tablespace 表空间名 参数名 参数值;Alter tablespace newtbsp read only;Alter tablespace newtbsp offline normal;Alter tablespace newtbsp addDatafile f:userdatanewtbsp3.dbf size 5m;删除表空间的语法格式:Drop tablespace 表空间名;,1.2 表空间,如果不给用户指定默认表空间,则用户的默认表空间为USERS。一般,SQL语句在完成任务(连接查询、排序等)时需要临时工作空间,除非另外指定,用户的临时表空间为TEMP。我们不提倡用户使用SYSTEM表空间来存储自己的数据,否则将影响系统的执行效率。,更改用户的表空间设置:Alter user 用户名Default tablespace 表空间名Temporary tablespace 表空空间名,2.权限管理,2.1 Oracle数据库权限2.2 将系统权限授予用户和撤销授予用户的系统权限2.3 将对象权限授予用户和撤销授予用户的对象权限,2.1 Oracle数据库权限,控制Oracle数据库访问的权限类型有两种:系统权限system privilege和对象权限Object privilege(方案对象)。系统权限向用户提供执行某一种或某一类型的数据库操作能力,不属于某个具体的方案,Oracle有近100种系统权限。Oracle系统权限详见下页列表:使用系统权限的注意事项:Select、Insert、Update、Delete都是对象权限,它们只针对用户自己模式下的对象,但如果加了Any关键字,针对的就是数据库中所有模式下的对象了。如果授予用户系统权限时使用了With Admin Option子句,则被授权的用户还可以将相应的权限授予其他用户。开发人员一般需要几个系统权限,其中包括Create Table、Create View和Create type系统权限,以创建支持前台应用程序的数据库模式。,2.1 Oracle数据库权限,2.1 Oracle数据库权限,2.1 Oracle数据库权限,使用对象权限的注意事项:可以将对象权限授予用户、角色或PUBLIC公共用户组。如果一个视图引用了其他模式中的表或视图,则该视图的拥有者必须以With grant option方式获得这些表或视图的权限,才能将该视图的对象权限授予其他用户。用户只在具有某个表的所有权限时,才能锁定这个表。Select对象权限只能授予整个表而不能授予表中的字段。因此,如果希望用户只能查询表中的部分字段,唯一的办法就是为表建立视图,然后将视图的Select权限授予用户。,2.2 将系统权限授予用户和撤销授予用户的系统权限,将系统权限授予用户语法:Grant 系统权限,系统权限|All privileges to 用户名,用户名|public with adimin option注:All privileges 包括除Select any dictionary 外所有的系统权限。小心使用。撤销授予用户的系统权限Revoke 系统权限,系统权限|All privileges from 用户名,用户名|public,2.3 将对象权限授予用户和撤销授予用户的对象权限,将对象权限授予用户语法:Grant 对象权限|All privileges(列名,列名),On模式名.对象名|directory 目录名to 用户名,用户名|public with grant optionwith hierarchy option一个用户要将某个对象权限授予其他用户,他必须拥有该对象或者被授予该对象权限时他用了With grant option子句。,2.3 将对象权限授予用户和撤销授予用户的对象权限,撤销授予用户的对象权限Revoke 对象权限,对象权限|All privileges On 模式名.对象名(列名,列名)|directory 目录名from 用户名,用户名|public cascade constraintsforce注:在撤销授予用户的对象权限时,各对象权限仅可针对整个表撤销,而不能按列撤销。cascade constraints选项表示要删除所有用References对象权限创建的引用完整性约束。force强制废除用户定义的对象类型的Execute权限,依赖这些对象类型的表格也被撤消。,Oracle中有关权限数据字典,有关权限的数据字典:,3.利用角色进行权限管理,3.1 创建角色3.2 将权限授予角色3.3 撤销授予角色的权限3.4 预定义角色3.5 将角色授予用户或其他角色3.6 撤销授予用户或其他角色的角色3.7 启用和禁用角色,3.1 创建角色,角色Role是系统权限和对象权限的一个集合。可以将角色授予用户,被授予角色的用户会自动拥有角色所具有的权限。如果修改了角色所拥有的权限,则被授予角色的用户的权限也会随之自动修改。创建角色后,Oracle自动授予创建者该角色的管理权,以更改、丢弃角色,以及将角色授予其他角色和用户。另外,角色属于角色的创建者。,创建角色的语法格式:Create role 角色名not identified|identified by 口令系统默认为Not identified,3.2 将权限授予角色,将权限授予角色的Grant命令与将权限授予用户的Grant命令的语法格式基本相同。,将权限授予角色的语法格式:Grant 系统权限,系统权限|All privileges to 角色名,角色名|public with adimin option注:with adimin option选项,角色的被授予者可以授予、更改或删除该角色,并可以给其他用户和角色授予该角色。为了防止系统出现安全漏洞,不应该给角色授予带有管理权的系统权限和角色。,3.3 撤销授予角色的权限,撤销授予角色的权限的Revoke命令与撤销授予用户的权限的Revoke命令的语法格式基本相同,分为撤销系统权限和对象权限:,Revoke 系统权限,系统权限|All privileges from 角色名,角色名|public 撤销授予角色的对象权限Revoke 对象权限,对象权限|All privileges on模式名.对象名(列名,列名)|directory 目录名from 角色名,角色名|public cascade constraintsforcecascade constraints选项表示要删除所有用References对象权限创建的引用完整性约束。force强制废除用户定义的对象类型的Execute权限,依赖这些对象类型的表格也被撤消。,3.4 预定义角色,3.5 将角色授予用户或其他角色,在创建了角色并授予角色适当的权限后,可用下列Grant命令将角色授予用户或其他角色。,Grant 角色名,角色名To 用户名,用户名|public|角色名,角色名with admin option注:public选项表示将角色授予数据库的所有用户。with admin option选项表示用户可以授予、更改、或丢弃该角色,并且可以给其他的用户和角色授予该角色。实例:Grant connect,resource to hdc;,3.6 撤销授予用户或其他角色的角色,撤销授予用户或其他角色的角色的语法格式如下:,revoke 角色名,角色名from 用户名,用户名|public|角色名,角色名实例:revoke connect,resource from hdc;,3.7 启用和禁用角色,通过角色的启用和禁用,Oracle能够动态控制用户的可用权限,确保用户在运行应用程序时始终具有合适的权限集合。可使用SQL的SET Role语句启用和禁用角色,其语法格式如下:,Set role角色名identified by 口令,角色名identified by 口令|allexcept 角色名,角色名|none;注:All:将使会话用户所有被授予的角色有效。None:将禁用会话用户所有被授予的角色。identified by 口令:启用需要口令的角色时,必须给出口令。,3.7 启用和禁用角色,测试实例:用system帐号通过sqlplus连接到Oracle数据库:Create user zyj identified by hdcteacher;Create role appdev identified by programmer;Grant connect,resource,appdev to zyj;用zyj帐号通过sqlplus连接到Oracle数据库:Select*from session_roles;Set role none;Select*from session_roles;Set role all;Set role connect,resource,appdev identified by programmer;,Oracle中有关角色的数据字典,4.资源管理,在多用户数据库系统中,应慎重对待每个用户所使用的资源。如果一个用户无限制地使用数据库服务器的系统资源(CPU时间、内存、连接数、存储空间等),将导致系统的整体性能下降。因此,需要合理给用户分配资源,对资源进行管理。4.1 表空间限额4.2 限制资源的概要文件4.3 数据库默认的概要文件,4.1 表空间限额,除非用户具有表空间限额(quota),否则不能在表空间中创建任何数据库对象。在创建或修改一个用户时,可以将其表空间限额设置为特定的字节数或无限制。Alter user 用户名quota 整数K|M|unlimited on 表空间名只有用户需要对数据库系统中所有表空间拥有无限制的限额时,才可以给该用户授予Unlimited tablespace系统权限。Oracle不允许给角色授予Unlimited tablespace系统权限。,4.2 限制资源的概要文件,利用资源限制概要文件(resource limit profile)可以对数据库用户进行基本的资源限制,而且还可以对用户的口令进行管理。概要文件的资源参数:CPU_PER_SESSION:每个会话或每个语句的CPU时间(以1%秒为单位)CPU_PER_CALL:一个调用(语法分析、执行或提取)占用CPU的最大值(以1%秒为单位)CONNECT_TIME:一个会话持续的时间的最大值(以分为单位)IDLE_TIME:一个会话处于空闲的时间最大值。空闲时间是会话中持续不活动的一段时间,长时间运行的查询和其他操作不受此限值的约束(以分为单位)SESSIONS_PER_USER:每个用户的并行数据库连接的最大数量。LOGICAL_READS_PER_SESSION:会话中允许数据块读取的总数。该限制包括从内存和磁盘读取的块。LOGICAL_READS_PER_CALL:一个调用(语法分析、执行或提取)在处理一个SQL语句时读取的数据块的最大数量。PRIVATE_SGA:在系统全局区SGA的共享池中,一个会话可分配的专用空间的最大值。COMPOSITE_LIMIT:一个会话耗费的资源总量:以上资源参数的加权和。,4.2 限制资源的概要文件,概要文件的密码参数:FAILED_LOGIN_ATTEMPTS:限定用户在几次登录失败后将无法使用该账户。PASSWORD_LIFE_TIME:在登录失败达到指定次数后,指定该帐户将被锁定的天数。如果指定了“无限制”,则只有DBA才能为该帐号解除锁定。PASSWORD_REUSE_TIME:限定口令失效后经过多少天才可以重复使用。PASSWORD_REUSE_MAX:指定口令被重复使用前必须经历的更改次数。PASSWORD_LOCK_TIME:限定口令失效后第一次用它成功登录之后多少天内可以更改此口令。PASSWORD_VERIFY_FUNCTION:一个PL/SQL函数,用于检验密码的复杂性。,4.3 数据库默认的概要文件,每个Oracle数据库都有一个默认的资源限制概要文件,名为Default,对所有资源限制设置为无限制的。当创建一个新的数据库用户且不对用户分配一个特定的概要文件时,Oralce自动给用户分配默认的资源限制概要文件。,5.管理资源限制概要文件,在Oracle中使用概要文件配置和实施资源限制有以下步骤:5.1 启用资源限制5.2 创建概要文件5.3 概要文件的分配和修改5.4 启用和禁用口令复杂性检查,5.1 启用资源限制,启动Oracle数据库,默认不实施资源限制,所以限制用户对服务器资源访问的第一步是使实例级的资源限制有效。启用/禁用资源限制的SQL命令语法格式如下:Alter system set resource_limit=true|false只在当前数据库实例的存在期有效。如果关闭或重新启动Oralce,资源限制将服务从于服务器初始化参数文件SPFILE中参数Resource_limit的设置。如计划永久地使用资源限制,可将Resource_limit=true保存在初始化参数文件SPFILE中。Oracle 9i在安装时为每个数据库建立了一个Pfile,默认的名称为“init+例程名.ora”,这是一个文本文件,可以用任何文本编辑工具打开。查看资源限制是否启用:Show parameters resource_limit;,5.2 创建概要文件,CREATE PROFILE 概要文件名 LIMIT/*【一般信息】选项卡对应的配置参数*/CPU_PER_SESSION 整数|unlimited|defaultCPU_PER_CALL 整数|unlimited|default CONNECT_TIME 整数|unlimited|default IDLE_TIME 整数|unlimited|default SESSIONS_PER_USER 整数|unlimited|default LOGICAL_READS_PER_SESSION 整数|unlimited|default LOGICAL_READS_PER_CALL 整数|unlimited|default PRIVATE_SGA 整数K|M|unlimited|default COMPOSITE_LIMIT 整数|unlimited|default/*【口令】选项卡对应的配置参数*/FAILED_LOGIN_ATTEMPTS 整数|unlimited|default PASSWORD_LOCK_TIME 整数|unlimited|default PASSWORD_GRACE_TIME 整数|unlimited|default PASSWORD_LIFE_TIME 整数|unlimited|default PASSWORD_REUSE_MAX 整数|unlimited|default DEFAULT PASSWORD_REUSE_TIME 整数|unlimited|default PASSWORD_VERIFY_FUNCTION Null|函数名|default,5.2 创建概要文件,5.3 概要文件的分配和修改,Alter user 用户名 profile 概要文件;可使用SQL的Alter profile命令修改概要文件设置,也可使用Oralce Enterprise Manager console;,5.4 启用和禁用口令复杂性检查,Oracle提供了一个默认的函数,必须用C:oracleora92rdbmsadmin、utlpwdmg.sql来创建这一函数。在sql plus命令行可以执行这个SQL文件。-Check if the password is same as the username-Check for the minimum length of the password-Check if the password is too simple.A dictionary of words may be maintained and a check may be made so as not to allow the words-that are too simple for the password.IF NLS_LOWER(password)IN(welcome,database,account,user,password,oracle,computer,abcd)THEN raise_application_error(-20002,Password too simple);END IF;-Check if the password contains at least one letter,one digit and one punctuation mark.-Check if the password differs from the previous password by at least 3 letters,6.查看安全信息,6.1 显示帐号信息6.2 显示角色信息6.3 显示表空间限额信息6.4 显示概要文件的信息,6.1 显示帐号信息,为了显示数据库中用户的信息,可以查询DBA_USERS数据字典视图。select username,account_status,default_tablespace,temporary_tablespace,profile from dba_users where lower(username)in(hdc,zyj);,6.2 显示角色信息,为了显示数据库中角色的信息,可以查询DBA_ROLES数据字典视图select*from dba_roleswhere lower(role)in(connect,dba,resource),6.3 显示表空间限额信息,为了显示数据库中每个表空间上授予用户的限额信息,可以查询dba_ts_quotas数据字典视图。select tablespace_name,username,bytes,max_bytesfrom dba_ts_quotas;在Oralce Enterprise Manager console中存储/表空间中也可直观地查看表空间的基本信息。,6.4 显示概要文件的信息,为了显示概要文件和相关资源限制设置的信息,可以查询DBA_profiles数据字典视图:Select profile,resource_name,limit From dba_profile;,Question And Answer,

    注意事项

    本文(Oracle安全机制.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开