數(shù)據(jù)庫安全管理課程(共92頁).ppt_第1頁
數(shù)據(jù)庫安全管理課程(共92頁).ppt_第2頁
數(shù)據(jù)庫安全管理課程(共92頁).ppt_第3頁
數(shù)據(jù)庫安全管理課程(共92頁).ppt_第4頁
數(shù)據(jù)庫安全管理課程(共92頁).ppt_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第1414章章 平安管理平安管理o14.1 14.1 平安控制概述平安控制概述o14.2 14.2 登錄帳戶管理登錄帳戶管理o14.3 14.3 數(shù)據(jù)庫用戶管理數(shù)據(jù)庫用戶管理o14.4 14.4 數(shù)據(jù)庫用戶權(quán)限管理數(shù)據(jù)庫用戶權(quán)限管理o14.5 14.5 角色角色14.1 平安控制概述o平安性問題的提出平安性問題的提出o數(shù)據(jù)庫平安性概念數(shù)據(jù)庫平安性概念o計算機系統(tǒng)平安性層次計算機系統(tǒng)平安性層次o數(shù)據(jù)庫平安控制模型數(shù)據(jù)庫平安控制模型oSQL Server平安控制過程平安控制過程oSQL Server用戶分類用戶分類問題的提出問題的提出o數(shù)據(jù)庫的一大特點是數(shù)據(jù)可以共享數(shù)據(jù)庫的一大特點是數(shù)據(jù)可以共享

2、o數(shù)據(jù)共享必然帶來數(shù)據(jù)庫的平安性問題數(shù)據(jù)共享必然帶來數(shù)據(jù)庫的平安性問題o數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享不能是無條件的共享數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享不能是無條件的共享o例:軍事秘密、國家機密、新產(chǎn)品實驗數(shù)據(jù)、例:軍事秘密、國家機密、新產(chǎn)品實驗數(shù)據(jù)、o 市場需求分析、市場營銷策略、銷售方案、市場需求分析、市場營銷策略、銷售方案、o 客戶檔案、醫(yī)療檔案、銀行儲蓄數(shù)據(jù)客戶檔案、醫(yī)療檔案、銀行儲蓄數(shù)據(jù)數(shù)據(jù)庫安全性數(shù)據(jù)庫安全性數(shù)據(jù)庫平安性概念o數(shù)據(jù)庫的平安性是指保護數(shù)據(jù)庫,防止因數(shù)據(jù)庫的平安性是指保護數(shù)據(jù)庫,防止因用戶非法使用數(shù)據(jù)庫造成數(shù)據(jù)泄露、更改用戶非法使用數(shù)據(jù)庫造成數(shù)據(jù)泄露、更改或破壞?;蚱茐摹數(shù)據(jù)庫系統(tǒng)中的

3、數(shù)據(jù)共享必須是在數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享必須是在DBMS統(tǒng)一的嚴格的控制之下,只允許有合法使統(tǒng)一的嚴格的控制之下,只允許有合法使用權(quán)限的用戶訪問允許他存取的數(shù)據(jù)。用權(quán)限的用戶訪問允許他存取的數(shù)據(jù)。計算機系統(tǒng)平安性層次o物理層:計算機系統(tǒng)在物理硬件上的平安性保護。物理層:計算機系統(tǒng)在物理硬件上的平安性保護。o操作系統(tǒng)層:操作系統(tǒng)本身提供的平安性保護措操作系統(tǒng)層:操作系統(tǒng)本身提供的平安性保護措施。施。o網(wǎng)絡(luò)層:網(wǎng)絡(luò)平安控制機制。網(wǎng)絡(luò)層:網(wǎng)絡(luò)平安控制機制。o數(shù)據(jù)庫系統(tǒng)層:數(shù)據(jù)庫系統(tǒng)應(yīng)該有完善的訪問控數(shù)據(jù)庫系統(tǒng)層:數(shù)據(jù)庫系統(tǒng)應(yīng)該有完善的訪問控制機制,檢查數(shù)據(jù)庫用戶的合法性以及數(shù)據(jù)庫操制機制,檢查數(shù)據(jù)庫用

4、戶的合法性以及數(shù)據(jù)庫操作權(quán)限。作權(quán)限。o數(shù)據(jù)層:直接對數(shù)據(jù)加密。數(shù)據(jù)層:直接對數(shù)據(jù)加密。數(shù)據(jù)庫平安控制模型文件操作控制操作權(quán)控制身份驗證用戶數(shù)據(jù)庫應(yīng)用程序數(shù)據(jù)庫管理系統(tǒng)操作系統(tǒng)加密存儲與冗余數(shù)據(jù)庫數(shù)據(jù)庫平安控制數(shù)據(jù)庫系統(tǒng)層平安性保護措施o身份認證身份認證:系統(tǒng)內(nèi)部記錄著所有合法用戶的:系統(tǒng)內(nèi)部記錄著所有合法用戶的標識,每次用戶要求進入系統(tǒng)時,由系統(tǒng)將標識,每次用戶要求進入系統(tǒng)時,由系統(tǒng)將用戶提供的身份標識與系統(tǒng)內(nèi)部記錄的合法用戶提供的身份標識與系統(tǒng)內(nèi)部記錄的合法用戶標識進行核對,通過鑒定后才提供系統(tǒng)用戶標識進行核對,通過鑒定后才提供系統(tǒng)使用權(quán)。使用權(quán)。o操作權(quán)限控制操作權(quán)限控制:對于通過鑒定獲

