第10章 安全管理_第1頁(yè)
第10章 安全管理_第2頁(yè)
第10章 安全管理_第3頁(yè)
第10章 安全管理_第4頁(yè)
第10章 安全管理_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)原理與應(yīng)用教程(第2版)人民郵電出版社第第1010章章 安全管理安全管理 v10.1 10.1 安全控制安全控制 v10.2 SQL Server10.2 SQL Server的安全控制的安全控制v10.3 10.3 管理登錄賬戶(hù)管理登錄賬戶(hù)v10.4 10.4 管理數(shù)據(jù)庫(kù)用戶(hù)管理數(shù)據(jù)庫(kù)用戶(hù)v10.5 10.5 管理權(quán)限管理權(quán)限v10.6 10.6 角色角色10.1 10.1 安全控制安全控制v安全控制:在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的不安全控制:在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的不同層次提供對(duì)有意損害行為的安全同層次提供對(duì)有意損害行為的安全防范。防范。v1. 1. 安全控制模型安全控制模型 v2. 2. 數(shù)據(jù)庫(kù)用戶(hù)

2、分類(lèi)數(shù)據(jù)庫(kù)用戶(hù)分類(lèi)1. 1. 安全控制模型安全控制模型文件操作控制文件操作控制操作權(quán)控制操作權(quán)控制身份驗(yàn)證身份驗(yàn)證用戶(hù)用戶(hù)數(shù)據(jù)庫(kù)應(yīng)數(shù)據(jù)庫(kù)應(yīng)用程序用程序數(shù)據(jù)庫(kù)管數(shù)據(jù)庫(kù)管理系統(tǒng)理系統(tǒng)操作操作系統(tǒng)系統(tǒng)加密存儲(chǔ)加密存儲(chǔ)與冗余與冗余數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)2. 2. 數(shù)據(jù)庫(kù)用戶(hù)的分類(lèi)數(shù)據(jù)庫(kù)用戶(hù)的分類(lèi) v系統(tǒng)管理員系統(tǒng)管理員 在數(shù)據(jù)庫(kù)服務(wù)器上具有全部的權(quán)限在數(shù)據(jù)庫(kù)服務(wù)器上具有全部的權(quán)限v對(duì)象擁有者對(duì)象擁有者 創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象的用戶(hù),對(duì)其所擁有的對(duì)創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象的用戶(hù),對(duì)其所擁有的對(duì)象具有全部的權(quán)限。象具有全部的權(quán)限。v普通用戶(hù)普通用戶(hù) 只具有對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的查詢(xún)、插入、刪除只具有對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的查詢(xún)、插入、刪除和修改的權(quán)限

3、。和修改的權(quán)限。10.2 SQL Server10.2 SQL Server的安全控制的安全控制 v第一個(gè)是驗(yàn)證用戶(hù)連接到第一個(gè)是驗(yàn)證用戶(hù)連接到SQL ServerSQL Server數(shù)據(jù)庫(kù)服務(wù)數(shù)據(jù)庫(kù)服務(wù)器的資格。器的資格。v第二個(gè)是驗(yàn)證用戶(hù)是否是數(shù)據(jù)庫(kù)的合法用戶(hù)。第二個(gè)是驗(yàn)證用戶(hù)是否是數(shù)據(jù)庫(kù)的合法用戶(hù)。v第三個(gè)是驗(yàn)證用戶(hù)是否具有操作許可。第三個(gè)是驗(yàn)證用戶(hù)是否具有操作許可。 數(shù)據(jù)庫(kù)服務(wù)器SQL ServerSQL Server登錄賬戶(hù)來(lái)源和認(rèn)證模式登錄賬戶(hù)來(lái)源和認(rèn)證模式1 1登錄賬戶(hù)來(lái)源登錄賬戶(hù)來(lái)源 v Windows Windows授權(quán)用戶(hù)授權(quán)用戶(hù) v SQL SQL授權(quán)用戶(hù)授權(quán)用戶(hù) 2 2

4、安全認(rèn)證模式安全認(rèn)證模式v WindowsWindows身份驗(yàn)證模式身份驗(yàn)證模式 v 混合身份驗(yàn)證模式混合身份驗(yàn)證模式 WindowsWindows身份驗(yàn)證模式身份驗(yàn)證模式v允許允許WindowsWindows操作系統(tǒng)用戶(hù)連接到操作系統(tǒng)用戶(hù)連接到SQL SQL ServerServer。v當(dāng)使用當(dāng)使用WindowsWindows身份驗(yàn)證模式時(shí),用戶(hù)必身份驗(yàn)證模式時(shí),用戶(hù)必須先登錄到須先登錄到WindowsWindows操作系統(tǒng)中,然后再操作系統(tǒng)中,然后再登錄到登錄到SQL ServerSQL Server。v一般推薦使用一般推薦使用WindowsWindows驗(yàn)證模式,這種安驗(yàn)證模式,這種安全

5、模式能夠與全模式能夠與WindowsWindows操作系統(tǒng)的安全系操作系統(tǒng)的安全系統(tǒng)集成,以提供更多的安全功能。統(tǒng)集成,以提供更多的安全功能。 混合模式混合模式v允許允許WindowsWindows授權(quán)用戶(hù)和授權(quán)用戶(hù)和SQLSQL授權(quán)用戶(hù)登授權(quán)用戶(hù)登錄到錄到SQL ServerSQL Server數(shù)據(jù)庫(kù)服務(wù)器。數(shù)據(jù)庫(kù)服務(wù)器。v如果希望非如果希望非WindowsWindows操作系統(tǒng)的用戶(hù)也能操作系統(tǒng)的用戶(hù)也能登錄到登錄到SQL ServerSQL Server數(shù)據(jù)庫(kù)服務(wù)器上,則數(shù)據(jù)庫(kù)服務(wù)器上,則應(yīng)選擇混合身份驗(yàn)證模式。應(yīng)選擇混合身份驗(yàn)證模式。v在混合身份驗(yàn)證模式下選擇使用在混合身份驗(yàn)證模式下選

