关于Oracle EBS R12 表格XLA_TRANSACTION_ENTITIES 的安全策略(VPD)组研究

2023-10-28 20:48

本文主要是介绍关于Oracle EBS R12 表格XLA_TRANSACTION_ENTITIES 的安全策略(VPD)组研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安全策略VPD技术是啥这里就不多说了,网上很多资料,说明很清楚的。这里说的是另外一个比较困惑的点:

对于一个(OBJECT_OWNER.)对象,如果同时存在多个安全策略组的设定,如何确定什么时候抓哪一个安全策略组的设定(WHERE CONDITION)?

例如,查询安全策略:

---安全策略:
SELECT * 
 FROM dba_policies DBA
WHERE dba.object_name = 'XLA_TRANSACTION_ENTITIES'; 


可以看到有5种安全策略之多。

在Toad里面执行语句:SELECT COUNT(*) FROM XLA_TRANSACTION_ENTITIES;

这个语句究竟会用到哪种安全策略?怎么选择?

具体如何研究的就不详细介绍了,我这里直接说结论(都是以XLA_TRANSACTION_ENTITIES作为例子的)。对这方面有兴趣研究的朋友可以验证一下我的结论:

对于一个(用户.对象),如果同时存在多个安全策略组的设定,如何确定什么时候抓哪一个安全策略组的设定(WHERE CONDITION)?
1)其实是用上下文确定的。对应上下文设定查询的表格是:DBA_POLICY_CONTEXTS
特定的会话的上下文的值的查询:SYS_CONTEXT('XLA','SECURITY_GROUP')
根据上下文的值,就可以定位是用哪个安全性的组。

2)问题来了,如果没有定义上下文的值(就是SYS_CONTEXT('XLA','SECURITY_GROUP')为空)的情况下,如何知道用到哪个安全性的组?
通过测试得出,当安全性的上下文的组没有定义的话,它并不是用到哪个组,而是全部的组的限制条件都合并起来!
这点可以通过查询动态性能图:V$VPD_POLICY 得出结论。
当安全性的组的上下文留空的时候,对于同一个SQL和同一个子游标,V$VPD_POLICY 查询出来的是所有组的限制条件。

---结论:
以XLA_TRANSACTION_ENTITIES表为例子(貌似目前EBS就只有这个表格有多个安全性的策略。。。)
1)在客制化的报表等地方,如果确定要用到哪个安全性的策略,最好定位准确。
  定义的过程:XLA_CONTEXT_PKG.set_security_context('XLA');
2)如果没有定义的话,最好确认一下单条SQL,在执行的时候它会用到那些安全策略自动提供的限制条件。
 (如何确认?很简单,就直接在Toad里面执行,然后用V$VPD_POLICY 查询即可)
3)还要注意的一点是,毕竟在报表执行的SQL和在Toad执行的SQL的环境是不一样的,
  所以也可以用上下文查询的语句SYS_CONTEXT('XLA','SECURITY_GROUP')确定在报表执行的环境,它到底有没有限制安全性组。再做开发的决定!

---------------------相关查询语句部分:

---安全策略:
SELECT * 
 FROM dba_policies DBA
WHERE dba.object_name = 'XLA_TRANSACTION_ENTITIES'; 

--可以看到,上面对同一个对象,定义了好几种安全策略。什么时候用哪种?
SELECT * FROM DBA_POLICY_GROUPS

--其实是用上下文确定的;
SELECT * FROM DBA_POLICY_CONTEXTS

--这里查询上下文:
SELECT SYS_CONTEXT('XLA','SECURITY_GROUP') FROM DUAL

--查询上下文所定义的PKG:
SELECT * FROM ALL_OBJECTS WHERE OBJECT_NAME LIKE '%CONTEXT%' AND OBJECT_TYPE = 'PACKAGE'


XLA_CONTEXT_PKG

---设定上下文的值,做测试用:
BEGIN
XLA_CONTEXT_PKG.set_security_context('XLA');
END;

