第10章 SQL Server 2005的安全管理_第1頁
第10章 SQL Server 2005的安全管理_第2頁
第10章 SQL Server 2005的安全管理_第3頁
第10章 SQL Server 2005的安全管理_第4頁
第10章 SQL Server 2005的安全管理_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、SQL Server 2005 數(shù)據(jù)庫應用與開發(fā),第10章 SQL Server 2005的安全管理,內(nèi)容提要: SQL Server 2005數(shù)據(jù)庫系統(tǒng)具有各種高度精確的可配置安全特性,可以實現(xiàn)經(jīng)過優(yōu)化的深度防御。 本章主要介紹: SQL Server的安全體系結構 兩種驗證模式及其設置 登錄賬號的設置 角色與用戶的創(chuàng)建方法 權限設置與使用,第10章 SQL Server 2005的安全管理,本章內(nèi)容: 10.1 SQL Server 2005的安全性機制 10.2 管理服務器范圍的安全性 10.3 管理數(shù)據(jù)庫范圍的安全性 10.4 管理密匙與證書 10.5 權限管理 10.6小結,10.1

2、SQL Server 2005的安全性機制,SQL Server 2005的安全性機制主要包括以下5個方面的內(nèi)容: SQL Server 2005客戶機的安全機制。 網(wǎng)絡傳輸?shù)陌踩珯C制。 SQL Server 2005服務器的安全機制。 數(shù)據(jù)庫的的安全機制。 數(shù)據(jù)對象的安全機制。,10.1SQL Server 2005的安全性機制,10.1.1基本概念 若要在SQL Server 2005的安全機制下,首先需要了解下面常用的基本概念或術語。 (1)主體(Principal)。主體是可以請求對SQL Server資源的訪問權限的用戶、組和進程。主體有幾個共同的特征。每個主體都有自己的安全標識號(

3、SID)。主體可以是主體的集合(比如數(shù)據(jù)庫角色或Windows組)或不可分割的主體(比如本地登錄或域登錄)。每個主體有一個作用域,作用域基于定義主體的級別。,10.1SQL Server 2005的安全性機制,10.1.1基本概念 (2)安全對象。安全對象是 SQL Server 2005數(shù)據(jù)庫引擎授權系統(tǒng)控制對其進行訪問的資源。通過創(chuàng)建可以為自己設置安全性的名為“范圍”的嵌套層次結構,可以將某些安全對象包含在其他安全對象中。安全對象范圍包括服務器、數(shù)據(jù)庫、架構和對象。,10.1SQL Server 2005的安全性機制,10.1.1基本概念 (3)用戶、數(shù)據(jù)庫用戶、賬戶、賬號、登錄名和密碼。

4、 用戶是指能夠在SQL Server 2005安全機制下,訪問數(shù)據(jù)庫對象中的數(shù)據(jù)的操作員或客戶。用戶若要訪問數(shù)據(jù)庫對象,必須獲得管理員分配的賬號和密碼。從SQL Server 2005管理系統(tǒng)的角度來看,用戶就是一組匹配的賬戶和密碼。 賬戶和賬號是一個概念的不同說法,在服務器中的賬戶又叫登錄名(Login),因此訪問服務器也稱為登錄服務器。服務器的登錄名可以映射到數(shù)據(jù)庫中成為數(shù)據(jù)庫用戶。一個登錄名可以映射多個數(shù)據(jù)庫用戶,而一個用戶只能映射一個登錄名。,10.1SQL Server 2005的安全性機制,10.1.1基本概念 (4)角色(roles)。角色是SQL Server 2005中管理權

5、限相近的安全賬戶的集合,相當于Windows域中的組。 (5)權限。 權限是SQL Server 2005安全性的最后一個級別,實際上是安全機制的設計者分配給某一個用戶(或角色)訪問數(shù)據(jù)庫時,對數(shù)據(jù)對象的可以進行的操作集合。要擁有對SQL Server 2005上的安全對象的訪問權限,主體必須具有在在數(shù)據(jù)對象上執(zhí)行操作的權限。,10.1SQL Server 2005的安全性機制,10.1.1基本概念 (6)身份驗證與授權。身份驗證(Authentication)是SQL Server 2005系統(tǒng)標識用戶或進程的過程,SQL Server 2005 中有兩種身份驗證方式: Windows身份驗