5、得系統(tǒng)使用:對于通過鑒定獲得系統(tǒng)使用權(quán)的用戶權(quán)的用戶( (即合法用戶即合法用戶) ),系統(tǒng)根據(jù)他的存取,系統(tǒng)根據(jù)他的存取權(quán)限定義對他的各種操作請求進行控制確保權(quán)限定義對他的各種操作請求進行控制確保他只執(zhí)行合法操作。他只執(zhí)行合法操作。SQL Server平安控制過程SQL Server用戶的平安驗證過程o一個用戶如果要訪問一個用戶如果要訪問SQL ServerSQL Server數(shù)據(jù)庫中的數(shù)據(jù),他必須數(shù)據(jù)庫中的數(shù)據(jù),他必須要經(jīng)過三個認證過程:要經(jīng)過三個認證過程:o第一個認證過程是身份驗證,這使用登錄賬號來標識用戶,第一個認證過程是身份驗證,這使用登錄賬號來標識用戶,身份驗證只驗證用戶連接到身份驗

6、證只驗證用戶連接到SQL ServerSQL Server數(shù)據(jù)庫效勞器的資數(shù)據(jù)庫效勞器的資格,即驗證該用戶是否具有連接到數(shù)據(jù)庫效勞器的格,即驗證該用戶是否具有連接到數(shù)據(jù)庫效勞器的“連接連接權(quán)。權(quán)。o第二個認證過程是當用戶訪問數(shù)據(jù)庫時,他必須具有對具第二個認證過程是當用戶訪問數(shù)據(jù)庫時,他必須具有對具體數(shù)據(jù)庫的訪問權(quán),即驗證用戶是否是數(shù)據(jù)庫的合法用戶。體數(shù)據(jù)庫的訪問權(quán),即驗證用戶是否是數(shù)據(jù)庫的合法用戶。o第三個認證過程是當用戶操作數(shù)據(jù)庫中的數(shù)據(jù)或?qū)ο髸r,第三個認證過程是當用戶操作數(shù)據(jù)庫中的數(shù)據(jù)或?qū)ο髸r,他必須具有所要進行的數(shù)據(jù)庫數(shù)據(jù)操作的操作權(quán),即驗證他必須具有所要進行的數(shù)據(jù)庫數(shù)據(jù)操作的操作權(quán),即

7、驗證用戶是否具有操作許可。用戶是否具有操作許可。 三個平安認證過程圖示三個平安認證過程圖示SQL Server用戶分類用戶分類o根據(jù)用戶登錄層次分類根據(jù)用戶登錄層次分類o根據(jù)用戶操作權(quán)限分類根據(jù)用戶操作權(quán)限分類根據(jù)用戶登錄層次分類o分為分為SQL Server登錄用戶登錄用戶和和數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶o只有先成為合法的只有先成為合法的SQL Server登錄用戶,登錄用戶,才有可能成為合法的數(shù)據(jù)庫用戶才有可能成為合法的數(shù)據(jù)庫用戶登錄用戶登錄用戶login user數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶database user從用戶操作權(quán)限角度分類o數(shù)據(jù)庫中的用戶按其操作權(quán)限的大小可分為如下三類:數(shù)據(jù)庫中的用戶按

8、其操作權(quán)限的大小可分為如下三類:o數(shù)據(jù)庫系統(tǒng)管理員:數(shù)據(jù)庫系統(tǒng)管理員在數(shù)據(jù)庫系統(tǒng)管理員:數(shù)據(jù)庫系統(tǒng)管理員在SQL Server中為中為sa在數(shù)據(jù)庫中具有全部的權(quán)限,當用戶以系統(tǒng)管在數(shù)據(jù)庫中具有全部的權(quán)限,當用戶以系統(tǒng)管理員身份進行操作時,系統(tǒng)不對其權(quán)限進行檢驗。理員身份進行操作時,系統(tǒng)不對其權(quán)限進行檢驗。o數(shù)據(jù)庫對象擁有者:創(chuàng)立數(shù)據(jù)庫對象的用戶即為數(shù)據(jù)庫數(shù)據(jù)庫對象擁有者:創(chuàng)立數(shù)據(jù)庫對象的用戶即為數(shù)據(jù)庫對象擁有者。數(shù)據(jù)庫對象擁有者對其所擁有的對象具有對象擁有者。數(shù)據(jù)庫對象擁有者對其所擁有的對象具有一切權(quán)限。一切權(quán)限。o數(shù)據(jù)庫訪問用戶:數(shù)據(jù)庫訪問用戶只具有對數(shù)據(jù)庫數(shù)據(jù)數(shù)據(jù)庫訪問用戶:數(shù)據(jù)庫訪問用戶

