动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.Oracle数据库结构之物理存储结构.
.Oracle 9与Oracle 8中CPU_COSTIN.
.剖析:Oracle融合中间件为何会全.
.Oracle中的Instance实例和数据库.
.如何在Oracle中使用游标来实现多.
.Oracle8i LONG数据类型使用上的一.
.oracle联机热备原理及rman增量备.
.嵌入式设备上的 Linux 系统开发.
.Oracle数据库软件包远程溢出漏洞.
.ORACLE性能诊断―学习statspack笔.
.Oracle基本数据类型存储格式浅析.
.ORACLE 11g新特性简介.
.ORACLE之APACHE虚拟服务器设置.
.10gRAC系列之cluvfy用法及验证错.
.如何处理syslogd升级后qmgr突然停.
.Oracle裸设备(raw device)问答.
.企业级N Tier体系结构解决方案讨.
.经典Oracle图书推荐(之四).
.从Oracle Developer/2000 调 用VB.
.ORACLE DATE和TIMESTAMP数据类型.

9I新特性之细粒度访问原则

发表日期:2008-2-9 |



分区细粒度访问控制
   例如:在一个控制环境中,这个特性被用来控制两个公司对sales表的访问.每一个公司拥有的独立的应用程序sell_it和prod_opt,需要拥有不同的安全策略.第一个公司的sell_it应用程序认证的用户需要只能访问表中来自他们相同地区的记录;那就是sales.cust_id+customer.country的联合校验必须符合这个用户的地区相吻合.第二个公司的prod_opt应用程序的访问权限被设置为只能访问最近事务提交的记录上.也就是与sales.time_id相关联.在8i中,在一个细粒度访问控制中拥有这两个策略将需要开发公司共同协作部署.假如两个产品来自竞争的两个公司,这实际上是不可行的.依靠定义"应用程序设置"来强行控制对基本objects的一些非凡规定,每一个应用程序现在能够实现一系列私有的安全策略.
二:细粒度审计.
     ...一个提供扩展的入侵检测,捕捉sql执行语句,而不是返回数据的工具.
     ...可以将审计策略捆绑在带有where条件的select语句的表或视图上.
     ...Oracle用自治事务来处理用户自定义的审计事件.
     ...一个基于列的审计特性减少了错误审计的发生.
   数据库治理系统中的审计经常被用来监控数据的访问.审计纪录是验证违反数据访问权限的基础.新的细粒度审计机制从事于执行更细小级别的审计.
   新的审计原则是基于简单的用户定义关于表的查询条件的sql谓词. 谓词可以在当查询结果中返回了指定的值得时候进行审计.
   在基于查询值的审计中,也有一些情形下治理员只关心某一个特定的被引用和访问列情况.因为无论一个列的查询审计发生在dml的任何部分都可以进行审计,所以oracle对这个查询的审计将不存在任何问题.
   在8i中,审计项只能被设置用来监控对对象的访问权,只有一些固定的情况,比如用户id,时间戳,对象名称会被记录在审计跟踪里.
   细粒度审计可以调用一个存储过程来作为审计过程的一部分.
-----------------------------------------------------------------------------------
                   如何进行细粒度审计
    ...安全治理员用dbms_fga包来为有问题的表建立审计原则.
dbms_fga.add_policy(),dbms_fga.enable_policy(),dbms_fga.disable_policy(),dbms_fga.drop_policy().
-------------------------------------------------------------------------------------
PROCEDURE ADD_POLICY
参数名称                       类型                    输入/输出默认值?
 OBJECT_SCHEMA                  VARCHAR2                IN     DEFAULT
 OBJECT_NAME                    VARCHAR2                IN
 POLICY_NAME                    VARCHAR2                IN

 AUDIT_CONDITION                VARCHAR2                IN     DEFAULT
 AUDIT_COLUMN                   VARCHAR2                IN     DEFAULT
 HANDLER_SCHEMA                 VARCHAR2                IN     DEFAULT
 HANDLER_MODULE                 VARCHAR2                IN     DEFAULT
 ENABLE                         BOOLEAN                 IN     DEFAULT
--------------------------------------------------------------------------
PROCEDURE DISABLE_POLICY
参数名称                       类型                    输入/输出默认值?
 OBJECT_SCHEMA                  VARCHAR2                IN     DEFAULT
 OBJECT_NAME                    VARCHAR2                IN
 POLICY_NAME                    VARCHAR2                IN