6、證模式和混合身份驗證模式。客戶端自身必須通過服務器的身份驗證后才可以請求其他資源。 授權(Authorization)是授予通過身份驗證的用戶或進程以訪問或修改資源的指定權限的過程。,10.1SQL Server 2005的安全性機制,10.1.3查詢權限 用戶可以利用fn_my_permissions函數(shù)查詢用戶的有效權限,該函數(shù)一般返回調(diào)用對方服務器的有效權限列表。 fn_my_permissions函數(shù)語法格式如下: fn_my_permissions (securable , securable_class) fn_my_permissions 函數(shù)的返回列如表10.1所示.,10.1

7、SQL Server 2005的安全性機制,10.1.1基本概念,例10.1 列出對服務器的有效權限。 程序代碼如下: USE master GO SELECT * FROM fn_my_permissions (NULL, SERVER); GO,例10.2 列出對數(shù)據(jù)庫test01的有效權限 程序代碼如下: USE test01 GO SELECT * FROM fn_my_permissions (NULL, DATABASE); GO,10.1SQL Server 2005的安全性機制,10.1.1基本概念,例10.3 列出對表的有效權限。 分析:以下示例返回調(diào)用方對teaching數(shù)

8、據(jù)庫內(nèi)dbo架構中teacher的有效權限的列表。 程序代碼如下: USE teaching; GO SELECT * FROM fn_my_permissions(dbo.teacher, OBJECT) ORDER BY subentity_name, permission_name ;,例10.4列出一個用戶的有效權限 分析:以下示例返回數(shù)據(jù)庫用戶dbo對 teaching 數(shù)據(jù)庫內(nèi)dbo架構中score表的有效權限的列表。調(diào)用方需要對用戶dbo具有 IMPERSONATE 權限。 程序代碼如下: EXECUTE AS USER = dbo; SELECT * FROM fn_my_pe

9、rmissions(dbo.score, OBJECT) ORDER BY subentity_name, permission_name ; REVERT; GO,10.2 管理服務器范圍的安全性,服務器訪問權限是屬于SQL Server的第1個安全層次,該權限決定是否允許客戶端訪問服務器,這個安全級別總是由DBA負責。 SQL Server 2005支持用Windows或SQL Server身份驗證模式來驗證客戶端的身份。 10.2.1 SQL Server 2005的驗證模式 SQL Server 2005的身份驗證基于SQL Server存儲在主數(shù)據(jù)庫中的登錄名和密碼??蛻舳吮仨毺峁┑?/p>

10、錄名和密碼,才能獲得授權訪問服務器。 SQL Server的安全性是和Windows操作系統(tǒng)集成在一起的,因此SQL Server提供了兩種確認用戶的驗證模式:Windows驗證和混合驗證模式。,10.2 管理服務器范圍的安全性,10.2.1 SQL Server 2005的驗證模式 1. Windows身份驗證模式 SQL Server數(shù)據(jù)庫系統(tǒng)通常運行在Windows服務器平臺上,其本身就具備管理登錄、驗證用戶合法性的能力,因此Windows 驗證模式正是利用了這一用戶安全性和賬號管理的機制,允許SQL Server也可以使用Windows的用戶賬戶和密碼。 在這種模式下,用戶只需要通過W

11、indows的驗證,就可以連接到SQL Server,而SQL Server本身也就不需要管理一套登錄數(shù)據(jù)。 Windows身份驗證通常被認為更安全和更易維護。Windows身份驗證對于用戶和管理員來說都比較容易管理。,10.2 管理服務器范圍的安全性,10.2.1 SQL Server 2005的驗證模式 2. 混合身份驗證模式 混合驗證模式允許以SQL Server驗證模式或者Windows驗證模式來進行驗證。 混合驗證模式先將客戶機的賬號和密碼與SQL Server 2005數(shù)據(jù)庫中存儲的賬號和密碼進行比較,如果符合就通過驗證;如果不符合,則再和Windows中存儲的賬號和密碼進行比較,

12、如果符合就通過驗證。 Microsoft公司在SQL Server 2005中對SQL Server身份驗證作了一些改進。例如,SQL Server實例可以設置為需要安全性更強的口令,以及在指定時間段后要求更新口令。,10.2 管理服務器范圍的安全性,10.2.1 SQL Server 2005的驗證模式 3更新服務器的身份驗證機制的步驟 (1)在“對象資源管理器”中,右擊SQL Server 2005數(shù)據(jù)庫實例,在彈出的快捷菜單中,選擇“屬性”命令。 (2)在“服務器屬性”對話框中選擇“安全性”選項卡。 (3)在“服務器身份驗證”區(qū)域可以設置服務器身份驗證模式,然后單擊“確定”按鈕即可完成設

