Oracle的虛擬私有數據庫特性(也稱作細顆粒度存取控制)對諸如SELECT等數據管理語言DML語句提供行級安全性檢查
SELECT * FROM employees;
但是實際上oracle將會執行這樣的語句
SELECT * FROM employees
WHERE department_id =
因此
要想使用列值掩碼必須在虛擬私有數據庫策略中做兩件事
首先必須創建一個列級策略來設計某些列為安全相關列
列表A顯示了一個稱為rls_dept的策略函數
列表B顯示了如何應用列表A中的函數創建列值掩碼
列值掩碼應用於SELECT語句
CREATE OR REPLACE
FUNCTION rls_dept (obj_owner IN VARCHAR
RETURN VARCHAR
AS
predicate VARCHAR
BEGIN
predicate :=
RETURN (predicate);
END rls_dept;
/
BEGIN
DBMS_RLS
object_name=>
policy_name=>
function_schema=>
policy_function=>
sec_relevant_cols=>
sec_relevant_cols_opt=>dbms_rls
END;
/
From:http://tw.wingwit.com/Article/program/Oracle/201311/17845.html