9、只具有對數(shù)據(jù)庫數(shù)據(jù)的增、刪、改、查權(quán)。的增、刪、改、查權(quán)。 14.2 登錄帳戶管理oSQL Server有三個默認的用戶登錄帳號有三個默認的用戶登錄帳號osa:擁有全部系統(tǒng)權(quán)限和數(shù)據(jù)庫權(quán)限擁有全部系統(tǒng)權(quán)限和數(shù)據(jù)庫權(quán)限oadministratorsbuiltin:SQL Server提供給提供給Windows 的系統(tǒng)管理員帳戶的系統(tǒng)管理員帳戶oGuest:默認的普通用戶帳戶:默認的普通用戶帳戶o系統(tǒng)管理員的工作系統(tǒng)管理員的工作 o建立新的登錄用戶建立新的登錄用戶o修改登錄密碼修改登錄密碼o刪除登錄用戶刪除登錄用戶SQL Server的帳戶驗證模式o帳戶驗證是用來確認登錄帳戶驗證是用來確認登錄SQ

10、L Server的用的用戶登錄帳號和密碼的正確性,由此來驗證其是戶登錄帳號和密碼的正確性,由此來驗證其是否具有連接否具有連接SQL Server的權(quán)限。的權(quán)限。 oSQL Server 提供了兩種確認用戶的驗證模提供了兩種確認用戶的驗證模式:式:oWindows身份驗證模式身份驗證模式n僅允許授權(quán)的僅允許授權(quán)的Windows用戶訪問用戶訪問SQL Servero混合身份驗證模式混合身份驗證模式n僅允許授權(quán)的僅允許授權(quán)的Windows用戶和非用戶和非Windows用用戶訪問戶訪問SQL Server連接SQL Server效勞器的過程 設(shè)置登錄驗證模式方法o在安裝在安裝SQL Server時設(shè)置

11、驗證模式時設(shè)置驗證模式o在企業(yè)管理器中設(shè)置驗證模式在企業(yè)管理器中設(shè)置驗證模式在安裝在安裝SQL ServerSQL Server時設(shè)置驗證模式時設(shè)置驗證模式在企業(yè)管理器中設(shè)置驗證模式在企業(yè)管理器中設(shè)置驗證模式驗證模式選擇驗證模式選擇建立新的登錄帳戶建立新的登錄帳戶o通過企業(yè)管理器新建登錄用戶通過企業(yè)管理器新建登錄用戶o利用系統(tǒng)存儲過程利用系統(tǒng)存儲過程sp_addlogin新建登錄用戶新建登錄用戶新的登錄用戶新的登錄用戶user1修改登錄密碼輸入新密碼輸入新密碼確認新密碼確認新密碼用用T-SQL語句建立登錄帳戶語句建立登錄帳戶CREATE LOGIN login_name WITH | FROM

12、 := WINDOWS WITH ,. := PASSWORD = password , ,. := SID = sid | DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language := DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language2022年2月22日16時31分30例如例如o例例1創(chuàng)立創(chuàng)立SQL Server身份驗證的登錄帳身份驗證的登錄帳戶。登錄名為:戶。登錄名為:SQL_User2,密碼為:,密碼為:a1b2c3XY。oCREATE LOGIN SQL_Use

13、r2 o WITH PASSWORD = a1b2c3XY2022年2月22日16時31分31例如例如o例例2創(chuàng)立創(chuàng)立Windows身份驗證的登錄帳戶。身份驗證的登錄帳戶。從從Windows域帳戶創(chuàng)立域帳戶創(chuàng)立 HYJWin_User2 登錄帳戶。登錄帳戶。oCREATE LOGIN HYJWin_User2 o FROM WINDOWS2022年2月22日16時31分32例如例如o例例3創(chuàng)立創(chuàng)立SQL Server身份驗證的登錄帳身份驗證的登錄帳戶。登錄名為:戶。登錄名為:SQL_User3,密碼為:,密碼為:AD4h9fcdhx32MOP。要求該登錄帳戶首。要求該登錄帳戶首次連接效勞器時必

14、須更改密碼。次連接效勞器時必須更改密碼。 oCREATE LOGIN SQL_User3 o WITH PASSWORD = AD4h9fcdhx32MOP o MUST_CHANGE2022年2月22日16時31分33刪除登錄用戶刪除登錄帳戶的刪除登錄帳戶的T-SQL語句語句DROP LOGIN login_name不能刪除正在使用的登錄帳戶,也不能刪除不能刪除正在使用的登錄帳戶,也不能刪除擁有任何數(shù)據(jù)庫對象、效勞器級別對象的擁有任何數(shù)據(jù)庫對象、效勞器級別對象的登錄帳戶。登錄帳戶。例例4刪除刪除SQL_User2登錄帳戶。登錄帳戶。 DROP LOGIN SQL_User22022年2月22

