SQL SERVER 安全性體系

主體和安全實體
在 SQL Server 2008中,「主體」就是能夠訪問受保護資源且能得到訪問資源所需權限的任何我的、組或流程。與舊版 SQL Server 同樣,能夠在 Windows 中定義主體,也可將沒有對應 Windows 主體的 SQL Server 登陸做爲其基礎。下面的列表顯示了 SQL Server 2008主體的層次結構,但不包括固定服務器和數據庫角色,還顯示了將登陸和數據庫用戶映射爲安全對象的方法。主體的影響範圍取決於它的定義範圍,這樣 Windows 級別的主體就比 SQL Server 級別的主體擁有更大的影響範圍,然後者的影響範圍又大於數據庫級別的主體。每一個數據庫用戶都會自動隸屬於固定的 public 角色。
Windows 級別的主體
•     Windows 域登陸
•     Windows 本地登陸
•     Windows 組
SQL Server 級別的主體
•     SQL Server登陸
•     映射爲 Windows 登陸的 SQL Server 登陸
•     映射爲證書的 SQL Server 登陸
•     映射爲不對稱密鑰的 SQL Server 登陸
數據庫級別的主體
•     數據庫用戶
•     映射爲 SQL Server 登陸的數據庫用戶
•     映射爲 Windows 登陸的數據庫用戶
•     映射爲證書的數據庫用戶
•     映射爲不對稱密鑰的數據庫用戶
•     數據庫角色
•     應用程序角色
•     公共角色

受權的另外一部分就是可用以保護權限授予操做或拒絕授予操做的對象。圖4列出了SQL Server 2008 中安全實體對象的層次結構。在服務器級別,能夠保護網絡端點,以控制進出服務器的通訊通道,以及數據庫、綁定角色和登陸。在數據庫和架構級別,用戶建立的每個對象都被看成安全主體,包括那些駐留在架構中的對象。
 
 
 
固定服務器角色

服務器角色 說明 
bulkadmin 成員能夠運行BULK INSERT語句,這一角色中的成員仍然要求非sysadmins用戶可以訪問被更新到的對象 : administer blck operations
dbcreator 成員能夠建立、修改、刪除和恢復任意數據庫 : create database
diskadmin 這一角色用於管理磁盤文件。大多數此類功能是關於添加和刪除備份設備的。:alter resources
processadmin 成員能夠終止在SQL SERVER實例中運行的進程,若是您但願授予某人停止長時間運行的查詢或者孤立鏈接的能力,那麼這一角色很是有 用 :  alter any connection , alter server state
public 全部有效SQL SERVER登錄是public角色的成員 
securityadmin 成員可管理登錄及其屬性。他們能夠grant, deny 和revoke服務器級別的權限以及數據庫級別的權限。他們也能夠爲SQL SERVER登錄重置密碼。這一角色無權指定數據庫權限。若是但願securityadmin成員可以進行這一操做,就必須使他們的登陸成爲特定數據庫的db_accessadmin固定數據庫角色的成員
serveradmin 成員能夠改變服務器範圍內的配置選項並關閉服務器
setupadmin 成員要吧添加和刪除添加服務器,還執行一些系統存儲過程。
sysadmin 成員可執行服務器中的任意操做。默認狀況下,windows builtin\administrators組、本地管理員組中的全部成員是sysadmin固定服務器角色的成員。sql server服務賬戶也是此角色的成員。
 
數據庫用戶
     能夠經過SSMS或者T-SQL語句CREATE LOGIN來建立登陸。再利用SSMS或者T-SQL語句CREATE USER 來建立數據庫用戶
     在建立數據庫用戶以後,能夠選擇將它包含在一個數據庫角色中。可更改。
數據庫角色  說明
db_addessadmin 能夠爲windows登錄、windows組和SQL SERVER登錄添加或者刪除訪問權限 :alter any user, create schema
db_backupoperator 能夠備份數據庫 : backup databse , backuplog , checkpoint
db_datareader 能夠從全部用戶表中讀取全部數據 : select 
db_datawriter 成員要吧添加、刪除或者改變全部用戶表中的數據 : deleter , insert , update
db_ddladmin 能夠運行數據庫中的任意數據定義語言(ddl)命令 : alter any assembly, alter any asammetric key , alter any 
db_denydatareader 不能讀取數據庫中用戶表中的任何數據 : 拒絕select 
db_denydatawriter 不能在數據庫的用戶表中添加 、修改或者刪除任何數據: 拒絕delete , insert , update
db_owner 能夠對數據庫執行所有配置和維護操做,包括刪除數據庫
db_securityadmin 能夠修改角色成員關係並管理權限
 
     有一種特殊的數據庫角色,sysadmin用戶不能明確向其授予其它用戶權限,它被稱爲public角色。全部數據庫用戶都隱式包含在public角色中。這一角色得到特定數據庫中用戶的全部默認權限。它不能擁有指定給它的用戶、組或者角色。由於默認狀況下每一個 人都屬於這一角色。這一角色不能被刪除。所以,要防止未經受權的數據訪問,應該授予public角色的權限降至最低。應將權限授予其它數據庫角色且授予登錄相關的用戶賬戶。
相關文章
相關標籤/搜索