怎麼設定SQL資料庫使用者許可權
阿新 • • 發佈:2019-02-20
1.我新建了一個使用者,在右鍵->屬性->資料庫角色裡有8個單選按鈕,我希望這個使用者只有執行的許可權,應該選上哪些是最合理的,我一個一個測好像不全面。
2.關於遠端維護方面的,高手順便說下怎麼做才能比較好的實現資料既能傳送執行,又不至於洩漏資料
高手指教
Q : 資料庫安全管理範例!
主要解答者: zjcxc 提交人: zjcxc
感謝: zjcxc
稽核者: pbsql 社群對應貼子: 檢視
A :
首先,做好使用者安全:
--簡單的,只允許sql的使用者訪問sql(防止利用administrator組使用者訪問)
1.企業管理器--右鍵SQL例項--屬性--安全性--身份驗證--選擇"sql server和windows"--確定
2.企業管理器--安全性--登陸--右鍵sa--設定密碼--其他使用者也設定密碼
3.刪除使用者:
BUILTIN\Administrators
<機器名>\Administrator --這個使用者不一定有
這樣可以防止用windows身份登陸SQL
4.設定進入企業管理器需要輸入密碼
在企業管理器中
--右鍵你的伺服器例項(就是那個有綠色圖示的)
--編輯SQL Server註冊屬性
--選擇"使用 SQL Server 身份驗證"
--並勾選"總是提示輸入登入名和密碼"
--確定
--經過上面的設定,你的SQL Server基本上算是安全了.
------------------------------------------------------------------------
其次,改預設埠,隱藏伺服器,減少被攻擊的可能性
SQL Server伺服器
--開始
--程式
--Microsoft SQL Server
--伺服器網路實用工具
--啟用的協議中"TCP/IP"
--屬性
--預設埠,輸入一個自已定義的埠,比如2433
--勾選隱藏伺服器
----------------------------------------------------------------------------
--管好sql的使用者,防止訪問他不該訪問的資料庫(總控制,明細還可以控制他對於某個資料庫的具體物件具有的許可權)
--切換到你新增的使用者要控制的資料庫
use 你的庫名
go
--新增使用者
exec sp_addlogin 'test' --新增登入
exec sp_grantdbaccess N'test' --使其成為當前資料庫的合法使用者
exec sp_addrolemember N'db_owner', N'test' --授予對自己資料庫的所有許可權
--這樣建立的使用者就只能訪問自己的資料庫,及資料庫中包含了guest使用者的公共表
go
--刪除測試使用者
exec sp_revokedbaccess N'test' --移除對資料庫的訪問許可權
exec sp_droplogin N'test' --刪除登入
---------------------------------------------------------------------------
最後一步,為具體的使用者設定具體的訪問許可權,這個可以參考下面的最簡示例:
--新增
--新增使用者:
exec sp_addlogin '使用者名稱','密碼','預設資料庫名'
--新增到資料庫
exec sp_grantdbaccess '使用者名稱','資料庫名'
--分本許可權
grant insert,select,update,delete on table1 to public
2.關於遠端維護方面的,高手順便說下怎麼做才能比較好的實現資料既能傳送執行,又不至於洩漏資料
高手指教
Q : 資料庫安全管理範例!
主要解答者: zjcxc 提交人: zjcxc
感謝: zjcxc
稽核者: pbsql 社群對應貼子: 檢視
A :
首先,做好使用者安全:
--簡單的,只允許sql的使用者訪問sql(防止利用administrator組使用者訪問)
1.企業管理器--右鍵SQL例項--屬性--安全性--身份驗證--選擇"sql server和windows"--確定
2.企業管理器--安全性--登陸--右鍵sa--設定密碼--其他使用者也設定密碼
3.刪除使用者:
BUILTIN\Administrators
<機器名>\Administrator --這個使用者不一定有
這樣可以防止用windows身份登陸SQL
4.設定進入企業管理器需要輸入密碼
在企業管理器中
--右鍵你的伺服器例項(就是那個有綠色圖示的)
--編輯SQL Server註冊屬性
--選擇"使用 SQL Server 身份驗證"
--並勾選"總是提示輸入登入名和密碼"
--確定
--經過上面的設定,你的SQL Server基本上算是安全了.
------------------------------------------------------------------------
其次,改預設埠,隱藏伺服器,減少被攻擊的可能性
SQL Server伺服器
--開始
--程式
--Microsoft SQL Server
--伺服器網路實用工具
--啟用的協議中"TCP/IP"
--屬性
--預設埠,輸入一個自已定義的埠,比如2433
--勾選隱藏伺服器
----------------------------------------------------------------------------
--管好sql的使用者,防止訪問他不該訪問的資料庫(總控制,明細還可以控制他對於某個資料庫的具體物件具有的許可權)
--切換到你新增的使用者要控制的資料庫
use 你的庫名
go
--新增使用者
exec sp_addlogin 'test' --新增登入
exec sp_grantdbaccess N'test' --使其成為當前資料庫的合法使用者
exec sp_addrolemember N'db_owner', N'test' --授予對自己資料庫的所有許可權
--這樣建立的使用者就只能訪問自己的資料庫,及資料庫中包含了guest使用者的公共表
go
--刪除測試使用者
exec sp_revokedbaccess N'test' --移除對資料庫的訪問許可權
exec sp_droplogin N'test' --刪除登入
---------------------------------------------------------------------------
最後一步,為具體的使用者設定具體的訪問許可權,這個可以參考下面的最簡示例:
--新增
--新增使用者:
exec sp_addlogin '使用者名稱','密碼','預設資料庫名'
--新增到資料庫
exec sp_grantdbaccess '使用者名稱','資料庫名'
--分本許可權
grant insert,select,update,delete on table1 to public