15、日16時31分3514.3 數(shù)據(jù)庫用戶管理o數(shù)據(jù)庫用戶管理概述數(shù)據(jù)庫用戶管理概述o數(shù)據(jù)庫管理員的工作數(shù)據(jù)庫管理員的工作o創(chuàng)立數(shù)據(jù)庫的用戶創(chuàng)立數(shù)據(jù)庫的用戶o刪除數(shù)據(jù)庫的用戶略刪除數(shù)據(jù)庫的用戶略 數(shù)據(jù)庫用戶管理概述數(shù)據(jù)庫用戶管理概述o用戶具有了登錄賬號之后,他只能連接到用戶具有了登錄賬號之后,他只能連接到SQL ServerSQL Server效勞器上,但不具有訪問任何數(shù)據(jù)庫的能力,只有成效勞器上,但不具有訪問任何數(shù)據(jù)庫的能力,只有成為了數(shù)據(jù)庫的合法用戶后,才能訪問此數(shù)據(jù)庫。為了數(shù)據(jù)庫的合法用戶后,才能訪問此數(shù)據(jù)庫。 o數(shù)據(jù)庫的用戶只能來自于效勞器上已有的登錄賬號,數(shù)據(jù)庫的用戶只能來自于效勞器上已

16、有的登錄賬號,讓登錄賬號成為數(shù)據(jù)庫的用戶就稱為讓登錄賬號成為數(shù)據(jù)庫的用戶就稱為“映射。映射。o一個登錄賬號可以映射為多個數(shù)據(jù)庫中的用戶。一個登錄賬號可以映射為多個數(shù)據(jù)庫中的用戶。o管理數(shù)據(jù)庫用戶的過程實際上就是建立登錄賬號與數(shù)管理數(shù)據(jù)庫用戶的過程實際上就是建立登錄賬號與數(shù)據(jù)庫用戶之間的映射關(guān)系的過程。據(jù)庫用戶之間的映射關(guān)系的過程。o默認情況下,新建立的數(shù)據(jù)庫只有一個用戶,就是:默認情況下,新建立的數(shù)據(jù)庫只有一個用戶,就是:dbodbo,它是數(shù)據(jù)庫的擁有者。,它是數(shù)據(jù)庫的擁有者。 授權(quán)登錄用戶為數(shù)據(jù)庫用戶授權(quán)登錄用戶為數(shù)據(jù)庫用戶o方法一:在企業(yè)管理器方法一:在企業(yè)管理器 “平安性中創(chuàng)立數(shù)據(jù)平安性

17、中創(chuàng)立數(shù)據(jù)庫用戶庫用戶o方法二:在數(shù)據(jù)庫方法二:在數(shù)據(jù)庫“用戶對象中創(chuàng)立數(shù)據(jù)庫用戶對象中創(chuàng)立數(shù)據(jù)庫用戶用戶o方法三:利用系統(tǒng)存儲過程方法三:利用系統(tǒng)存儲過程sp_grantdbaccess 創(chuàng)立數(shù)據(jù)庫用戶創(chuàng)立數(shù)據(jù)庫用戶在在“平安性中創(chuàng)立數(shù)據(jù)庫用戶平安性中創(chuàng)立數(shù)據(jù)庫用戶查看新建的數(shù)據(jù)庫用戶查看新建的數(shù)據(jù)庫用戶在數(shù)據(jù)庫在數(shù)據(jù)庫“用戶用戶 中創(chuàng)立數(shù)據(jù)庫用戶中創(chuàng)立數(shù)據(jù)庫用戶查看新建的數(shù)據(jù)庫用戶查看新建的數(shù)據(jù)庫用戶用用T-SQL語句建立數(shù)據(jù)庫用戶語句建立數(shù)據(jù)庫用戶CREATE USER user_name FOR | FROM LOGIN login_name user_name:指定在此數(shù)據(jù)庫中用于識

18、別該用:指定在此數(shù)據(jù)庫中用于識別該用戶的名稱。戶的名稱。LOGIN login_name:指定要映射為數(shù)據(jù)庫用:指定要映射為數(shù)據(jù)庫用戶的戶的SQL Server登錄名。登錄名。如果省略如果省略FOR LOGIN,那么新的數(shù)據(jù)庫用戶將,那么新的數(shù)據(jù)庫用戶將被映射到同名的被映射到同名的SQL Server登錄名。登錄名。2022年2月22日16時31分45例如例如o例例5.讓讓SQL_User2登錄帳戶成為登錄帳戶成為students數(shù)據(jù)庫中的用戶,并且用戶數(shù)據(jù)庫中的用戶,并且用戶名同登錄名。名同登錄名。USE students;GOCREATE USER SQL_User22022年2月22日1

