我們希望授予用戶execute
一個存儲過程,該存儲過程將訪問某些表,但阻止同一用戶對相同表執行直接查詢。存儲過程表安全
這是我們目前的型號。用戶foo
是存儲過程的所有者。它具有對所有必要表格的直接選擇,插入,更新和刪除權限。存儲過程已使用AUTHID CURRENT_USER
創建。 Foo
將其存儲過程授予execute
至用戶bar
。用戶bar
通過上面的授權調用存儲過程。根據設計,它無法更改任何存儲過程的源代碼。它可以通過角色訪問必要的表格。
到目前爲止,這工作正常。現在我們有了一個新的要求。必須創建一個可以執行存儲過程但不能直接對錶進行查詢的新用戶(通過SQLPlus,JDBC,ODBC等)
我看不到任何明顯的實現方法。所有建議都歡迎。