6、擇使用SQLSQL授權(quán)授權(quán)用戶(hù)登錄,必須提供登錄名和密碼兩部用戶(hù)登錄,必須提供登錄名和密碼兩部分內(nèi)容。分內(nèi)容。設(shè)置身份驗(yàn)證模式設(shè)置身份驗(yàn)證模式v可根據(jù)實(shí)際應(yīng)用情況設(shè)置身份驗(yàn)證模式??筛鶕?jù)實(shí)際應(yīng)用情況設(shè)置身份驗(yàn)證模式。v步驟:步驟: 在在SSMSSSMS的的“對(duì)象資源管理器對(duì)象資源管理器”中,在要設(shè)置中,在要設(shè)置身份驗(yàn)證模式的實(shí)例上右擊鼠標(biāo),從彈出的身份驗(yàn)證模式的實(shí)例上右擊鼠標(biāo),從彈出的菜單中選擇菜單中選擇“屬性屬性”命令。命令。 在在“服務(wù)器屬性服務(wù)器屬性”窗口左邊的窗口左邊的“選擇頁(yè)選擇頁(yè)”上,上,單擊單擊“安全性安全性”選項(xiàng)。選項(xiàng)。設(shè)置身份驗(yàn)證模式窗口設(shè)置身份驗(yàn)證模式窗口10.3 10.3

7、 管理登錄賬戶(hù)管理登錄賬戶(hù) v10.3.1 3.1 建立登錄賬戶(hù)建立登錄賬戶(hù)v10.3.2 3.2 刪除登錄賬戶(hù)刪除登錄賬戶(hù) 10.3.2 10.3.2 建立登錄賬戶(hù)建立登錄賬戶(hù)v 在在SSMSSSMS的的“對(duì)象資源管理器對(duì)象資源管理器”中,依中,依次展開(kāi)次展開(kāi)“安全性安全性”“登錄名登錄名”節(jié)點(diǎn)。節(jié)點(diǎn)。v 在在“登錄名登錄名”節(jié)點(diǎn)上右擊鼠標(biāo),在彈出節(jié)點(diǎn)上右擊鼠標(biāo),在彈出的菜單中選擇的菜單中選擇“新建登錄名新建登錄名”命令。命令。v 進(jìn)入新建登錄窗口。進(jìn)入新建登錄窗口。新建登錄窗口新建登錄窗口建立登錄賬戶(hù)的建立登錄賬戶(hù)的T-SQLT-SQL語(yǔ)句語(yǔ)句CREATE LOGIN CREATE LOG

8、IN login_name WITH login_name WITH | FROM | FROM := := WINDOWS WITH ,. WINDOWS WITH ,. := := PASSWORD = password MUST_CHANGE PASSWORD = password MUST_CHANGE , ,. , ,. := := | DEFAULT_DATABASE = database | DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | DEFAULT_LANGUAGE = language := := D

9、EFAULT_DATABASE = database DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | DEFAULT_LANGUAGE = language示例示例v例例1 1創(chuàng)建創(chuàng)建SQL ServerSQL Server身份驗(yàn)證的登錄賬戶(hù)。登錄名身份驗(yàn)證的登錄賬戶(hù)。登錄名為:為:SQL_User2SQL_User2,密碼為:,密碼為:a1b2c3XYa1b2c3XY。CREATE LOGIN SQL_User2 WITH PASSWORD=a1b2c3XYCREATE LOGIN SQL_User2 WITH PASS

10、WORD=a1b2c3XYv例例2 2創(chuàng)建創(chuàng)建WindowsWindows身份驗(yàn)證的登錄賬戶(hù)。從身份驗(yàn)證的登錄賬戶(hù)。從WindowsWindows域賬戶(hù)創(chuàng)建域賬戶(hù)創(chuàng)建 HYJWin_User2 HYJWin_User2 登錄賬戶(hù)。登錄賬戶(hù)。CREATE LOGIN HYJWin_User2 FROM WINDOWSCREATE LOGIN HYJWin_User2 FROM WINDOWSv例例3 3創(chuàng)建創(chuàng)建SQL ServerSQL Server身份驗(yàn)證的登錄賬戶(hù)。登錄名身份驗(yàn)證的登錄賬戶(hù)。登錄名為:為:SQL_User3SQL_User3,密碼為:,密碼為:AD4h9fcdhx32MOPA

11、D4h9fcdhx32MOP。要求。要求該登錄賬戶(hù)首次連接服務(wù)器時(shí)必須更改密碼。該登錄賬戶(hù)首次連接服務(wù)器時(shí)必須更改密碼。 CREATE LOGIN SQL_User3 WITH PASSWORD = CREATE LOGIN SQL_User3 WITH PASSWORD = AD4h9fcdhx32MOP MUST_CHANGEAD4h9fcdhx32MOP MUST_CHANGE10.3.4 10.3.4 刪除登錄賬戶(hù)刪除登錄賬戶(hù) v在在SSMSSSMS的的“對(duì)象資源管理器對(duì)象資源管理器”中,依中,依次展開(kāi)次展開(kāi)“安全性安全性”“登錄名登錄名”節(jié)點(diǎn)。節(jié)點(diǎn)。v在要?jiǎng)h除的登錄賬戶(hù)(在要?jiǎng)h除的登