19、6時31分46例如例如o例例6.本例如首先創(chuàng)立名為本例如首先創(chuàng)立名為SQL_JWC且具有且具有密碼的密碼的SQL Server身份驗證的效勞器登錄身份驗證的效勞器登錄名,然后在名,然后在students數(shù)據(jù)庫中創(chuàng)立與此登錄數(shù)據(jù)庫中創(chuàng)立與此登錄帳戶對應(yīng)的數(shù)據(jù)庫用戶帳戶對應(yīng)的數(shù)據(jù)庫用戶JWC。oCREATE LOGIN SQL_JWC oWITH PASSWORD = jKJl3$nN09jsK84;oGOoUSE students;oGOoCREATE USER JWC FOR LOGIN SQL_JWC;2022年2月22日16時31分4714.3.3 刪除數(shù)據(jù)庫用戶刪除數(shù)據(jù)庫用戶DROP U

20、SER user_nameo例例7刪除刪除SQL_User2用戶。用戶。 DROP USER SQL_User22022年2月22日16時31分4814.4 數(shù)據(jù)庫用戶權(quán)限管理o權(quán)限管理概述權(quán)限管理概述o權(quán)限種類權(quán)限種類 o權(quán)限管理的內(nèi)容權(quán)限管理的內(nèi)容o使用企業(yè)管理器使用企業(yè)管理器管理權(quán)限管理權(quán)限o使用使用Transact-SQLTransact-SQL管理權(quán)限管理權(quán)限權(quán)限管理概述權(quán)限管理概述o當用戶成為數(shù)據(jù)庫中的合法用戶之后,當用戶成為數(shù)據(jù)庫中的合法用戶之后,他除了具有一些系統(tǒng)表的查詢權(quán)之外,他除了具有一些系統(tǒng)表的查詢權(quán)之外,并不對數(shù)據(jù)庫中的對象具有任何操作權(quán),并不對數(shù)據(jù)庫中的對象具有任何操

21、作權(quán),因此,下一步就需要為數(shù)據(jù)庫中的用戶因此,下一步就需要為數(shù)據(jù)庫中的用戶授予數(shù)據(jù)庫的操作權(quán)。授予數(shù)據(jù)庫的操作權(quán)。o實際上將登錄賬號映射為數(shù)據(jù)庫用戶的實際上將登錄賬號映射為數(shù)據(jù)庫用戶的目的也是為了方便對用戶授予數(shù)據(jù)庫對目的也是為了方便對用戶授予數(shù)據(jù)庫對象的操作權(quán)。象的操作權(quán)。權(quán)限種類權(quán)限種類 在在SQL Server 2000 中,權(quán)限分為對象權(quán)限、語句權(quán)限中,權(quán)限分為對象權(quán)限、語句權(quán)限和隱含的權(quán)限三種。和隱含的權(quán)限三種。對象權(quán)限:對象權(quán)限是指用戶對數(shù)據(jù)庫中的表、視圖等對象對象權(quán)限:對象權(quán)限是指用戶對數(shù)據(jù)庫中的表、視圖等對象的操作權(quán),例如是否允許查詢、增加、刪除和修改數(shù)據(jù)等。的操作權(quán),例如是否

22、允許查詢、增加、刪除和修改數(shù)據(jù)等。語句權(quán)限:這種權(quán)限專指是否允許執(zhí)行以下語句:語句權(quán)限:這種權(quán)限專指是否允許執(zhí)行以下語句:CREATE TABLE、CREATE VIEW等與創(chuàng)立數(shù)據(jù)庫對象有關(guān)的操等與創(chuàng)立數(shù)據(jù)庫對象有關(guān)的操作。作。隱含權(quán)限:隱含權(quán)限是指由隱含權(quán)限:隱含權(quán)限是指由SQL Server預定義的效勞器角色、預定義的效勞器角色、數(shù)據(jù)庫角色、數(shù)據(jù)庫擁有者和數(shù)據(jù)庫對象擁有者所具有的數(shù)據(jù)庫角色、數(shù)據(jù)庫擁有者和數(shù)據(jù)庫對象擁有者所具有的權(quán)限,隱含權(quán)限相當于內(nèi)置權(quán)限,不需要再明確地授予這權(quán)限,隱含權(quán)限相當于內(nèi)置權(quán)限,不需要再明確地授予這些權(quán)限。例如,數(shù)據(jù)庫擁有者自動地擁有對數(shù)據(jù)庫進行一些權(quán)限。例如

23、,數(shù)據(jù)庫擁有者自動地擁有對數(shù)據(jù)庫進行一切操作的權(quán)限。切操作的權(quán)限。對象權(quán)限對象權(quán)限oALTER:具有更改特定數(shù)據(jù)庫對象屬性的:具有更改特定數(shù)據(jù)庫對象屬性的權(quán)限。權(quán)限。oDELETE、INSERT、UPDATE和和SELECT:具有對表和視圖數(shù)據(jù)進行刪除、:具有對表和視圖數(shù)據(jù)進行刪除、插入、更改和查詢的權(quán)限,其中插入、更改和查詢的權(quán)限,其中UPDATE和和SELECT可以對表或視圖的單個列進行授可以對表或視圖的單個列進行授權(quán)。權(quán)。oEXECUTE:具有執(zhí)行存儲過程的權(quán)限。:具有執(zhí)行存儲過程的權(quán)限。oREFERENCES:具有通過外鍵引用其他表:具有通過外鍵引用其他表的權(quán)限。的權(quán)限。2022年2月

