0
我開始研究Oracle數據庫安全性(11G)的一些功能,並且創建了一個小型虛擬銀行數據庫。其中一個表是 「交易」 這樣的欄目:Oracle數據庫安全 - 僅插入特定值
- TRANS_ID
- DATE
- 說明
- TYPE 等
我將要創建這樣的用戶作爲客戶和銀行櫃員,但我想限制他們可以做的事情。我的問題是:我可以允許用戶將數據插入到TRANSACTIONS表中,但僅當它是特定類型或具有特定說明時纔可以?
例如,我希望我的銀行櫃員用戶能夠只插入「FEE REVERSAL」和提款或存款。這就像創建一個角色一樣簡單,如:
CREATE ROLE TELLER_ROLE IDENTIFIED BY TELLER;
GRANT UPDATE ON TRANSACTIONS TO TELLER_ROLE
WHERE TRANSACTION.TRANSACTION_TYPE = 'FEE REVERSAL';
或者我應該以這種不同的方式?
如果你想要這個級別的粒度控制,你最好只允許用戶通過一個存儲過程插入/刪除/更新,你可以允許或不允許一個很好的程度 – kevinsky