Sql-Server
ASP.NET 應用程序連接字元串和 SQL Server 安全/權限
我正在實時(生產)伺服器上部署 ASP.NET 應用程序和 SQL Server (2008) 數據庫。物理伺服器同時執行SQL Server 2008 和 IIS 7 - 它由託管公司提供,不屬於我們的內部網路。
我有幾個關於數據庫安全和 ASP.NET 應用程序的連接字元串的問題。
以前我會創建一個數據庫使用者並為每個表指定 SELECT/INSERT 等權限 - 但我的問題是這個數據庫中有50 多個表,所以這樣做需要很長時間。
應用程序需要對每個表執行 SELECT/INSERT/DELETE/UPDATE。
- 有沒有比單獨指定每個表的權限更好的方法?
- 是否有等效於實時 Web 伺服器的集成安全性- 有什麼缺點?
- 或者有沒有辦法將特定使用者的訪問權限提升為對特定數據庫的完全訪問權限
另外連接字元串將如何變化?
我只是在尋找一些專家建議,只是有人為我指明正確的方向,以及指向一些有關如何實現更好方法的文件的連結。
非常感謝。
聽起來您可以使使用者成為數據庫所有者,因為您沒有列出非常嚴格的安全規則。我為所有需要基本數據庫訪問的簡單站點執行此操作。如果您需要更嚴格的策略(即某些數據庫使用者是只讀的,有些只能訪問某些表),那麼這不是您的選擇。
在 SQL Server Management Studio 中,展開
Security
>Logins
並右鍵點擊使用者並轉到Properties
,然後User Mapping
。在頂部窗格中,選中數據庫旁邊的框。然後db_owner
在底部窗格中找到並選中該框。現在使用者可以對該數據庫執行所有功能,包括 INSERT、SELECT、UPDATE、DELETE。Database-Level Roles以獲取有關每個角色含義的更多詳細資訊。