------------------------------------------------------------------------------
PROCEDURE DROP_POLICY
参数名称                       类型                    输入/输出默认值?
 OBJECT_SCHEMA                  VARCHAR2                IN     DEFAULT

 OBJECT_NAME                    VARCHAR2                IN
 POLICY_NAME                    VARCHAR2                IN
------------------------------------------------------------------------------
PROCEDURE ENABLE_POLICY
参数名称                       类型                    输入/输出默认值?
 OBJECT_SCHEMA                  VARCHAR2                IN     DEFAULT
 OBJECT_NAME                    VARCHAR2                IN
 POLICY_NAME                    VARCHAR2                IN
 ENABLE                         BOOLEAN                 IN     DEFAULT
 -------------------------------------------------------------------------------
    ...用表dba_audit_policies来列出已定义的原则.
    ...用表dba_fga_audit_trail来放置审计纪录.这个表包括触发审计的用户名,SQL语句,
       审计名称,会话ID号,时间戳,和其他一些属性.
    ...治理员可以定义审计事件处理器来处理发生的时间,比如像治理员传送警告页.
--------------------------------------------------------------------------------------
下面列举一个新的细粒度原则的例子,从这个例子我们可以看出9I细粒度审计原则与8I的区别.
假如我们的原则设为:AUDIT_CONDITION='SALARY>10000'
这个时候我们看一下我们执行
SELECT last_name,salary FROM employees WHERE last_name = ’Russell’
尽管我们选择的查询条件中没有包含SALARY列,但是由于我们的对SALARY列进行查询,假如RUSELL的SALARY值大于10000,那么这条记录将被审计.
审计纪录如下
'SELECT LAST_NAME,SALARY FROM EMPLOYEES WHERE LAST_NAME='RUSSELL',<TIMESTAMP>,<SCN>,
<USERNAME>,........
假如我们执行
SELECT LAST_NAME,SALARY FROM EMPLOYEES WHERE SALARY<9000

那么尽管这条语句访问,查询了SALARY列,但是由于他访问的值未达到审计阀值,那么将不被审计.
-------------------------------------------------------------------------------------
细粒度审计只对一个有WHERE条件的SELECT语句有效,并且只能设定一个被审计的列.

上面的查询语句触发的事件不是造成用户无法查询到这些语句,这些SALARY>10000实际上被返回
给查询用户,但是同时一个审计事件被写到审计跟踪里,包括完整的SQL语句,时间戳等信息.

细粒度审计并不自动的捕捉返回给查询用户的查询结果,但是你可以用细粒度审计原则结合闪回
查询重建返回给用户的纪录.

细粒度审计能够实现数据库系统的入侵监测功能.例如,开发人员可以为一个审计增加一个事件处理器来通知治理员,是否有被审计的事件发生.非SQL的访问是不被审计的,例如:假如你使用DIRECT PATH EXPORT,这种方式绕过了数据库的SQL层,审计条件将不被触发.
------------------------------------------------------------------------------------
                 细粒度审计事件处理器
                 
 如何创建.
 CREATE PROCEDURE catchlog (schema_name VARCHAR2,table_name VARCHAR2,policy VARCHAR2)
  AS BEGIN
  -- send an alert note to my pager
  UTIL_ALERT_PAGER(’CatchLog:’Table_nameSYSDATE);
  END;
  /
  如何添加
  DBMS_FGA.ADD_POLICY ( ...HANDLER_SCHEMA=>’HRMGR’, HANDLER_MODULE=>’CATCHLOG’);
细粒度审计事件处理器总结:
  在上面的例子中,用户HRMGR创建了一个存储过程CATCHLOG,参数的类型和我们的例子必须
一致,但是名字可以改变.

审计事件处理器的添加需要一个拥有权限的用户

当第一个我们关心的行被取得时,审计事件纪录将被记录并存放下来,审计函数HRMGR.CATCHLOG
被调用.
上一篇:利用logmnr恢复大量误删除数据 人气:555
下一篇:最近研究双机和ops,想不通个问题,请教。。。 人气:334
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-6 Movie34电影搜索引擎 v3.0
2008-9-6 wap2.0仿帝国建站喜用 v2.0
2008-9-6 免费人才招聘网 宽屏版 v3.01
2008-9-6 喜喔喔视频采集程序 v1.0 beta
2008-9-6 ASP客户管理系统
2008-9-6 主流驿站中秋祝福程序
2008-9-6 php实现msn协议的类
2008-9-5 Coppermine Photo Gallery v1.4.
2008-9-5 清松网络日记本 v2.4
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号