12、錄賬戶(hù)(NewUserNewUser)上右)上右擊鼠標(biāo),從彈出的菜單中選擇擊鼠標(biāo),從彈出的菜單中選擇“刪除刪除”命令,在彈出命令,在彈出“刪除對(duì)象刪除對(duì)象”窗口。窗口。v在此窗口中單擊在此窗口中單擊“確定確定”按鈕。按鈕。登錄賬戶(hù)的登錄賬戶(hù)的T-SQLT-SQL語(yǔ)句語(yǔ)句DROP LOGIN login_nameDROP LOGIN login_namev例例4 4刪除刪除SQL_User2SQL_User2登錄賬戶(hù)。登錄賬戶(hù)。 DROP LOGIN SQL_User2DROP LOGIN SQL_User2v注意:不能刪除正在使用的登錄賬戶(hù),注意:不能刪除正在使用的登錄賬戶(hù),也不能刪除擁有任何

13、數(shù)據(jù)庫(kù)和服務(wù)器級(jí)也不能刪除擁有任何數(shù)據(jù)庫(kù)和服務(wù)器級(jí)別對(duì)象的登錄賬戶(hù)。別對(duì)象的登錄賬戶(hù)。10.4 10.4 管理數(shù)據(jù)庫(kù)用戶(hù)管理數(shù)據(jù)庫(kù)用戶(hù) v10.4.1 4.1 建立數(shù)據(jù)庫(kù)用戶(hù)建立數(shù)據(jù)庫(kù)用戶(hù) v10.4.2 4.2 刪除數(shù)據(jù)庫(kù)用戶(hù)刪除數(shù)據(jù)庫(kù)用戶(hù) 10.4.1 10.4.1 建立數(shù)據(jù)庫(kù)用戶(hù)建立數(shù)據(jù)庫(kù)用戶(hù)v在在SSMSSSMS工具的工具的“對(duì)象資源管理器對(duì)象資源管理器”中,中,展開(kāi)要建立數(shù)據(jù)庫(kù)用戶(hù)的數(shù)據(jù)庫(kù)。展開(kāi)要建立數(shù)據(jù)庫(kù)用戶(hù)的數(shù)據(jù)庫(kù)。v展開(kāi)展開(kāi)“安全性安全性”節(jié)點(diǎn),在其下的節(jié)點(diǎn),在其下的“用戶(hù)用戶(hù)”節(jié)點(diǎn)上右擊鼠標(biāo),在彈出的菜單上選擇節(jié)點(diǎn)上右擊鼠標(biāo),在彈出的菜單上選擇“新建用戶(hù)新建用戶(hù)”命令。命令。

14、v進(jìn)入進(jìn)入“數(shù)據(jù)庫(kù)用戶(hù)數(shù)據(jù)庫(kù)用戶(hù) 新建新建”窗口。窗口。新建數(shù)據(jù)庫(kù)用戶(hù)窗口新建數(shù)據(jù)庫(kù)用戶(hù)窗口建立數(shù)據(jù)庫(kù)用戶(hù)的建立數(shù)據(jù)庫(kù)用戶(hù)的T-SQLT-SQL語(yǔ)句語(yǔ)句CREATE USER user_name FOR | FROM CREATE USER user_name FOR | FROM LOGIN login_name LOGIN login_name v注意:如果省略注意:如果省略FOR LOGINFOR LOGIN,則新的數(shù)據(jù),則新的數(shù)據(jù)庫(kù)用戶(hù)將被映射到同名的庫(kù)用戶(hù)將被映射到同名的SQL ServerSQL Server登錄登錄名。名。示例示例v例例1.1.讓讓SQL_User2SQL_Use

15、r2登錄賬戶(hù)成為登錄賬戶(hù)成為studentsstudents數(shù)數(shù)據(jù)庫(kù)中的用戶(hù),并且用戶(hù)名同登錄名。據(jù)庫(kù)中的用戶(hù),并且用戶(hù)名同登錄名。CREATE USER SQL_User2CREATE USER SQL_User2v例例2.2.本示例首先創(chuàng)建名為本示例首先創(chuàng)建名為SQL_JWCSQL_JWC且具有密且具有密碼的碼的SQL ServerSQL Server身份驗(yàn)證的服務(wù)器登錄名,身份驗(yàn)證的服務(wù)器登錄名,然后創(chuàng)建與此登錄賬戶(hù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)用戶(hù)然后創(chuàng)建與此登錄賬戶(hù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)用戶(hù)JWCJWC。CREATE LOGIN SQL_JWC CREATE LOGIN SQL_JWC WITH PASSWOR

16、D = jKJl3$nN09jsK84; WITH PASSWORD = jKJl3$nN09jsK84;CREATE USER JWC FOR LOGIN SQL_JWC;CREATE USER JWC FOR LOGIN SQL_JWC;特別說(shuō)明特別說(shuō)明v服務(wù)器登錄賬戶(hù)與數(shù)據(jù)庫(kù)用戶(hù)是兩個(gè)完全服務(wù)器登錄賬戶(hù)與數(shù)據(jù)庫(kù)用戶(hù)是兩個(gè)完全不同的概念。不同的概念。v具有登錄賬戶(hù)的用戶(hù)可以登錄到具有登錄賬戶(hù)的用戶(hù)可以登錄到SQL SQL ServerServer實(shí)例上,而且只局限在實(shí)例上進(jìn)行實(shí)例上,而且只局限在實(shí)例上進(jìn)行操作。操作。v數(shù)據(jù)庫(kù)用戶(hù)是登錄賬戶(hù)以什么樣的身份在數(shù)據(jù)庫(kù)用戶(hù)是登錄賬戶(hù)以什么樣的身份在