13、置。 (4)重啟SQL Server 2005,即可改變身份驗證模式。,10.2 管理服務器范圍的安全性,10.2.2服務器角色 SQL Server 2005的安全體系結構中包括含有特定隱含權限的兩類預定義的角色:服務器角色和固定數(shù)據(jù)庫角色。 服務器角色是執(zhí)行服務器管理操作的具有相近權限的用戶集合。根據(jù)SQL Server的管理任務和重要性等級來把具有SQL Server管理職能的用戶劃分到不同的服務器角色,每一個角色所具有的管理SQL Server的權限都是SQL Server內(nèi)置的。,10.2 管理服務器范圍的安全性,10.2.2服務器角色 服務器角色是服務器級別的主體,可以成為服務器角

14、色的成員以控制服務器作用域中的可保護對象。表10.5列出了SQL Server 2005默認創(chuàng)建的服務器角色及其功能。 SQL Server 2005的服務器角色在實例中的位置如圖10.8所示。,10.2 管理服務器范圍的安全性,10.2.3管理登錄名 登錄名就是可以訪問SQL Server數(shù)據(jù)庫系統(tǒng)的賬戶。 1利用SQL Server Management Studio創(chuàng)建登錄名 (1)啟動SQL Server Management Studio工具后,在“對象資源管理器”下,右擊“安全性”下的“登錄名”節(jié)點,在彈出的快捷菜單中選擇“新建登錄名”命令。 (2)在“登錄名-新建”界面上,設置登

15、錄名(te_login)、身份驗證模式(SQL Server身份驗證)、密碼(123456)、默認數(shù)據(jù)庫(teaching)和語言的類型等,如圖10.9所示。,10.2 管理服務器范圍的安全性,10.2.3管理登錄名 1利用SQL Server Management Studio創(chuàng)建登錄名 (3)可以選擇“服務器角色”選項卡,配置登錄的服務器角色,如sysadmin。 (4)也可以選擇其他選項卡進行“用戶映射”、“安全對象”和“狀態(tài)”的配置。 (5)然后單擊“確定”按鈕即可完成登錄名的創(chuàng)建。 (6)可以在“對象資源管理器”下查看新建登錄名如圖10.10所示。,10.2 管理服務器范圍的安全性,

16、10.2.3管理登錄名 1利用SQL Server Management Studio創(chuàng)建登錄名 (7)右擊登錄名te_login,在彈出的快捷菜單中,選擇“編寫登錄腳本為:”|“CREATE到”|“新查詢編輯器窗口”命令,系統(tǒng)將創(chuàng)建登錄名的過程以腳本形式保存下來。由此可知利用Transact-SQL語句創(chuàng)建登錄名的方法。,腳本中的主要代碼如下: CREATE LOGIN te_login WITH PASSWORD=N123456, DEFAULT_DATABASE=teaching, DEFAULT_LANGUAGE=簡體中文, CHECK_EXPIRATION=OFF, CHECK_PO

17、LICY=OFF GO EXEC sys.sp_addsrvrolemember loginame = Nte_login, rolename = Nsysadmin GO ALTER LOGIN te_login DISABLE,10.2 管理服務器范圍的安全性,10.2.3管理登錄名 2測試登錄名 下面使用SQL Server Management Studio測試新登錄名是否成功連接服務器。 (1)右擊SQL Server 中的實例,在快捷菜單中選擇“連接”命令。 (2)在彈出的“連接服務器”界面中,選擇SQL Serve身份驗證,然后輸入登錄名和密碼,如圖10.11所示。 (3)單擊“

18、連接”按鈕可以測試連接是否成功。如圖10.12所示。,10.2 管理服務器范圍的安全性,10.2.3管理登錄名 3利用系統(tǒng)過程管理登錄名 利用master數(shù)據(jù)庫下的下列系統(tǒng)存儲過程sp_addlogin、sp_droplogin、 sp_password也可以用于管理SQL Server的登錄名。 (1)sp_addlogin 。系統(tǒng)過程sp_addlogin可以用于創(chuàng)建SQL Server登錄名,用戶可以通過該登錄訪問SQL Server系統(tǒng),其語法過程如下: sp_addlogin login_name ,passwd,database ,language,例10.5 利用系統(tǒng)過程sp_addlogin向“職員管理”數(shù)

溫馨提示

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

評論

0/150

提交評論