WEB开发网
开发学院数据库Oracle Oracle数据库用VPD来确保信息的隐私 阅读

Oracle数据库用VPD来确保信息的隐私

 2007-05-12 12:26:44 来源:WEB开发网   
核心提示: 用户的SECMAN(安全性经理)拥有一个ACCESS_POLICY表,它识别AM以及他们各自客户的账户:姓名 空? 类型AM_NAME非空 字符型变量2(20)CUST_ID非空 数字ACCESS_TYPE非空 字符(1)AM_NAME字段存储账户经理的用户ID;CUST_ID用于识别客户

用户的SECMAN(安全性经理)拥有一个ACCESS_POLICY表,它识别AM以及他们各自客户的账户:姓名     空?    类型
AM_NAME   非空    字符型变量2(20)
CUST_ID   非空    数字
ACCESS_TYPE 非空    字符(1)

AM_NAME字段存储账户经理的用户ID;CUST_ID用于识别客户;ACCESS_TYPE定义指定的访问权限--S(SELECT--查询)、I(INSERT--插入数据)、D(DELETE--删除数据)以及U(UPDATE--更新数据)。ACCESS_POLICY表中有这样一些记录:  AM_NAME  CUST_ID  ACCESS_TYPE
  -------  ------- -----------
  SCOTT    123  S
  SCOTT    123  I
  SCOTT    123  D
  SCOTT    123  U
  SCOTT    456  S
  SCOTT    789  S
  LARA     456  I
  LARA     456  D
  LARA     456  U
  LARA     456  S

正如你所看到的,客户123的AM SCOTT拥有所有权限--S、I、D和U--客户456的AM LARA也具有这些权限。还有,由于SCOTT可以批准LARA的客户456的账户结余,所以他拥有对客户456的S权限。

第一步 创建政策函数

无论AM何时要查看客户的账户信息,他都必须动态地应用银行的访问规则(包含在ACCESS_POLICY表中)。第一步是创建政策函数,用于返回要应用到表上的适当判定词。和对ACCESS_POLICY表的处理一样,出于安全考虑,政策函数也由用户的SECMAN创建和控制。最好是使隐私规则与它们将要应用到的表分开。

让我们仔细看一看政策函数get_sel_cust_id,如代码清单2— in detail:

准确接收两个参数:模式名称(p_schema in varchar2)和表名(p_table in varchar2)。

上一页  1 2 3 4  下一页

Tags:Oracle 数据库 VPD

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接