17、數(shù)據(jù)庫(kù)中進(jìn)行操作,是登錄賬戶(hù)在具體數(shù)數(shù)據(jù)庫(kù)中進(jìn)行操作,是登錄賬戶(hù)在具體數(shù)據(jù)庫(kù)中的映射,這個(gè)映射名(數(shù)據(jù)庫(kù)用戶(hù)據(jù)庫(kù)中的映射,這個(gè)映射名(數(shù)據(jù)庫(kù)用戶(hù)名)可以和登錄名一樣,也可以不一樣。名)可以和登錄名一樣,也可以不一樣。10.4.2 10.4.2 刪除數(shù)據(jù)庫(kù)用戶(hù)刪除數(shù)據(jù)庫(kù)用戶(hù) v展開(kāi)要?jiǎng)h除用戶(hù)的數(shù)據(jù)庫(kù)。展開(kāi)要?jiǎng)h除用戶(hù)的數(shù)據(jù)庫(kù)。v再展開(kāi)該數(shù)據(jù)庫(kù)下的再展開(kāi)該數(shù)據(jù)庫(kù)下的“安全性安全性” “用戶(hù)用戶(hù)”節(jié)點(diǎn)節(jié)點(diǎn)。v在要?jiǎng)h除的用戶(hù)名上右擊鼠標(biāo),在彈在要?jiǎng)h除的用戶(hù)名上右擊鼠標(biāo),在彈出的菜單上選擇出的菜單上選擇“刪除刪除”命令。命令。刪除數(shù)據(jù)庫(kù)用戶(hù)的刪除數(shù)據(jù)庫(kù)用戶(hù)的T-SQLT-SQL語(yǔ)句語(yǔ)句DROP USER

18、user_nameDROP USER user_namev例例3 3刪除刪除SQL_User2SQL_User2用戶(hù)。用戶(hù)。DROP USER SQL_User2DROP USER SQL_User2v注意:不能刪除擁有對(duì)象的用戶(hù)。注意:不能刪除擁有對(duì)象的用戶(hù)。10.5 10.5 管理權(quán)限管理權(quán)限 v10.5.1 5.1 權(quán)限的種類(lèi)權(quán)限的種類(lèi)v10.5.2 5.2 權(quán)限的管理權(quán)限的管理10.5.1 SQL Server10.5.1 SQL Server權(quán)限種類(lèi)權(quán)限種類(lèi)v對(duì)象創(chuàng)建權(quán)對(duì)象創(chuàng)建權(quán) 用戶(hù)創(chuàng)建數(shù)據(jù)庫(kù)中表、視圖等對(duì)象的權(quán)限。用戶(hù)創(chuàng)建數(shù)據(jù)庫(kù)中表、視圖等對(duì)象的權(quán)限。v數(shù)據(jù)操作權(quán)數(shù)據(jù)操作權(quán) 對(duì)數(shù)

19、據(jù)庫(kù)中數(shù)據(jù)的操作權(quán)限,一般是指對(duì)表、視對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作權(quán)限,一般是指對(duì)表、視圖中的數(shù)據(jù)進(jìn)行查詢(xún)、增加、刪除和修改的權(quán)限。圖中的數(shù)據(jù)進(jìn)行查詢(xún)、增加、刪除和修改的權(quán)限。 v隱含權(quán)限隱含權(quán)限 指由指由SQL ServerSQL Server預(yù)定義的預(yù)定義的服務(wù)器角色服務(wù)器角色、數(shù)據(jù)庫(kù)角數(shù)據(jù)庫(kù)角色色、數(shù)據(jù)庫(kù)擁有者數(shù)據(jù)庫(kù)擁有者和和數(shù)據(jù)庫(kù)對(duì)象擁有者數(shù)據(jù)庫(kù)對(duì)象擁有者所具有的權(quán)所具有的權(quán)限,隱含權(quán)限相當(dāng)于內(nèi)置權(quán)限,不需要再明確地授限,隱含權(quán)限相當(dāng)于內(nèi)置權(quán)限,不需要再明確地授予這些權(quán)限。予這些權(quán)限。 常用對(duì)象權(quán)限常用對(duì)象權(quán)限vDELETEDELETE、INSERTINSERT、UPDATEUPDATE和和S

20、ELECTSELECT:具:具有對(duì)表和視圖數(shù)據(jù)進(jìn)行刪除、插入、更有對(duì)表和視圖數(shù)據(jù)進(jìn)行刪除、插入、更改和查詢(xún)的權(quán)限,其中改和查詢(xún)的權(quán)限,其中UPDATEUPDATE和和SELECTSELECT可以對(duì)表或視圖的單個(gè)列進(jìn)行授權(quán)??梢詫?duì)表或視圖的單個(gè)列進(jìn)行授權(quán)。vEXECUTEEXECUTE:具有執(zhí)行存儲(chǔ)過(guò)程的權(quán)限。:具有執(zhí)行存儲(chǔ)過(guò)程的權(quán)限。常用語(yǔ)句權(quán)限常用語(yǔ)句權(quán)限vCRAETE TABLECRAETE TABLE:創(chuàng)建表的權(quán)限。:創(chuàng)建表的權(quán)限。vCREATE VIEWCREATE VIEW:創(chuàng)建視圖的權(quán)限。:創(chuàng)建視圖的權(quán)限。vCREATE PROCEDURECREATE PROCEDURE:創(chuàng)建存儲(chǔ)

