數(shù)據(jù)庫課后題答案第八章管理SQLServer的安全性_第1頁
數(shù)據(jù)庫課后題答案第八章管理SQLServer的安全性_第2頁
數(shù)據(jù)庫課后題答案第八章管理SQLServer的安全性_第3頁
數(shù)據(jù)庫課后題答案第八章管理SQLServer的安全性_第4頁
數(shù)據(jù)庫課后題答案第八章管理SQLServer的安全性_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第八章 SQL Server 的安全性要點:SQL Server 2000 兩級權(quán)限管理機制登陸帳戶和服務(wù)器角色數(shù)據(jù)庫用戶和數(shù)據(jù)庫角色權(quán)限的管理第一節(jié) SQL Server 2000 安全性概述作為一種數(shù)據(jù)庫管理系統(tǒng), SQL Server2000系統(tǒng)中存儲了用戶大量的業(yè)務(wù)數(shù)據(jù),這些數(shù)據(jù)都是用戶的商業(yè)機密。 這些商業(yè)數(shù)據(jù)必須得到安全保障。 安全性管理是數(shù)據(jù)庫管理系統(tǒng)的一個重要組成部分。 安全性就是確保只有授權(quán)的用戶才能使用數(shù)據(jù)庫中的數(shù)據(jù)和執(zhí)行相應(yīng)的操作, 安全性管理包括兩個方面的內(nèi)容, 一是用戶能否登錄系統(tǒng)和如何登錄的管理, 二是用戶能否使用數(shù)據(jù)庫中的對象和執(zhí)行相應(yīng)操作的管理。 SQL Ser

2、ver2000提供了一套完整的安全機制。一、認證進程和認證模式認證進程就是指當用戶訪問數(shù)據(jù)庫系統(tǒng)時,系統(tǒng)對該用戶帳號和口令的確認過程,認證的內(nèi)容包括確認用戶的帳號是否有效、是否能訪問系統(tǒng)、 能訪問系統(tǒng)中的哪些數(shù)據(jù)等。認證模式就是指系統(tǒng)選擇何種認證進程確認用戶的方式。用戶必須使用一個登錄帳號,才能連接到SQL Server 系統(tǒng)中。 SQL Server系統(tǒng)通過兩種認證進程來確認用戶的身份,這兩種認證進程是:(1) WINDOWS 認證進程當 SQL Server在 WINDOWS 環(huán)境中運行時,系統(tǒng)管理員必須指定系統(tǒng)的認證模式類型。認證模式類型有兩種:(1) WINDOWS 認證模式(2) 混

3、合模式WINDOWS 認證模式只允許使用WINDOWS 認證進程。這時,用戶不能指SQL Server 的登錄帳號。混合認證模式既允許使用WINDOWS 認證進程,又允許使用 SQL Server 認證進程。在混合認證模式中,當某個用戶希望登錄 SQL Server系統(tǒng)時,系統(tǒng)是采用 WINDOWS 認證進程還是采用 SQL Server認證進程取決于該用戶連接到系統(tǒng)的網(wǎng)絡(luò)協(xié)議類型。注意:在 SQL Server 系統(tǒng)中,除了網(wǎng)絡(luò)協(xié)議Named pipes 和 TCP/IP,其他的網(wǎng)絡(luò)通信協(xié)議都是非信任連接協(xié)議。舉例說明:首先在 SQL Server 中建立一個登錄帳戶:選中服務(wù)器下的“安全性

4、”“登錄”,右單擊選擇 “新建登錄”,在彈出的菜單常規(guī)選項卡中輸入 “帳號”例如: hello,選擇 SQL Server 身份驗證,輸入密碼: 123456,在“服務(wù)器角色”卡中選擇相應(yīng)的服務(wù)器角色,例如選擇: security administrators 和 databases creators,在“數(shù)據(jù)庫訪問”卡中選擇允許該帳號訪問的數(shù)據(jù)庫名,例如選擇: studentborrow 數(shù)據(jù)庫。單擊確定,這樣登錄帳號: hello 就建立完成了。此時,我們在服務(wù)器名右單擊選擇“編輯 SQL Server 注冊屬性”,在彈出的對話框中選擇使用 SQL Server 身份驗證,這時在登錄名處輸