24、22日16時31分52語句權(quán)限語句權(quán)限oCRAETE TABLE:創(chuàng)立表的權(quán)限。:創(chuàng)立表的權(quán)限。oCREATE VIEW:創(chuàng)立視圖的權(quán)限。:創(chuàng)立視圖的權(quán)限。oCREATE PROCEDURE:創(chuàng)立存儲過程的:創(chuàng)立存儲過程的權(quán)限。權(quán)限。oCREATE FUNCTION:創(chuàng)立函數(shù)的權(quán)限。:創(chuàng)立函數(shù)的權(quán)限。2022年2月22日16時31分5314.4.2 權(quán)限管理權(quán)限管理o權(quán)限的管理包含如下三個內(nèi)容:權(quán)限的管理包含如下三個內(nèi)容:o授予權(quán)限:允許用戶或角色具有某種操作權(quán)。授予權(quán)限:允許用戶或角色具有某種操作權(quán)。o收回權(quán)限:不允許用戶或角色具有某種操作權(quán),收回權(quán)限:不允許用戶或角色具有某種操作權(quán),或者收

25、回曾經(jīng)授予的權(quán)限。或者收回曾經(jīng)授予的權(quán)限。o禁止權(quán)限拒絕訪問:拒絕某用戶或角色具禁止權(quán)限拒絕訪問:拒絕某用戶或角色具有某種操作權(quán),既使用戶或角色由于繼承而獲有某種操作權(quán),既使用戶或角色由于繼承而獲得這種操作權(quán),也不允許執(zhí)行相應(yīng)的操作。得這種操作權(quán),也不允許執(zhí)行相應(yīng)的操作。o管理權(quán)限可以使用企業(yè)管理器實現(xiàn),也可以使管理權(quán)限可以使用企業(yè)管理器實現(xiàn),也可以使用用Transact-SQL語句實現(xiàn)。語句實現(xiàn)。使用企業(yè)管理器使用企業(yè)管理器管理權(quán)限管理權(quán)限o使用企業(yè)管理器使用企業(yè)管理器管理對象權(quán)限管理對象權(quán)限o使用企業(yè)管理器使用企業(yè)管理器管理語句權(quán)限管理語句權(quán)限使用企業(yè)管理器管理對象權(quán)限倉庫管理數(shù)據(jù)庫中的倉

26、庫管理數(shù)據(jù)庫中的user1用戶用戶權(quán)限標記說明o授予權(quán)限:假設(shè)要授予用戶對某個對象表、授予權(quán)限:假設(shè)要授予用戶對某個對象表、視圖、存儲過程的操作權(quán)表和視圖為:視圖、存儲過程的操作權(quán)表和視圖為:SELECT、INSERT、UPDATE、DELETE,存儲過程為:存儲過程為:EXEC,可單擊相應(yīng)的方框,可單擊相應(yīng)的方框,使其中出現(xiàn)使其中出現(xiàn)標記。標記。o禁止權(quán)限:假設(shè)要拒絕此用戶對某個對象的禁止權(quán)限:假設(shè)要拒絕此用戶對某個對象的操作權(quán),可單擊相應(yīng)的方框,使其中出現(xiàn)操作權(quán),可單擊相應(yīng)的方框,使其中出現(xiàn)標標記。記。o收回權(quán)限:假設(shè)要收回此用戶對某個對象的收回權(quán)限:假設(shè)要收回此用戶對某個對象的操作權(quán),可

27、單擊相應(yīng)的方框,使其方框成為空操作權(quán),可單擊相應(yīng)的方框,使其方框成為空的。的。使用企業(yè)管理器管理語句權(quán)限使用使用Transact-SQLTransact-SQL語句管理權(quán)限語句管理權(quán)限z 管理權(quán)限語句在管理權(quán)限語句在SQL語言中屬于數(shù)據(jù)控制語句語言中屬于數(shù)據(jù)控制語句DCL。z在在Transact-SQL語句中,用于管理權(quán)限的語句有三個:語句中,用于管理權(quán)限的語句有三個:zGRANT語句用于授權(quán)語句用于授權(quán):允許用戶或角色具有某種操允許用戶或角色具有某種操作權(quán)。作權(quán)。zREVOKE語句用于收回權(quán)限語句用于收回權(quán)限:不允許用戶或角色具不允許用戶或角色具有某種操作權(quán),或者收回曾經(jīng)授予的權(quán)限。有某種操

