我正在處理用戶通過Windows應用程序訪問Oracle數據庫的系統。每個用戶都有自己的Oracle帳戶,有時具有多個角色,並且必須通過應用程序向Oracle提供憑據。它出於安全目的以這種方式實施。這是一個很好的做法嗎?每個用戶在Oracle數據庫上擁有自己的帳戶是否可行?
0
A
回答
1
如果您向用戶提供Windows應用程序使用的Oracle憑據,那麼他還可以使用另一個SQL客戶端連接到數據庫。這意味着您必須完全保護數據庫用戶級別的應用程序:
- 允許他訪問和更改他被授權的數據(在表,列和行級別上)。注意這可能需要一些複雜的邏輯,例如只有活躍客戶才能修改訂單狀態。
- 刪除數據字典視圖不必要的訪問
- 刪除存儲過程和程序包不必要的訪問(很多工具包都是默認授予public!)
這是一般很難識別出所有潛在的安全問題並在沒有熟練的DBA的幫助下正確實施訪問控制。
+1
我想你已經得到了這個錯誤的方式 - 當你創建一個用戶時,默認情況下它沒有特權 - 你必須明確地授予它訪問它所需要的東西的權限。在所有用戶使用單個數據庫帳戶連接到數據庫的情況下,您的觀點具有更高的有效性,從而將安全負擔轉移到應用程序層。 –
+0
@JeffreyKemp:是的,在經過第二次思考之後,你絕對是對的!由於我上面寫的原因,您應該設置個人賬戶,共享賬戶需要擁有過多的權限。至少這是桌面應用程序的情況,它需要直接連接到數據庫。感謝您指出:) –
相關問題
- 1. 檢查用戶是否已經擁有PHP和ORACLE的帳戶
- 2. 對於擁有大量共享數據的用戶,CouchDB每用戶數據庫方法是否可行?
- 3. 維度數據倉庫的客戶擁有多個帳戶
- 4. Oauth2 Golang - 擁有自己的數據庫和用戶
- 5. 每個用戶都有自己的數據庫表嗎?
- 6. 針對擁有多個帳戶的客戶的銀行的數據庫結構
- 7. 讓每個用戶在Google App Engine上擁有自己的虛擬主機?
- 8. 是否有可用於管理用戶帳戶的meteor.js庫?
- 9. 每個用戶在使用單個應用程序時是否應該擁有自己的數據庫用戶/密碼?
- 10. 如何找出用戶是否擁有flickr專業版帳戶?
- 11. 如何檢查用戶是否擁有Google帳戶。
- 12. 如何知道用戶是否擁有Facebook帳戶?
- 13. LARAVEL - 每個用戶擁有多個數據庫,用戶每次都選擇數據庫連接
- 14. JEvent是否有可能讓每個用戶都有自己的日曆?
- 15. 給每個用戶自己的數據庫
- 16. 創建Oracle數據庫存儲過程來創建用戶帳戶和/或檢查帳戶是否已存在
- 17. 是否有可能與個人帳戶,Microsoft帳戶和Azure的AD帳戶
- 18. 爲每個用戶建立一個數據庫表是否可行?
- 19. Django:多帳戶,每個帳戶下有多個用戶,但帳戶特定的數據
- 20. 當通過disqus在網站上註冊時,也註冊這個用戶擁有我自己的數據庫
- 21. Oracle數據庫用戶無法在其自己的視圖中看到數據
- 22. Oracle:數據庫是在用戶下還是用戶在數據庫下?
- 23. HTML5 + Java JAX-RS + Neo4J:每個用戶都有自己的數據庫
- 24. 每個數據庫一個用戶vs所有數據庫的單個用戶
- 25. Facebook登錄 - 檢查用戶是否擁有有效/已驗證的Facebook帳戶
- 26. 指定用戶可擁有的最大數據庫數量
- 27. 來自用戶帳戶數據庫的自動電子郵件
- 28. 是否有電子郵件服務爲用戶查詢自己的數據庫?
- 29. 如何驗證用戶是否是蔚藍數據庫訂戶帳戶?
- 30. cansecurity中的用戶帳戶數據庫
我會說這取決於您的應用程序和您的要求。現在,這樣做並不常見,通常安全性是在應用程序層控制的。但是在數據庫上執行它並沒有錯,我能想到的主要原因是不花時間創建應用程序安全層。這是一個很好的實踐或不,我真的不知道。如果你的應用程序正在向用戶返回「安全錯誤」,我會說它沒問題。 –