21、過(guò)程的權(quán)限。:創(chuàng)建存儲(chǔ)過(guò)程的權(quán)限。vCREATE DATABASECREATE DATABASE:創(chuàng)建數(shù)據(jù)庫(kù)的權(quán)限。:創(chuàng)建數(shù)據(jù)庫(kù)的權(quán)限。vBACKUP DATABASEBACKUP DATABASE和和BACKUP LOGBACKUP LOG:備份數(shù)據(jù):備份數(shù)據(jù)庫(kù)和備份日志的權(quán)限。庫(kù)和備份日志的權(quán)限。10.5.2 10.5.2 權(quán)限的管理權(quán)限的管理v授予權(quán)限授予權(quán)限:授予用戶(hù)或角色具有某種操:授予用戶(hù)或角色具有某種操作權(quán)。作權(quán)。v收回權(quán)限收回權(quán)限:收回(或撤消)曾經(jīng)授予給:收回(或撤消)曾經(jīng)授予給用戶(hù)或角色的權(quán)限。用戶(hù)或角色的權(quán)限。v拒絕權(quán)限拒絕權(quán)限:拒絕某用戶(hù)或角色具有某種:拒絕某用戶(hù)或角色

22、具有某種操作權(quán)限。一旦拒絕了用戶(hù)的某個(gè)權(quán)限,操作權(quán)限。一旦拒絕了用戶(hù)的某個(gè)權(quán)限,則用戶(hù)從任何地方都不能獲得該權(quán)限。則用戶(hù)從任何地方都不能獲得該權(quán)限。用用SSMSSSMS管理數(shù)據(jù)操作權(quán)限管理數(shù)據(jù)操作權(quán)限 v在在SSMSSSMS工具的工具的“對(duì)象資源管理器對(duì)象資源管理器”中,中,依次展開(kāi)某數(shù)據(jù)庫(kù)下的依次展開(kāi)某數(shù)據(jù)庫(kù)下的“安全安全性性”“用戶(hù)用戶(hù)”,v在某用戶(hù)在某用戶(hù)上右擊鼠標(biāo),在彈出菜單中選上右擊鼠標(biāo),在彈出菜單中選擇擇“屬性屬性”命令,彈出命令,彈出“數(shù)據(jù)庫(kù)用戶(hù)數(shù)據(jù)庫(kù)用戶(hù)”窗口。窗口。v在此窗口中,單擊左邊在此窗口中,單擊左邊“選擇頁(yè)選擇頁(yè)”中的中的“安全對(duì)象安全對(duì)象”選項(xiàng)選項(xiàng)。對(duì)用戶(hù)授權(quán)的窗口

23、對(duì)用戶(hù)授權(quán)的窗口1 1對(duì)用戶(hù)授權(quán)的窗口對(duì)用戶(hù)授權(quán)的窗口2 2使用使用T-SQLT-SQL語(yǔ)句管理數(shù)據(jù)操作權(quán)限語(yǔ)句管理數(shù)據(jù)操作權(quán)限 vGRANTGRANT:授予權(quán)限;:授予權(quán)限;vREVOKEREVOKE:收回權(quán)限;:收回權(quán)限;vDENYDENY:拒絕權(quán)限。:拒絕權(quán)限。 1.1.管理對(duì)象權(quán)限管理對(duì)象權(quán)限v授權(quán)語(yǔ)句授權(quán)語(yǔ)句GRANTGRANT 對(duì)象權(quán)限名對(duì)象權(quán)限名 , ON ON 表名表名| |視圖名視圖名| |存儲(chǔ)過(guò)程名存儲(chǔ)過(guò)程名 TO TO 數(shù)據(jù)庫(kù)用戶(hù)名數(shù)據(jù)庫(kù)用戶(hù)名 | | 用戶(hù)角色名用戶(hù)角色名 , v收權(quán)語(yǔ)句收權(quán)語(yǔ)句REVOKE REVOKE 對(duì)象權(quán)限名對(duì)象權(quán)限名 , ON ON 表名表名|

24、 |視圖名視圖名| |存儲(chǔ)過(guò)程名存儲(chǔ)過(guò)程名 FROM FROM 數(shù)據(jù)庫(kù)用戶(hù)名數(shù)據(jù)庫(kù)用戶(hù)名 | | 用戶(hù)角色名用戶(hù)角色名 , v拒絕語(yǔ)句拒絕語(yǔ)句DENYDENY對(duì)象權(quán)限名對(duì)象權(quán)限名 , ON ON 表名表名| |視圖名視圖名| |存儲(chǔ)過(guò)程名存儲(chǔ)過(guò)程名 TO TO 數(shù)據(jù)庫(kù)用戶(hù)名數(shù)據(jù)庫(kù)用戶(hù)名 | | 用戶(hù)角色名用戶(hù)角色名 , 對(duì)象權(quán)限內(nèi)容對(duì)象權(quán)限內(nèi)容v對(duì)表和視圖主要對(duì)表和視圖主要 INSERTINSERT、DELETEDELETE、UPDATEUPDATE、SELECTSELECTv對(duì)存儲(chǔ)過(guò)程對(duì)存儲(chǔ)過(guò)程 EXECUTEEXECUTE示例示例v例例1 1為用戶(hù)為用戶(hù)user1user1授予授予Stud

25、entStudent表的查詢(xún)權(quán)。表的查詢(xún)權(quán)。 GRANT SELECT ON Student TO user1GRANT SELECT ON Student TO user1v例例2 2為用戶(hù)為用戶(hù)user1user1授予授予SCSC表的查詢(xún)和插入權(quán)。表的查詢(xún)和插入權(quán)。 GRANT SELECTGRANT SELECT,INSERT ON SC TO user1INSERT ON SC TO user1v例例3 3收回用戶(hù)收回用戶(hù)user1user1對(duì)對(duì)StudentStudent表的查詢(xún)權(quán)。表的查詢(xún)權(quán)。 REVOKE SELECT ON Student FROM user1REVOKE SE