28、作權(quán),或者收回曾經(jīng)授予的權(quán)限。zDENY語句用于禁止權(quán)限語句用于禁止權(quán)限:拒絕某用戶或角色具有拒絕某用戶或角色具有某種操作權(quán),既使用戶或角色由于繼承而獲得這種操作某種操作權(quán),既使用戶或角色由于繼承而獲得這種操作權(quán),也不允許執(zhí)行相應(yīng)的操作。權(quán),也不允許執(zhí)行相應(yīng)的操作。使用使用Transact-SQLTransact-SQL語句管理對象權(quán)限語句管理對象權(quán)限o授予對象權(quán)限授予對象權(quán)限 o收回撤消對象權(quán)限收回撤消對象權(quán)限 o禁止拒絕對象權(quán)限禁止拒絕對象權(quán)限授予對象權(quán)限語句授予對象權(quán)限語句GRANT GRANT 對象權(quán)限名對象權(quán)限名 , ON ON 表名表名 | | 視圖名視圖名 | | 存存儲過程名儲

29、過程名 TO TO 數(shù)據(jù)庫用戶名數(shù)據(jù)庫用戶名 | | 用戶角色名用戶角色名 , 其中:對象權(quán)限名可以是其中:對象權(quán)限名可以是ALLALL、SELECTSELECT、INSERTINSERT、UPDATEUPDATE、DELETEDELETE和和EXECUTEEXECUTE等等例:為用戶例:為用戶user1user1授予倉庫表的查詢權(quán)。授予倉庫表的查詢權(quán)。 GRANT SELECT ON GRANT SELECT ON 倉庫倉庫 TO user1TO user1例:為用戶例:為用戶user1user1授予職工表的查詢權(quán)和插入權(quán)。授予職工表的查詢權(quán)和插入權(quán)。 GRANT SELECTGRANT S

30、ELECT,INSERT ON INSERT ON 職工職工 TO user1TO user1收回對象權(quán)限語句收回對象權(quán)限語句REVOKE REVOKE 對象權(quán)限名對象權(quán)限名 , ON ON 表名表名 | | 視圖名視圖名 | | 存儲過程名存儲過程名 FROM FROM 數(shù)據(jù)庫用戶名數(shù)據(jù)庫用戶名 | | 用戶角色名用戶角色名 , 例:例:收回用戶收回用戶user1user1對對職工職工表的查詢權(quán)。表的查詢權(quán)。REVOKE SELECT ON REVOKE SELECT ON 職工職工 FROM user1FROM user1禁止對象權(quán)限語句禁止對象權(quán)限語句DENY DENY 對象權(quán)限名對象權(quán)

31、限名 , ON ON 表名表名 | | 視圖視圖名名 | | 存儲過程名存儲過程名 TO TO 數(shù)據(jù)庫用戶名數(shù)據(jù)庫用戶名 | | 用戶角色名用戶角色名 , 例:例:禁止禁止user1user1用戶具有用戶具有職工職工表的更改權(quán)。表的更改權(quán)。 DENY UPDATE ON DENY UPDATE ON 職工職工 TO user1TO user1使用Transact-SQL語句管理語句權(quán)限o授權(quán)語句授權(quán)語句GRANT GRANT 語句權(quán)限名語句權(quán)限名 , TO TO 數(shù)據(jù)庫用戶名數(shù)據(jù)庫用戶名 | | 用戶用戶角色名角色名 , o收權(quán)語句收權(quán)語句REVOKE REVOKE 語句權(quán)限名語句權(quán)限名 ,

32、FROM FROM 數(shù)據(jù)庫用戶名數(shù)據(jù)庫用戶名 | | 用戶角色名用戶角色名 , o拒絕權(quán)限拒絕權(quán)限 DENY DENY 語句權(quán)限名語句權(quán)限名 , TO TO 數(shù)據(jù)庫用戶名數(shù)據(jù)庫用戶名 | | 用用戶角色名戶角色名 , 語句權(quán)限名可以是:語句權(quán)限名可以是:nBACKUP DATABASE BACKUP DATABASE nBACKUP LOG BACKUP LOG nCREATE DATABASE CREATE DATABASE nCREATE DEFAULT CREATE DEFAULT nCREATE FUNCTION CREATE FUNCTION nCREATE PROCEDURE CR

33、EATE PROCEDURE nCREATE RULE CREATE RULE nCREATE TABLE CREATE TABLE nCREATE VIEW CREATE VIEW 例:授予例:授予user1具有創(chuàng)立數(shù)據(jù)庫表的權(quán)限。具有創(chuàng)立數(shù)據(jù)庫表的權(quán)限。 GRANT CREATE TABLE TO user1例:授予例:授予user1和和user2具有創(chuàng)立數(shù)據(jù)庫表和視圖的權(quán)限。具有創(chuàng)立數(shù)據(jù)庫表和視圖的權(quán)限。 GRANT CREATE TABLE, CREATE VIEW TO user1, user2例:收回授予例:收回授予user1創(chuàng)立數(shù)據(jù)庫表的權(quán)限。創(chuàng)立數(shù)據(jù)庫表的權(quán)限。 REVOKE

