利用VPD細粒度訪問策略實現行級安全性

gugu99發表於2007-11-30
利用VPD細粒度訪問策略實現行級安全性 Step By Step 相關閱讀:利用Label Security實現行級安全性 Step By Step Oracle8i以後的版本都提供了VPD(virtual private database 虛擬專用資料庫)這樣一個強大的功能來實現呼聲日益增高的系統安全性要求。 透過設定基於VPD的細粒度訪問策略,我們可以只透過DBA的工作(不需要修改應用,也就是應用透明化)就可以實現使用者只能訪問自己有許可權訪問的資料,當然如果需要更加複雜的許可權控制開發人員的參與還是必不可少的。 下面用一個簡單的例子來實現這樣的功能,在EMP表中的使用者登入資料庫以後只能查詢和更新自己所屬部門的其它員工資料,不是本部門的不會顯示也不允許更新。 1. 我們需要用到3個使用者,一個是擁有EMP表的SCOTT使用者,一個是用於設定VPD策略的KAMUS使用者,另外一個是在EMP表中有記錄的SMITH使用者。 SCOTT使用者可以利用$ORACLE_HOME/rdbms/admin/scott.sql建立。 @?/rdbms/admin/scott.sql KAMUS使用者需要能夠執行DBMS_RLS包的許可權。 grant execute on dbms_rls to kamus; SMITH使用者需要能夠讀取並更新EMP表的許可權。 grant select on scott.emp to smith; 2. 首先用KAMUS使用者建立策略許可權表。為方便起見我們直接透過EMP表建立,本策略表中包含了員工姓名和所屬部門編號。為了更加完善策略函式,我們建立完策略表後在表中新增一條記錄,讓SMITH使用者同時屬於20和10這兩個部門。 PHP code:[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-986930/,如需轉載,請註明出處,否則將追究法律責任。

相關文章