26、LECT ON Student FROM user1v例例4 4拒絕拒絕user1user1用戶(hù)具有用戶(hù)具有SCSC表的更改權(quán)。表的更改權(quán)。 DENY UPDATE ON SC TO user1DENY UPDATE ON SC TO user1 2.2.管理語(yǔ)句權(quán)限管理語(yǔ)句權(quán)限 v授權(quán)語(yǔ)句授權(quán)語(yǔ)句 GRANTGRANT 語(yǔ)句權(quán)限名語(yǔ)句權(quán)限名 , TO TO 數(shù)據(jù)庫(kù)用戶(hù)名數(shù)據(jù)庫(kù)用戶(hù)名 | | 用戶(hù)角色名用戶(hù)角色名 , v收權(quán)語(yǔ)句收權(quán)語(yǔ)句 REVOKE REVOKE 語(yǔ)句權(quán)限名語(yǔ)句權(quán)限名 , FROM FROM 數(shù)據(jù)庫(kù)用戶(hù)名數(shù)據(jù)庫(kù)用戶(hù)名 | | 用戶(hù)角色名用戶(hù)角色名 , v拒絕語(yǔ)句拒絕語(yǔ)句 DE

27、NY DENY 語(yǔ)句權(quán)限名語(yǔ)句權(quán)限名 , TO TO 數(shù)據(jù)庫(kù)用戶(hù)名數(shù)據(jù)庫(kù)用戶(hù)名 | | 用戶(hù)角色名用戶(hù)角色名 , 示例示例v例例5 5授予授予user1user1具有創(chuàng)建數(shù)據(jù)庫(kù)表的權(quán)限。具有創(chuàng)建數(shù)據(jù)庫(kù)表的權(quán)限。 GRANT CREATE TABLE TO user1GRANT CREATE TABLE TO user1v例例6 6授予授予user1user1和和user2user2具有創(chuàng)建數(shù)據(jù)庫(kù)表和視圖具有創(chuàng)建數(shù)據(jù)庫(kù)表和視圖的權(quán)限。的權(quán)限。GRANT CREATE TABLE, CREATE VIEW TO user1,user2GRANT CREATE TABLE, CREATE VIEW

28、TO user1,user2v例例7 7收回授予收回授予user1user1創(chuàng)建數(shù)據(jù)庫(kù)表的權(quán)限。創(chuàng)建數(shù)據(jù)庫(kù)表的權(quán)限。 REVOKE CREATE TABLE FROM user1 REVOKE CREATE TABLE FROM user1v例例8 8拒絕拒絕user1user1創(chuàng)建視圖的權(quán)限。創(chuàng)建視圖的權(quán)限。 DENY CREATE VIEW TO user1DENY CREATE VIEW TO user110.6 10.6 角色角色 v為便于對(duì)用戶(hù)及權(quán)限的管理,可以將為便于對(duì)用戶(hù)及權(quán)限的管理,可以將一組具有相同權(quán)限的用戶(hù)組織在一起,一組具有相同權(quán)限的用戶(hù)組織在一起,這一組具有相同權(quán)限的用

29、戶(hù)就稱(chēng)為這一組具有相同權(quán)限的用戶(hù)就稱(chēng)為角角色色(RoleRole)。)。vSQL Server 2008SQL Server 2008中,角色分為中,角色分為: 固定的服務(wù)器角色固定的服務(wù)器角色 固定的數(shù)據(jù)庫(kù)角色固定的數(shù)據(jù)庫(kù)角色 用戶(hù)自定義的角色用戶(hù)自定義的角色 固定的服務(wù)器角色固定的服務(wù)器角色固定的服務(wù)器角色描述描述bulkadminbulkadmin具有執(zhí)行具有執(zhí)行 BULK INSERT BULK INSERT 語(yǔ)句的權(quán)限語(yǔ)句的權(quán)限dbcreatordbcreator具有創(chuàng)建數(shù)據(jù)庫(kù)的權(quán)限具有創(chuàng)建數(shù)據(jù)庫(kù)的權(quán)限diskadmindiskadmin具有管理磁盤(pán)資源的權(quán)限。具有管理磁盤(pán)資源的權(quán)限

30、。processadminprocessadmin具有管理全部的連接以及服務(wù)器狀態(tài)的權(quán)限具有管理全部的連接以及服務(wù)器狀態(tài)的權(quán)限securityadminsecurityadmin具有管理服務(wù)器登錄賬戶(hù)的權(quán)限具有管理服務(wù)器登錄賬戶(hù)的權(quán)限serveradminserveradmin具有全部配置服務(wù)器范圍的設(shè)置具有全部配置服務(wù)器范圍的設(shè)置setupadminsetupadmin具有更改任何鏈接服務(wù)器的權(quán)限具有更改任何鏈接服務(wù)器的權(quán)限sysadminsysadmin系統(tǒng)管理員角色。具有服務(wù)器及數(shù)據(jù)庫(kù)上的全部系統(tǒng)管理員角色。具有服務(wù)器及數(shù)據(jù)庫(kù)上的全部操作權(quán)限操作權(quán)限說(shuō)明說(shuō)明vSQL Server 200

31、8SQL Server 2008新添加了一個(gè)服務(wù)器角新添加了一個(gè)服務(wù)器角色色publicpublic。v在服務(wù)器上創(chuàng)建的每個(gè)登錄賬戶(hù)都自動(dòng)在服務(wù)器上創(chuàng)建的每個(gè)登錄賬戶(hù)都自動(dòng)是是publicpublic服務(wù)器角色的成員,而且都將服務(wù)器角色的成員,而且都將具有服務(wù)器權(quán)限。具有服務(wù)器權(quán)限。v不要為服務(wù)器角色不要為服務(wù)器角色publicpublic進(jìn)行授權(quán)。進(jìn)行授權(quán)。為固定的服務(wù)器角色添加成員為固定的服務(wù)器角色添加成員 v在在SSMSSSMS的對(duì)象資的對(duì)象資源管理器中,依源管理器中,依次展開(kāi)次展開(kāi)“安全安全性性”“登錄名登錄名”節(jié)點(diǎn),在某節(jié)點(diǎn),在某登錄登錄名上右擊鼠標(biāo),名上右擊鼠標(biāo),在彈出的菜單中在彈

