总账数据访问安全性控制(1)
EBS版本:12.0.0以上
在Oracle EBS 12 之前,很多项目中希望按照某些规则进行总账数据的屏蔽只能通过客户化开发来实现,如按照OU进行凭证的屏蔽,同时FSG报表的数据也需要按照同样的规则屏蔽相关数据.这样的要求需要开发人员修改较多的数据库视图定义和PL/SQL程序,同时导致EBS的升级是一个较麻烦的事情。
在Oracle EBS 12之中,Oracle对数据安全性的控制作了独立的设计。
后续文章中,我将结合功能和技术对总账的数据安全性控制做一个介绍,由于内容设计系统功能和技术层面,因此会分做多篇文章来描述。
数据访问权限集(Data Access Set)介绍
Oracle EBS12 中,通过数据访问权限集来控制职责能够访问哪些分类账,它可以限制用户只能够存取某些平衡段值或管理段值,或者授权给一个职责只能读取或者同时具备读写分类账中数据的权限。
如果分类账和分类账集分配给同一个数据存取集,必须保证它们是共享同样的账户结构、会计日历和期间类型
系统中可以定义如下三种类型的数据访问权限集:
- 全部分类账
- 平衡段值(BSV)
- 管理段值(MSV)
全部分类账(Full Ledger):
用户可以存取整个分类账的数据。如:在数据访问权限集中包含2个分类账,A和B,可以设置用户只能够读取A分类账中的数据,没有写数据的权限;而设置用户能够同时读写B分类账中的数据
平衡段值(Balancing Segment Values/BSV):
授权用户存取所有或者某些特定分类账平衡段值的账户组合。譬如,可以定义一个数据访问权限集来控制分类账A的数据读取:对平衡段值01只有读取权限;对平衡段值02具有读写权限;而对于平衡段值03则没有读写的权限
管理段值(Management Segment Values/MSV):
授权用户存取所有或者某些特定分类账管理段值的账户组合。譬如,可以定义一个数据访问权限集来控制分类账A的数据读取:对管理段值100只有读取权限;对平衡段值200具有读写权限;而对于平衡段值300则没有读写的权限。要启用管理段的控制必须账户结构定义中指定了管理段。
满足下列条件时,Oracle General Ledger自动生成数据访问权限集:
- 创建一个分类账
- 定义一个分类账集
系统为分类账生成的数据访问权限集和分类账同名,这个权限集使用了“全部分类账”的访问权限集类型,提供了完全读写整个分类账数据的权限。
系统为分类账集生成的数据访问权限集和分类账集同名,这个权限集使用了“全部分类账”的访问权限集类型,提供了完全读写所有分配给分类账集中分类账的数据权限。
如果只需要控制和系统生成数据访问权限集一致的权限控制,直接使用系统生成的数据访问权限集,无须而外手工创建数据访问权限集。
只有当需要更小粒度的控制分类账、分类账集、特定平衡段值或特定管理段值的数据读取权限的时候,才需要手工创建数据访问权限集。
下一篇文章将描述如何设置数据访问权限集以及将其分配给某职责。