---根据安全策略的包和函数,找出对应的具体的应用的安全策略:
SELECT XLA_SECURITY_POLICY_PKG.MO_POLICY('APPS','XLA_TRANSACTION_ENTITIES') 
  FROM dual; 
  
SELECT XLA_SECURITY_POLICY_PKG.XLA_STANDARD_POLICY('XLA','XLA_TRANSACTION_ENTITIES') 
  FROM dual; 

--情况SQL共享池的信息,正式环境慎用!!!
--ALTER SYSTEM FLUSH SHARED_POOL;

---测试SQL:
SELECT COUNT(*)--SAMT5
 FROM XLA_TRANSACTION_ENTITIES WHERE ROWNUM <=10;
 
SELECT * FROM V$SQL WHERE SQL_TEXT LIKE 'SELECT COUNT(*)--SAMT5%'

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('bc1c50j0969an',0,'ALL IOSTATS LAST'));

---V$SQLAREA包含当前位于共享池中的SQL语句,以及当前的执行统计。
SELECT * FROM V$VPD_POLICY WHERE OBJECT_NAME = 'XLA_TRANSACTION_ENTITIES' AND SQL_ID = 'bc1c50j0969an'


这篇关于关于Oracle EBS R12 表格XLA_TRANSACTION_ENTITIES 的安全策略(VPD)组研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/295843

相关文章

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

Prompt - 将图片的表格转换成Markdown

Prompt - 将图片的表格转换成Markdown 0. 引言1. 提示词2. 原始版本 0. 引言 最近尝试将图片中的表格转换成Markdown格式,需要不断条件和优化提示词。记录一下调整好的提示词,以后在继续优化迭代。 1. 提示词 英文版本: You are an AI assistant tasked with extracting the content of

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

Oracle Start With关键字

Oracle Start With关键字 前言 旨在记录一些Oracle使用中遇到的各种各样的问题. 同时希望能帮到和我遇到同样问题的人. Start With (树查询) 问题描述: 在数据库中, 有一种比较常见得 设计模式, 层级结构 设计模式, 具体到 Oracle table中, 字段特点如下: ID, DSC, PID; 三个字段, 分别表示 当前标识的 ID(主键), DSC 当

oracle分页和mysql分页

mysql 分页 --查前5 数据select * from table_name limit 0,5 select * from table_name limit 5 --limit关键字的用法:LIMIT [offset,] rows--offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。   oracle 分页 --查前1-9

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

生信圆桌x生信分析平台:助力生物信息学研究的综合工具

介绍 少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 生物信息学的迅速发展催生了众多生信分析平台,这些平台通过集成各种生物信息学工具和算法,极大地简化了数据处理和分析流程,使研究人员能够更高效地从海量生物数据中提取有价值的信息。这些平台通常具备友好的用户界面和强大的计算能力,支持不同类型的生物数据分析,如基因组、转录组、蛋白质组等。

开题报告中的研究方法设计:AI能帮你做什么?

AIPaperGPT,论文写作神器~ https://www.aipapergpt.com/ 大家都准备开题报告了吗?研究方法部分是不是已经让你头疼到抓狂? 别急,这可是大多数人都会遇到的难题!尤其是研究方法设计这一块,选定性还是定量,怎么搞才能符合老师的要求? 每次到这儿,头脑一片空白。 好消息是,现在AI工具火得一塌糊涂,比如ChatGPT,居然能帮你在研究方法这块儿上出点主意。是不

研究人员在RSA大会上演示利用恶意JPEG图片入侵企业内网

安全研究人员Marcus Murray在正在旧金山举行的RSA大会上公布了一种利用恶意JPEG图片入侵企业网络内部Windows服务器的新方法。  攻击流程及漏洞分析 最近,安全专家兼渗透测试员Marcus Murray发现了一种利用恶意JPEG图片来攻击Windows服务器的新方法,利用该方法还可以在目标网络中进行特权提升。几天前,在旧金山举行的RSA大会上,该Marcus现场展示了攻击流程,