Sql-Server
防止使用者刪除 SQL 數據
我們剛剛購買了一個程序,該程序要求使用者在 MS SQL 伺服器中擁有一個帳戶,並具有對該程序數據庫的讀/寫訪問權限。
我擔心的是,由於這些使用者現在將擁有對數據庫的寫入權限,他們可以直接連接到程序客戶端之外的 SQL 伺服器,然後直接在表中處理數據。
無論如何我可以阻止訪問數據庫,同時仍然允許通過客戶端程序訪問?
編輯:SQL 2008 Express,如果需要可以升級到 SQL 2008 R2 Standard。
每個工作站都需要訪問權限,以便人們記錄他們的工作時間/時間表。工作站被鎖定,所以沒有人有 osql、工作室經理或類似的東西。然而,他們可以設置一個 ODBC 數據源,然後通過 Excel/Access 進行連接。
現在想想,弄亂數據不再是大問題了,因為每個人的工資率等都會在這個系統中,所以存在隱私問題。
我同意這是一個非常糟糕的設計。
不。如果使用者對數據庫具有讀/寫訪問權限,並且他們能夠不使用程序連接到它,他們可以執行類似的操作
UPDATE sometable SET attribute = NULL;
並銷毀您的數據集,或者進行任何他們想要的任意更改。不幸的是,SQL 權限無法表達正常與惡意更改的概念,這些更改是由其他有權訪問的人進行的,我懷疑拒絕他們更新記錄的權限會有點弄巧成拙。
就像喬爾的評論一樣,如果這對您的環境造成影響,我會要求退款。保持頻繁的備份和日誌;)
如果您有辦法防止登錄不使用應用程序(例如,通過限制連接到單一來源,如果您的應用程序通過終端服務或 citrix 執行),您絕對可以使用它來提高安全性。