32、出的菜單中選擇選擇“屬性屬性”命命令,令,進(jìn)入進(jìn)入“登錄登錄屬性屬性”窗口。窗口。用用T-SQLT-SQL語(yǔ)句實(shí)現(xiàn)語(yǔ)句實(shí)現(xiàn)v在固定的服務(wù)器角色中添加成員用系統(tǒng)存儲(chǔ)過(guò)在固定的服務(wù)器角色中添加成員用系統(tǒng)存儲(chǔ)過(guò)程程sp_addsrvrolemembersp_addsrvrolemember: sp_addsrvrolemember loginame= login sp_addsrvrolemember loginame= login , rolename = role , rolename = rolev loginame = login loginame = login:要添加到固定服:要添加到固

33、定服務(wù)器角色中的登錄名。務(wù)器角色中的登錄名。v rolename = role rolename = role:要添加到的固定服:要添加到的固定服務(wù)器角色的名稱(chēng),默認(rèn)值為務(wù)器角色的名稱(chēng),默認(rèn)值為NULLNULL。示例示例v例例1 1將將WindowsWindows身份驗(yàn)證的身份驗(yàn)證的HYJWin_User1HYJWin_User1登錄名添加到登錄名添加到sysadminsysadmin角色中。角色中。EXEC sp_addsrvrolemember EXEC sp_addsrvrolemember HYJWin_User1, sysadminHYJWin_User1, sysadminv例例2

34、 2將將SQL ServerSQL Server身份驗(yàn)證的身份驗(yàn)證的SQL_User2SQL_User2登登錄名添加到錄名添加到dbcreatordbcreator角色中。角色中。EXEC sp_addsrvrolemember SQL_User2, EXEC sp_addsrvrolemember SQL_User2, dbcreatordbcreator刪除固定的服務(wù)器角色成員刪除固定的服務(wù)器角色成員v使用使用sp_dropsrvrolemembersp_dropsrvrolemember系統(tǒng)存儲(chǔ)過(guò)程:系統(tǒng)存儲(chǔ)過(guò)程:sp_dropsrvrolemember loginame = login

35、 sp_dropsrvrolemember loginame = login , rolename = role , rolename = rolev例例3 3從從 dbcreatordbcreator角色中刪除角色中刪除SQL_User2SQL_User2。EXEC sp_dropsrvrolemember SQL_User2, dbcreatorEXEC sp_dropsrvrolemember SQL_User2, dbcreator10.6.2 10.6.2 固定的數(shù)據(jù)庫(kù)角色固定的數(shù)據(jù)庫(kù)角色 固定的數(shù)據(jù)庫(kù)角色固定的數(shù)據(jù)庫(kù)角色描述描述db_accessadmin具有添加或刪除數(shù)據(jù)庫(kù)用戶(hù)的

36、權(quán)限具有添加或刪除數(shù)據(jù)庫(kù)用戶(hù)的權(quán)限 db_backupoperator 具有備份數(shù)據(jù)庫(kù)、備份日志的權(quán)限具有備份數(shù)據(jù)庫(kù)、備份日志的權(quán)限db_datareader具有查詢(xún)數(shù)據(jù)庫(kù)中所有用戶(hù)表數(shù)據(jù)的權(quán)限具有查詢(xún)數(shù)據(jù)庫(kù)中所有用戶(hù)表數(shù)據(jù)的權(quán)限db_datawriter具有更改數(shù)據(jù)庫(kù)中所有用戶(hù)表數(shù)據(jù)的權(quán)限具有更改數(shù)據(jù)庫(kù)中所有用戶(hù)表數(shù)據(jù)的權(quán)限db_ddladmin具有建立、修改和刪除數(shù)據(jù)庫(kù)對(duì)象的權(quán)限具有建立、修改和刪除數(shù)據(jù)庫(kù)對(duì)象的權(quán)限db_denydatareader不允許具有查詢(xún)數(shù)據(jù)庫(kù)中所有用戶(hù)表數(shù)據(jù)的權(quán)限不允許具有查詢(xún)數(shù)據(jù)庫(kù)中所有用戶(hù)表數(shù)據(jù)的權(quán)限db_denydatawriter不允許具有更改數(shù)據(jù)庫(kù)中所有

37、用戶(hù)表數(shù)據(jù)的權(quán)限不允許具有更改數(shù)據(jù)庫(kù)中所有用戶(hù)表數(shù)據(jù)的權(quán)限db_owner具有數(shù)據(jù)庫(kù)中的全部操作權(quán)限具有數(shù)據(jù)庫(kù)中的全部操作權(quán)限db_securityadmin具有管理數(shù)據(jù)庫(kù)角色和角色成員以及數(shù)據(jù)庫(kù)中的具有管理數(shù)據(jù)庫(kù)角色和角色成員以及數(shù)據(jù)庫(kù)中的語(yǔ)句權(quán)限和對(duì)象權(quán)限語(yǔ)句權(quán)限和對(duì)象權(quán)限說(shuō)明說(shuō)明v在固定的數(shù)據(jù)庫(kù)角色中也有一個(gè)在固定的數(shù)據(jù)庫(kù)角色中也有一個(gè)publicpublic角色,角色,v每個(gè)數(shù)據(jù)庫(kù)用戶(hù)都自動(dòng)屬于每個(gè)數(shù)據(jù)庫(kù)用戶(hù)都自動(dòng)屬于publicpublic數(shù)據(jù)數(shù)據(jù)庫(kù)角色,庫(kù)角色,v用戶(hù)可以為數(shù)據(jù)庫(kù)用戶(hù)可以為數(shù)據(jù)庫(kù)publicpublic角色授予數(shù)據(jù)角色授予數(shù)據(jù)庫(kù)中的操作權(quán)限。庫(kù)中的操作權(quán)限。為固定的

