EBS审计功能Audit Trail.docx
- 文档编号:26511395
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:11
- 大小:443.08KB
EBS审计功能Audit Trail.docx
《EBS审计功能Audit Trail.docx》由会员分享,可在线阅读,更多相关《EBS审计功能Audit Trail.docx(11页珍藏版)》请在冰豆网上搜索。
EBS审计功能AuditTrail
[综合技术]什么是EBS审计功能(audit)EBS审计定义实例详解
1什么是EBS审计功能
2定义审计功能
3定义审计功能后数据库中生成的对象
4审计报表
5删除审计的定义
6?
?
启用审计的效率问题
1什么是EBS审计功能
EBS自带审计功能,审计功能是记录系统使用者的操纵记录,例如什么时间对哪张表的那个的字段做了修改、删除等操作,审计功能都会记录相应的时间、修改者、修改前该字段的值。
在实际业务中对一些敏感信息(例如订单行中物料、数量或价目表中的价格信息等等),审计功能可以严格监控操作人员的对系统所做的修改,查找历史数据值,对于提系统的安全性提供了很大的帮助。
2定义审计功能
1)安装跟踪
位置:
SystemAdministrator–Security–AuditTrail–Install;
例如我们需要开启销售模块的审计功能,需按如下填写。
2)定义跟踪组
位置:
SystemAdministrator–Security–AuditTrail–Groups;
填写你要定义跟踪组的名字,注意状态“EnableRequested”,跟踪组里需要定义审计表,也就是你需要关注的表;
例如我们定义的审计表是销售订单的头和行两个表。
3)定义跟踪表
位置:
SystemAdministrator–Security–AuditTrail–Tables;
在此处依次定义步骤2)跟踪组中定义的审计表的哪个字段需要审计;
例如我们定义客户PO号等几个字段为需要审计的字段(主键HEADER_ID需要有)。
注意:
跟踪组中的另一个OE_ORDER_LINES_ALL也需要在此定义。
4)运行在系统管理员职责下运行请求AuditTrailUpdateTables
如果不运行该请求,之前的定义是不会生效的(不会生成线索表),请求运行成功以后可以查看线索表,审计线索表是保存审计结果的表,命名规则是“基表+A”,所以我们现在可以查看到审计表OE_ORDER_HEADERS_ALL_A和OE_ORDER_LINES_ALL_A。
例如表OE_ORDER_HEADERS_ALL_A结构如下:
可以看到这个表的主要的列,有审计时间,被审计的用户,审计的处理类型(更新、删除和修改),被审计的用户等,另外还有我们之前定义的被审计的列。
5)启用审计功能
如果不修改profile则审计功能不会被启用;
到此为止审计功能已经生效,当用户改变OE_ORDER_HEADERS_ALL中这几列的时候就会被记录到该表中。
如下:
我们可以看到哪个用户哪个时间操作了cust_po_number这个字段,这里记录被审计字段的值不是系统中当前的值,而是被修改前该字段的值,如下例:
其中字段AUDIT_TRANSACTION_TYPE的值‘U’就是UPDATE操作,只有参与审计的栏位发生变动才会进行记录
3定义审计功能后数据库生成的对象
审计功能的原理非常的简单,我们以OE_ORDER_HEADERS_ALL表为例说明。
当OE_ORDER_HEADERS_ALL被定义部分字段审计后首先数据库会生成审计表OE_ORDER_HEADERS_ALL_A,同时生成一些视图、trigger和procedure;
视图:
视图都是针对于OE_ORDER_HEADERS_ALL_A的一些select语句;
Trigger:
以更新审计的定义为例,定义表OE_ORDER_HEADERS_ALL的更新审计后会生成OE_ORDER_HEADERS_ALL_AUtrigger;
1.CREATEORREPLACETRIGGEROE_ORDER_HEADERS_ALL_AU
2.?
?
AFTERUPDATEOFHEADER_ID,CUST_PO_NUMBER,PAYMENT_TERM_ID,TRANSACTIONAL_CURR_CODEONOE_ORDER_HEADERS_ALL
3.?
?
FOREACHROW
4.BEGIN
5.?
?
IFFND_GLOBAL.AUDIT_ACTIVETHEN
6.?
?
OE_ORDER_HEADERS_ALL_AUP(:
OLD.HEADER_ID,
7.?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
OLD.CUST_PO_NUMBER,
8.?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
OLD.PAYMENT_TERM_ID,
9.?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
OLD.TRANSACTIONAL_CURR_CODE,
10.?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
NEW.HEADER_ID,
11.?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
NEW.CUST_PO_NUMBER,
12.?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
NEW.PAYMENT_TERM_ID,
13.?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
NEW.TRANSACTIONAL_CURR_CODE);
14.?
?
ENDIF;
15.END;
16./
复制代码
可以看到如果表OE_ORDER_HEADERS_ALL_AU被审计列被修改后首先判断审计的预置文件是否开启,开启后则调用OE_ORDER_HEADERS_ALL_AUPprocedure将相关的值插入到OE_ORDER_HEADERS_ALL_A表中;所以定义更新、插入和修改的审计都会生成相应的trigger和procedure;
4审计报表
关于EBS审计功能,EBS自带报表,但该报表过于简单,通常实际要根据需求开发新的审计报表。
报表的位置:
systemadministrator—Security—AuditTRail—AuditTrailReporting—AuditReport
1)当我们选择参数FunctionalGroup的时候找不到刚才我们定义的ZZ_TEST_TRACE组
2)我们需要到auditindustrytemplate里添加该组
3)打印报表
3.1选择需要打印的列
3.2运行报表
3.3报表内容
可以看到哪个用户什么时间更改了哪个字段(不是一般的难看)
5删除审计的定义
1)数据库手动删除跟踪列的步骤:
1.删除跟踪表?
?
?
?
--DROPTABLExx;
2.删除跟踪表栏位?
?
--DELETEFROMFND_AUDIT_COLUMNSWHERE(TABLE_ID=XX);
3.删除失效的procedure、trigger和views(这个时候查看DB新增的失效对象就可以看到所有与审计有关的对象了)
其中TABLE_ID可以在FND_TABLES查找或在EBS中数据库表定业页面上查找:
2)在EBS页面上删除
1.修改审计组状态
?
?
组状态选择Disable–PurgeTable,保存
2.提交AuditTrailUpdateTables请求后删除才会生效,这时关于该审计组相关定义的审计对象都会被清除掉。
6启用审计的效率问题
很多人担心启用审计功能后对系统性能的影响是不是非常的大?
我们试想如果审计功能启用后对系统有比较大的影响,那么应该主要应该是事务的响应时间和磁盘I/O会有影响;审计功能其实就是通过trigger来保存有变化字段的信息,而且数据量不多;之前曾经针对一个系统启用审计前后做过压力测试,CPU使用率、内存、磁盘I/O和客户端响应时间并无明显的变化;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EBS审计功能Audit Trail EBS 审计 功能 Audit