34、CREATE TABLE FROM user1例:拒絕例:拒絕user1創(chuàng)立視圖的權(quán)限。創(chuàng)立視圖的權(quán)限。 DENY CREATE VIEW TO user114.5 數(shù)據(jù)庫用戶角色o角色概念與分類角色概念與分類o管理效勞器角色管理效勞器角色o管理數(shù)據(jù)庫角色管理數(shù)據(jù)庫角色角色概念與分類o在數(shù)據(jù)庫中,為便于對用戶及權(quán)限的管理,可以將在數(shù)據(jù)庫中,為便于對用戶及權(quán)限的管理,可以將一組具有相同權(quán)限的用戶組織在一起,這一組具有一組具有相同權(quán)限的用戶組織在一起,這一組具有相同權(quán)限的用戶就稱為角色相同權(quán)限的用戶就稱為角色RoleRole。 o在在SQL Server 2000SQL Server 2000中,

35、角色分為固定的系統(tǒng)角色和中,角色分為固定的系統(tǒng)角色和用戶自定義的角色。用戶自定義的角色。o系統(tǒng)角色又分為固定的效勞器角色和固定的數(shù)據(jù)庫系統(tǒng)角色又分為固定的效勞器角色和固定的數(shù)據(jù)庫角色,效勞器角色是為整個效勞器設(shè)置的,而數(shù)據(jù)角色,效勞器角色是為整個效勞器設(shè)置的,而數(shù)據(jù)庫角色是為具體的數(shù)據(jù)庫設(shè)置的。庫角色是為具體的數(shù)據(jù)庫設(shè)置的。o用戶自定義的角色屬于數(shù)據(jù)庫一級的角色。用戶自用戶自定義的角色屬于數(shù)據(jù)庫一級的角色。用戶自定義的數(shù)據(jù)庫角色有兩種類型:即標準角色和應(yīng)用定義的數(shù)據(jù)庫角色有兩種類型:即標準角色和應(yīng)用程序角色。程序角色。 管理數(shù)據(jù)庫角色o使用企業(yè)管理器管理數(shù)據(jù)庫角色使用企業(yè)管理器管理數(shù)據(jù)庫角色o

36、使用系統(tǒng)存儲過程管理數(shù)據(jù)庫角色使用系統(tǒng)存儲過程管理數(shù)據(jù)庫角色使用企業(yè)管理器管理數(shù)據(jù)庫角色使用企業(yè)管理器管理數(shù)據(jù)庫角色o顯示固定的數(shù)據(jù)庫角色顯示固定的數(shù)據(jù)庫角色o管理自定義的數(shù)據(jù)庫標準角色管理自定義的數(shù)據(jù)庫標準角色 o建立自定義的應(yīng)用程序角色建立自定義的應(yīng)用程序角色顯示固定的系統(tǒng)數(shù)據(jù)庫角色顯示固定的系統(tǒng)數(shù)據(jù)庫角色管理自定義的數(shù)據(jù)庫標準角色管理自定義的數(shù)據(jù)庫標準角色o創(chuàng)立數(shù)據(jù)庫標準角色創(chuàng)立數(shù)據(jù)庫標準角色o為自定義的角色授權(quán)為自定義的角色授權(quán) o添加自定義角色的成員添加自定義角色的成員 o刪除自定義角色的成員刪除自定義角色的成員 略略創(chuàng)立數(shù)據(jù)庫標準角色創(chuàng)立數(shù)據(jù)庫標準角色輸入角色名輸入角色名說明:也可

37、暫不添加用戶說明:也可暫不添加用戶新角色新角色為自定義的角色授權(quán)單擊單擊添加自定義角色的成員單擊單擊建立用戶定義的角色建立用戶定義的角色CREATE ROLE role_name AUTHORIZATION owner_name role_name:待創(chuàng)立角色的名稱。:待創(chuàng)立角色的名稱。 AUTHORIZATION owner_name:將:將擁有新角色的數(shù)據(jù)庫用戶或角色。如果未擁有新角色的數(shù)據(jù)庫用戶或角色。如果未指定用戶,那么執(zhí)行指定用戶,那么執(zhí)行CREATE ROLE的的用戶將擁有該角色。用戶將擁有該角色。2022年2月22日16時31分87例如例如例例1.創(chuàng)立用戶自定義角色:創(chuàng)立用戶自定義角色:CompDept,擁有,擁有者為創(chuàng)立該角色的用戶。者為創(chuàng)立該角色的用戶。CREATE ROLE CompDept;例例2.創(chuàng)立用戶自定義角色:創(chuàng)立用戶自定義角色:InfoDept,擁有者,擁有者為為SQL_User1。 CREATE ROLE InfoDept AUTHORIZATION SQL_User1;2022年2月22日16時31分88為用戶定義的角色授權(quán)為用戶定義的角色授權(quán)o使用使用SQL語句實現(xiàn)對用戶角色的授權(quán)與為數(shù)語句實現(xiàn)對用戶角色的授權(quán)與為數(shù)據(jù)庫用戶授權(quán)完全一樣。據(jù)庫用戶授權(quán)完全一樣。o例例3.為為Software角色授予角色授予Stud

溫馨提示

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

評論

0/150

提交評論