5、入新建立的帳號: hello,選擇總是提示輸入用戶名和密碼,輸入密碼: 123456,單擊“確定”,然后重新打開 SQL Server,此時提示我們輸入用戶名和密碼,并且只能創(chuàng)建數(shù)據(jù)庫和只能訪問 studentborrow 數(shù)據(jù)庫。如果我們在服務(wù)器上右單擊選擇屬性, 在“安全性” 卡片上可以選擇認證模式,如果選擇“僅 WINDOWS 認證”,那么在重復(fù)剛才的操作,就不能夠進入了,因為此時僅僅 WINDOWS 帳號才可以訪問 SQL Server。二、帳號驗證SQL Server 的安全性機制可以劃分為4 個等級:( 1) 客戶機操作系統(tǒng)的安全性( 2) SQL Server 的登錄安全性( 3

6、) 數(shù)據(jù)庫的使用安全性( 4) 數(shù)據(jù)庫對象的使用安全性因而使用數(shù)據(jù)庫的帳戶也應(yīng)從四個方面進行驗證1、操作系統(tǒng)級別的驗證2、服務(wù)器級別的驗證SQL Server 服務(wù)器級別安全性建立在控制服務(wù)器登錄帳戶和密碼的基礎(chǔ)上也就是前面所說的兩種認證模式:WINDOWS 認證模式和混合模式。3、數(shù)據(jù)庫級別的驗證在默認情況下, 數(shù)據(jù)庫的所有者可以訪問該數(shù)據(jù)庫的對象, 還可以分配訪問權(quán)給別的用戶,以便讓別的用戶也擁有針對該數(shù)據(jù)庫的訪問權(quán)利。4、數(shù)據(jù)庫對象級別的驗證默認情況下,只有數(shù)據(jù)庫的所有者可以在該數(shù)據(jù)庫下進行操作。 當一個非數(shù)據(jù)庫所有者想訪問數(shù)據(jù)庫里的對象時, 必須事先由數(shù)據(jù)庫的所有者賦予該用戶對指定對象

7、的執(zhí)行特定操作的權(quán)限。第二節(jié) 登錄帳號管理一、標準的 SQL 帳戶管理1、帳戶的建立方式有三種:使用查詢分析器,通過系統(tǒng)提供的存儲過程;通過SQL Server 企業(yè)管理器;使用SQL Server提供的創(chuàng)建登錄向?qū)Т鎯^程: sp_addlogin 建立標準登錄帳戶語法: sp_addlogin loginame=ligin ,passwd=psaaword,=defab database,eflanguage=language2、修改和刪除帳戶使用系統(tǒng)存儲過程sp_defaultdb修改登錄帳戶的默認數(shù)據(jù)庫使用系統(tǒng)存儲過程sp_defaultlanguage修改登錄帳戶的默認語言使用系統(tǒng)存

8、儲過程sp_password修改登錄帳戶的密碼使用系統(tǒng)存儲過程sp_droplogin 來刪除 SQL Server標準登錄帳戶3、注意:( 1)在 SQL Server 中刪除帳戶信息時,有如下限制:已經(jīng)映射到數(shù)據(jù)庫用戶的帳戶不允許被刪除系統(tǒng)帳戶 SA 不能被刪除,正在使用的帳戶不能被刪除擁有數(shù)據(jù)庫的帳戶不能被刪除( 2)在進行修改和刪除操作時用到的所有存儲過程和使用企業(yè)管理器進行的有關(guān)帳戶、密碼、角色、權(quán)限的操作,都只有被賦予SYSADMIN 或 securityadmin固定服務(wù)器角色的帳戶才可以使用。二、與 WINDOWS 集成的帳戶管理1、帳戶的建立與標準的 SQL 帳戶管理類似,在