38、數(shù)據(jù)庫(kù)角色添加成員為固定的數(shù)據(jù)庫(kù)角色添加成員 v在在SSMSSSMS的的“對(duì)象資對(duì)象資源管理器源管理器”中,依中,依次展開(kāi)某數(shù)據(jù)庫(kù)次展開(kāi)某數(shù)據(jù)庫(kù)“安全性安全性”“用用戶(hù)戶(hù)”節(jié)點(diǎn),節(jié)點(diǎn),v在某用在某用上右擊鼠標(biāo),上右擊鼠標(biāo),在彈出的菜單中選在彈出的菜單中選擇擇“屬性屬性”命令,命令,彈出彈出“數(shù)據(jù)庫(kù)用戶(hù)數(shù)據(jù)庫(kù)用戶(hù)”屬性窗口屬性窗口。用用T-SQLT-SQL語(yǔ)句實(shí)現(xiàn)語(yǔ)句實(shí)現(xiàn)v在數(shù)據(jù)庫(kù)角色中添加成員用系統(tǒng)存儲(chǔ)過(guò)程在數(shù)據(jù)庫(kù)角色中添加成員用系統(tǒng)存儲(chǔ)過(guò)程sp_addrolemembersp_addrolemember: sp_addrolemember rolename = role, sp_addrol

39、emember rolename = role, membername = security_account membername = security_accountv rolename = role rolename = role:當(dāng)前數(shù)據(jù)庫(kù)中:當(dāng)前數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)角色名,無(wú)默認(rèn)值。的數(shù)據(jù)庫(kù)角色名,無(wú)默認(rèn)值。v membername = security_account membername = security_account:要添加到角色中的數(shù)據(jù)庫(kù)用戶(hù)名,無(wú)默認(rèn)要添加到角色中的數(shù)據(jù)庫(kù)用戶(hù)名,無(wú)默認(rèn)值。值。示例示例v例例4 4將將WindowsWindows用戶(hù)用戶(hù)HYJWin_User

40、1HYJWin_User1添加到添加到db_datareaderdb_datareader角色中。角色中。EXEC sp_addrolemember db_datareader, EXEC sp_addrolemember db_datareader, HYJWin_User1 HYJWin_User1 v例例5 5將將SQL_User2SQL_User2添加到添加到db_datawriterdb_datawriter角角色中。色中。EXEC sp_addrolemember db_datawriter, EXEC sp_addrolemember db_datawriter, SQL_Use

41、r2SQL_User2刪除數(shù)據(jù)庫(kù)角色的成員刪除數(shù)據(jù)庫(kù)角色的成員 v使用使用sp_droprolemembersp_droprolemember系統(tǒng)存儲(chǔ)過(guò)程:系統(tǒng)存儲(chǔ)過(guò)程:sp_droprolemember rolename = role , sp_droprolemember rolename = role , membername = security_account membername = security_accountv rolename = role rolename = role:將從中刪除成員:將從中刪除成員的數(shù)據(jù)庫(kù)角色名,沒(méi)有默認(rèn)值。的數(shù)據(jù)庫(kù)角色名,沒(méi)有默認(rèn)值。rolerol

42、e必須存必須存在于當(dāng)前數(shù)據(jù)庫(kù)中。在于當(dāng)前數(shù)據(jù)庫(kù)中。v membername = security_account membername = security_account:被刪除的用戶(hù)名,無(wú)默認(rèn)值。被刪除的用戶(hù)名,無(wú)默認(rèn)值。示例示例v例例6 6在在studentsstudents數(shù)據(jù)庫(kù)中,刪除數(shù)據(jù)庫(kù)中,刪除db_datawriterdb_datawriter角色中的角色中的SQL_User2SQL_User2成員。成員。EXEC sp_droprolemember EXEC sp_droprolemember db_datawriter, SQL_User2db_datawriter, SQL_User210.6.3 10.6.3 用戶(hù)自定義的角色用戶(hù)自定義的角色 v用戶(hù)自定義的角色屬于數(shù)據(jù)庫(kù)一級(jí)的角用戶(hù)自定義的角色屬于數(shù)據(jù)庫(kù)一級(jí)的角色。色。v用戶(hù)可以根據(jù)實(shí)際的工作職能情況定義用戶(hù)可以根據(jù)實(shí)際的工作職能情況定義自己的一系列角色,并給每個(gè)角色授予自己的一系列角色,并給每個(gè)角色授予合適的權(quán)限。合適的權(quán)限。 v用戶(hù)自定義角色的成員可以是數(shù)據(jù)庫(kù)的用戶(hù)自定義角色的成員可以是數(shù)據(jù)庫(kù)的用戶(hù),也可以是用戶(hù)定義的角色。用戶(hù),也可以是用戶(hù)定義的角色。 建立用戶(hù)自定義的角色建立用戶(hù)自定義的角色 v 在在“對(duì)象資源管對(duì)象資源管理器理器”中依次展中依次展開(kāi)某數(shù)據(jù)庫(kù)開(kāi)某

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論