sqlserver給用戶授權
發布時間: 2024-11-12 17:46:46
在資料庫內部,與迄今為止我們對登錄驗證的處理方式不同,我們可以把許可權分配給角色而不是直接把它們分配給全局組。這種能力使得我們能夠輕松地在安全策略中使用SQL Server驗證的登錄。即使你從來沒有想要使用SQL Server登錄帳戶,本文仍舊建議分配許可權給角色,因為這樣你能夠為未來可能出現的變化做好准備。
創建了資料庫之後,我們可以用sp_grantdbaccess存儲過程授權DB_Name Users組訪問它。但應該注意的是,與sp_grantdbaccess對應的sp_denydbaccess存儲過程並不存在,也就是說,你不能按照拒絕對伺服器訪問的方法拒絕對資料庫的訪問。
如果要拒絕資料庫訪問,我們可以創建另外一個名為DB_Name Denied Users的全局組,授權它訪問資料庫,然後把它設置為db_denydatareader以及db_denydatawriter角色的成員。注意SQL語句許可權的分配,這里的角色只限制對對象的訪問,但不限制對DDL(Data Definition Language,數據定義語言)命令的訪問。
正如對登錄過程的處理,如果訪問標記中的任意SID已經在Sysusers系統表登記,SQL將允許用戶訪問資料庫。因此,我們既可以通過用戶的個人NT帳戶SID授權用戶訪問資料庫,也可以通過用戶所在的一個(或者多個)組的SID授權。
為了簡化管理,我們可以創建一個名為DB_Name Users的擁有資料庫訪問許可權的全局組,同時不把訪問權授予所有其他的組。這樣,我們只需簡單地在一個全局組中添加或者刪除成員就可以增加或者減少資料庫用戶。
熱點內容