9、此僅介紹用系統(tǒng)存儲過程的方法:使用系統(tǒng)存儲過程sp_grantlogin 來使 WINDOWS的用戶或工作組映射為SQLServer 的登錄帳戶。語法: sp_grantloginloginame=login2、刪除 Windows 帳戶sp_revokelogin 可是從 SQL Server 中刪除用 sp_grantlogin 創(chuàng)建的 Windows 帳戶語法:sp_revokelogin loginame=login 3、拒絕登錄帳戶使用系統(tǒng)存儲過程sp_denylogin 可以設(shè)置不允許Windows 的工作組或用戶聯(lián)接到 SQL Server服務(wù)器。語法:sp_denylogin

10、loginame=login 第三節(jié)服務(wù)器角色管理角色是 SQL Server 2000引進的用來集中管理數(shù)據(jù)庫或服務(wù)器權(quán)限的概念。SQL Server在服務(wù)器級提供了固定服務(wù)器角色,用戶不能增加、 修改和刪除服務(wù)器角色。一、固定服務(wù)器角色1、固定服務(wù)器角色服務(wù)器角色是一些系統(tǒng)定義好操作權(quán)限的用戶組,其中的成員是登錄帳戶。服務(wù)器角色不能增加或刪除,只能對其中的成員進行修改。服務(wù)器角色是SQLServer 在安裝是就創(chuàng)建好的用于分配服務(wù)器級管理權(quán)限的實體。常用的固定服務(wù)器角色有:sysadmin、serveradmin、securityadmin、dbcreator、diskadmin、proc

11、essadmin、 setupadmin和 bulkadmin。2、瀏覽服務(wù)器角色使用系統(tǒng)存儲過程sp_helpsrvrole瀏覽服務(wù)器角色語法:sp_helpsrvrole srvrolename=role二、管理服務(wù)器角色成員一個登錄帳戶可以不屬于任何角色,也可以同時屬于多個角色。 將一個登錄帳戶加入一個角色,可以令使用該帳戶登錄的用戶自動的具有角色預(yù)定義的權(quán)限。Windows 系統(tǒng)管理員組自動屬于sysadmin角色1、使用系統(tǒng)存儲過程更改服務(wù)器角色成員( 1)將一個帳戶加入一個服務(wù)器角色, 可使用系統(tǒng)存儲過程 sp_addsrcrolemember 語法: sp_addsrcrolem

12、emberloginame=login rolename=role( 2 ) 將 某 個 帳 戶 從 服 務(wù) 器 角 色 中 刪 除 , 可 以 使 用 系 統(tǒng) 存 儲 過 程sp_dropsrvrolemember系統(tǒng)存儲過程 sp_dropsrvrolemember的功能是收回分配給某登錄帳戶的指定固定服務(wù)器角色。語法:sp_dropsrvrolemember loginame=login ,rolename=role2、可以使用企業(yè)管理器更改服務(wù)器角色成員三、服務(wù)器角色的權(quán)限1、固定服務(wù)器角色的權(quán)限( 1) sysadmin 擁有最高的權(quán)限,可以執(zhí)行服務(wù)器范圍內(nèi)的一切操作 .( 2) S

13、ecurityadmin 可以在服務(wù)器范圍內(nèi)進行有關(guān)權(quán)限的一切管理操作。 如管理登錄帳戶,管理數(shù)據(jù)庫對象權(quán)限,閱讀日志文件等。( 3) Serveradmin可以設(shè)置服務(wù)器范圍的配置選項,關(guān)閉服務(wù)器。( 4) Dbcreator 可以創(chuàng)建、更改和除去數(shù)據(jù)庫( 5) Setupadmin可以管理鏈接服務(wù)器和啟動過程( 6) Processadmin可以管理在 SQL Server中運行的進程( 7) Diskadmin 可以管理磁盤文件( 8) Bulkadmin 可以執(zhí)行 bulk insert 語句2、可以使用系統(tǒng)存儲過程sp_srvrolepermission瀏覽固定服務(wù)器角色的權(quán)限語法:

14、 sp_srvrolepermissionsrvrolename=role 第四節(jié) 數(shù)據(jù)庫角色管理為了更高效的管理數(shù)據(jù)庫用戶的權(quán)限, SQL Server在數(shù)據(jù)庫級提供了固定的數(shù)據(jù)庫級角色。 用戶不能修改固定數(shù)據(jù)庫級角色的權(quán)限, 也不能刪除固定數(shù)據(jù)庫級角色。但用戶可以自己創(chuàng)建新的數(shù)據(jù)庫角色,在分配權(quán)限給新建的角色。一、固定數(shù)據(jù)庫角色固定數(shù)據(jù)庫角色是在每個數(shù)據(jù)庫中都定義的預(yù)定義組。 管理員可以將一個用戶加入一個或多個數(shù)據(jù)庫角色中。 固定數(shù)據(jù)庫角色不能被添加、 修改或刪除。SQL Server 在數(shù)據(jù)庫級設(shè)置了固定數(shù)據(jù)庫角色來提供最基本的數(shù)據(jù)庫權(quán)限的總和管理。1、使用系統(tǒng)存儲過程 sp_helpd

15、bfixedrole 瀏覽固定數(shù)據(jù)庫角色語法: sp_helpdbfixedrole rolename=role例如: exec sp_helpdbfixedrole2、固定數(shù)據(jù)庫角色的權(quán)限public :維持所有的默認權(quán)限db_owner:可以執(zhí)行所有數(shù)據(jù)庫角色的活動db_accessadmin:可以加入或刪除數(shù)據(jù)庫用戶、組和角色db_ddladmin:可以加入、修改或刪除數(shù)據(jù)庫對象db_securityadmin:管理角色、角色成員,管理對象和語句權(quán)限db_backupoperator:備份數(shù)據(jù)庫db_datareader:可以從所有表中讀數(shù)據(jù)db_datawriter:可以在所有表中增加

16、、修改或刪除數(shù)據(jù)db_denydatareader:看不到數(shù)據(jù)庫任何數(shù)據(jù)db_denydatawriter:不能改變?nèi)魏伪淼臄?shù)據(jù)3、管理固定數(shù)據(jù)庫角色成員( 1) 使用系統(tǒng)存儲過程 sp_addrolemember 將某個登錄帳戶加入某個固定數(shù)據(jù)庫角色。語法: sp_addrolememberrolename=role,membername=security_account(2)使用系統(tǒng)存儲過程sp_droprolemember從某個固定數(shù)據(jù)庫角色中刪除指定的登錄帳戶。語法: sp_droprolemember rolename=role,membername=security_account

17、4、角色的應(yīng)用( 1) public 角色在前面提到的數(shù)據(jù)庫角色中,SQL Server 還有一個特殊的數(shù)據(jù)庫角色public。所有的數(shù)據(jù)庫用戶都屬于public 角色。 Public 角色的特點是:替數(shù)據(jù)庫用戶捕獲所有的數(shù)據(jù)庫默認權(quán)限不能將 public 角色分配給任何用戶、工作組,因為所有用戶都默認為屬于該角色public 角色存在于每一個數(shù)據(jù)庫中,包括系統(tǒng)數(shù)據(jù)庫和用戶建立的數(shù)據(jù)庫public 角色不允許被刪除( 2) sysadmin角色與 dbo在所有數(shù)據(jù)庫用戶中, 特殊用戶 dbo 具有最高的管理權(quán)限。 它被認為是所有數(shù)據(jù)庫對象的所有者, 可以訪問所有的數(shù)據(jù)庫對象, 可以在數(shù)據(jù)庫范圍內(nèi)執(zhí)行一切操作。在固定數(shù)據(jù)庫級角色和 dbo 之間有著一種奇特的對應(yīng)關(guān)系。 任何被賦予sysadmin 固定服務(wù)器角色的用戶都映射著每個數(shù)據(jù)庫的特殊用戶 dbo。所有由 sysadmin 成員創(chuàng)建的數(shù)據(jù)庫對象都自動將所有者設(shè)置為 dbo。例如:如果用戶hello 是一個s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論