![應(yīng)用SQL Server 2005安全管理策略_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/1d84d86a-cc59-47ae-a6a9-3af5621a4f64/1d84d86a-cc59-47ae-a6a9-3af5621a4f641.gif)
![應(yīng)用SQL Server 2005安全管理策略_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/1d84d86a-cc59-47ae-a6a9-3af5621a4f64/1d84d86a-cc59-47ae-a6a9-3af5621a4f642.gif)
![應(yīng)用SQL Server 2005安全管理策略_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/1d84d86a-cc59-47ae-a6a9-3af5621a4f64/1d84d86a-cc59-47ae-a6a9-3af5621a4f643.gif)
![應(yīng)用SQL Server 2005安全管理策略_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/1d84d86a-cc59-47ae-a6a9-3af5621a4f64/1d84d86a-cc59-47ae-a6a9-3af5621a4f644.gif)
![應(yīng)用SQL Server 2005安全管理策略_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/1d84d86a-cc59-47ae-a6a9-3af5621a4f64/1d84d86a-cc59-47ae-a6a9-3af5621a4f645.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第8章 任務(wù)八 保證數(shù)據(jù)庫安全性_應(yīng)用SQL Server 2005安全管理策略任務(wù)熟練掌握如何注冊服務(wù)器,學(xué)習(xí)如何管理用戶、角色并授予相關(guān)權(quán)限。目標l 了解SQL Server 2005的安全機制l 掌握登錄名的創(chuàng)建與管理。l 掌握角色和用戶的創(chuàng)建與管理。l 了解數(shù)據(jù)控制語言對數(shù)據(jù)庫權(quán)限的控制。l 了解SQL Server 2005的安全管理模型8.1任務(wù)8-1 SQL Server 2005 安全機制任務(wù):了解SQL Server 2005的安全機制以及相關(guān)概念。就目前而言,絕大多數(shù)數(shù)據(jù)庫管理系統(tǒng)都還是在某一特定操作系統(tǒng)平臺下運行的應(yīng)用程序,SQL Server 2005也不例外,SQL
2、Server 2005的安全機制分為以下4個等級。l 客戶機操作系統(tǒng)的安全性。l SQL Server的登錄安全性。l 數(shù)據(jù)庫的使用安全性。l 數(shù)據(jù)庫對象的使用安全性。每個安全等級都好像一道門,如果門沒有上鎖,或者用戶就有開門的鑰匙,用戶就可以直接通過這道門,從而輕松的到達下個一個安全等級。如果通過了所有的門,則用戶就可以實現(xiàn)對數(shù)據(jù)庫的方問了。這種關(guān)系如圖8-1所示。圖8-1 SQL Server 2005的安全等級1操作系統(tǒng)的安全性在使用客戶計算機通過網(wǎng)絡(luò)實現(xiàn)對SQL Server服務(wù)器的訪問時,用戶要首先獲得客戶計算機操作系統(tǒng)的使用權(quán)。一般來說,能夠?qū)崿F(xiàn)網(wǎng)絡(luò)互聯(lián)的前提下,用戶沒有必要直接登
3、錄運行SQL Server 服務(wù)器的主機,除非SQL Server服務(wù)器就運行在本地計算機上。SQL Server 可以直接訪問網(wǎng)絡(luò)端口,所以可以實現(xiàn)對Windows NT安全機制以外的服務(wù)器及其數(shù)據(jù)庫的訪問。操作系統(tǒng)安全性是操作系統(tǒng)管理員或者網(wǎng)絡(luò)管理員的任務(wù)。由于SQL Server采用了集成Windows NT網(wǎng)絡(luò)安全機制,從而使得操作系統(tǒng)安全性的地位得到提高,但同時也加大了管理數(shù)據(jù)庫系統(tǒng)安全性和靈活性的難度。2SQL Server的安全性SQL Server的服務(wù)器級安全性建立在控制服務(wù)器登錄賬號和密碼的基礎(chǔ)之上。SQL Server采用了標準SQL Server登錄和集成Windows
4、 NT登錄兩種方式。無論使用哪種方式登錄,用戶在登錄時提供的登錄賬號和密碼,決定了用戶能否獲得SQL Server的訪問權(quán),以及在獲得訪問權(quán)以后,用戶在訪問SQL Server進程時可以擁有的權(quán)限。管理和設(shè)計合理的登錄方式是SQL Server安全機制中的第一道防線。SQL Server事先設(shè)計了許多固定服務(wù)器角色,擁有固定服務(wù)器角色的用戶可擁有服務(wù)器級的管理權(quán)限。3數(shù)據(jù)庫的安全性在用戶通過SQL Server服務(wù)器的安全性檢查后,將直接面對不同的數(shù)據(jù)庫入口。這是用戶將接受到的第三次安全性檢查。在建立用戶的登錄賬號信息時,SQL Server會提示用戶選擇默認的數(shù)據(jù)庫。以后用戶每次連接服務(wù)器后
5、,都會自動轉(zhuǎn)到默認的數(shù)據(jù)庫。對任何用戶來說,master數(shù)據(jù)庫總是打開的,如果在設(shè)置賬號時沒有指定默認數(shù)據(jù)庫,則用戶的權(quán)限將局限在master數(shù)據(jù)庫內(nèi)。但是由于master數(shù)據(jù)庫存儲了大量的系統(tǒng)信息,對系統(tǒng)的安全和穩(wěn)定起著至關(guān)重要的作用,所以建議用戶在建立新的登錄賬號時,最好不要將默認的數(shù)據(jù)庫設(shè)置為master數(shù)據(jù)庫,而是將默認數(shù)據(jù)庫設(shè)置在具有實際操作意義的數(shù)據(jù)庫上。默認的情況下,數(shù)據(jù)庫的擁有者(Owner)可以訪問該數(shù)據(jù)庫的對象,分配訪問權(quán)限給別的用戶,以便讓別的用戶也擁有針對該數(shù)據(jù)庫的訪問權(quán)限。4SQL Server數(shù)據(jù)庫對象的安全性數(shù)據(jù)庫對象的安全性是核查用戶權(quán)限的最后一道門。在創(chuàng)建數(shù)據(jù)
6、庫對象時,SQL Server自動把該數(shù)據(jù)庫對象的擁有權(quán)賦予該對象的創(chuàng)建者。對象的擁有者可以實現(xiàn)該對象的安全機制。默認情況下,只有數(shù)據(jù)庫的擁有者可以在該數(shù)據(jù)庫下進行操作。當一個非數(shù)據(jù)庫擁有者想訪問數(shù)據(jù)庫內(nèi)的對象時,必須事先由數(shù)據(jù)庫擁有者賦予用戶對指定對象執(zhí)行特定操作的權(quán)限。例如,一個用戶想訪問JXGL數(shù)據(jù)庫中的student_info表中的信息,則必須在成為數(shù)據(jù)庫用戶的前提下,獲得由JXGL數(shù)據(jù)庫擁有者(Owner)分配給的student_info表的訪問權(quán)限。8.2任務(wù)8-2 分析“高職院校教學(xué)管理系統(tǒng)”數(shù)據(jù)庫的安全要求任務(wù):分析“高職院校教學(xué)管理系統(tǒng)”數(shù)據(jù)庫的安全要求。由于實例數(shù)據(jù)庫是針對
7、高職院校的特點所設(shè)計和建立的,所以對其數(shù)據(jù)庫的安全要求也有其特殊的一面。下面從幾個個方面來說明:1. 系統(tǒng)用戶分析根據(jù)系統(tǒng)需求分析結(jié)果,本系統(tǒng)主要面向以下用戶:l 系統(tǒng)管理員:負責(zé)系統(tǒng)的日常維護。l 管理者:教務(wù)處的管理員,執(zhí)行該系統(tǒng)的大部分業(yè)務(wù)操作,涉及教師、學(xué)生、課程、教材、成績等信息的錄入、查詢、更新、匯總和審核。l 成績管理者:任課教師。對任課班級進行成績錄入、修改和查詢。l 查詢者:包括年級輔導(dǎo)員和學(xué)生。輔導(dǎo)員擁有擁有查詢所轄班級學(xué)生成績和基本信息的權(quán)限。學(xué)生只擁有查詢個人信息和成績的權(quán)限。2. 用戶安全性策略將用戶分為一般性用戶和終端用戶。(1) 一般用戶的安全性包括密碼的安全性和
8、用戶的權(quán)限管理。如果用戶是通過數(shù)據(jù)庫進行用戶身份的確認,最好使用密碼加密的方式與數(shù)據(jù)庫進行連接。尤其是對于一般性用戶說是十分必要的?;趯ο到y(tǒng)用戶的分析結(jié)果,對于用戶角色豐富的數(shù)據(jù)庫JXGL而言,應(yīng)充分利用數(shù)據(jù)庫“角色”這個機制對權(quán)限進行有效管理。對于復(fù)雜的系統(tǒng)環(huán)境,“角色”能大大地簡化權(quán)限的管理。(2) 終端用戶的安全性同時,還必須針對終端用戶制定安全性策略。對于擁有非常多用戶(尤其學(xué)生數(shù)量的巨大)的數(shù)據(jù)庫,安全性管理員可以決定用戶組分類,并為這些用戶組創(chuàng)建用戶角色,把所需的權(quán)限和應(yīng)用程序角色授予每一個用戶。3安全性策略 保護作為sys和system用戶的連接當數(shù)據(jù)庫創(chuàng)建好以后,立即更改有管
9、理權(quán)限的sys和system用戶的密碼,防止非法用戶訪問數(shù)據(jù)庫。 使用角色對管理員權(quán)限進行管理數(shù)據(jù)庫管理者對所有的用戶訪問權(quán)限進行分配,不同的用戶有不同的訪問權(quán)限。使得數(shù)據(jù)庫有一個良好的安全訪問機制,從而保證數(shù)據(jù)庫數(shù)據(jù)的安全。 數(shù)據(jù)庫的安全備份機制及時合理地對數(shù)據(jù)庫進行備份。(將在第12章介紹)8.3任務(wù)8-3管理SQL Server服務(wù)器安全任務(wù):了解SQL Server 2005的驗證登錄模式,登錄名的創(chuàng)建與管理,以及掌握對服務(wù)器角色的管理。 8.3.1 SQL Server 2005服務(wù)器的登錄模式1Windows身份驗證模式使用Windows操作系統(tǒng)本身提供的安全機制驗證用戶的身份。用
10、 Windows 身份驗證連接到 SQL Server 時,Windows 將完全負責(zé)對客戶端進行身份驗證,按其 Windows 用戶帳戶來識別客戶端。只要用戶能夠通過Windows 的用戶賬戶驗證,就可以連接到SQL Server。Windows身份驗證只能使用在能夠提供有效身份驗證的基于NT的Windows操作系統(tǒng),而在Windows 95/98或Windows Me中不能使用。Windows身份驗證的優(yōu)點是:l 由Windows系統(tǒng)管理員直接管理用戶賬號,方便管理。l Windows中提供了諸如:安全驗證和密碼加密、審核、密碼過期、密碼長度限制以及多次登錄失敗后自動鎖定賬戶等功能,大大提
11、高了安全性能。2 SQL Server身份驗證模式由SQL Server 通過將客戶端提供的用戶名和密碼與 SQL Server 中維護的有效用戶名和密碼列表進行比較,對客戶端進行身份驗證。該驗證模式下,使用復(fù)制或遠程數(shù)據(jù)訪問連接到 SQL Server 時,應(yīng)用程序必須提供相應(yīng)的 SQL Server 登錄名和密碼。當用戶使用指定的登錄賬號和密碼進行非信任連接時,SQL Server將檢測登錄賬號的存在性和密碼的匹配性,如果登錄賬號和密碼不正確,系統(tǒng)將拒絕用戶的登錄操作。8.3.2 創(chuàng)建與管理登錄名賬戶要進入SQL Server系統(tǒng)必須登錄,SQL Server在整個服務(wù)器范圍管理登錄。登錄
12、名即登錄數(shù)據(jù)庫服務(wù)器的賬戶,存儲在master數(shù)據(jù)庫的syslogins系統(tǒng)表中。1. 使用SQL Server Management Studio創(chuàng)建登錄名 (1) 啟動SQL SERVER MANAGEMENT STUDIO,在“對象資源管理器”窗口中展開 “安全性”節(jié)點,在列表中選擇“登錄名”,單擊鼠標右鍵,在彈出的快捷菜單中選擇“新建登錄名”命令,打開“登錄名-新建”對話框。(2) 在“登錄名-新建”對話框中的“選項頁”列表框中有五個選項:常規(guī)、服務(wù)器角色、用戶映射、安全對象及狀態(tài),如圖8-2所示其中“常規(guī)”選擇頁中各選項的含義:l 登錄名:輸入或選擇SQL Server登錄名。l W
13、indows身份驗證:選擇該單選按鈕,將對該登錄賬戶使用Windows身份驗證。l SQL Server身份驗證:選擇該單選按鈕,將對該登錄賬戶使用SQL Server身份驗證。圖8-2 新建登錄l 默認數(shù)據(jù)庫:為該登錄賬戶選擇默認打開的數(shù)據(jù)庫。l 默認語言:為該登錄賬戶選擇默認的語言。當選擇SQL Server身份驗證單選項后,會出現(xiàn)以下復(fù)選項:l 強制實施密碼策略: 對登錄賬戶強制實施密碼策略。是SQL Server身份驗證的默認設(shè)置。l 強制密碼過期: 對登錄賬戶強制實施密碼過期策略。選擇“強制實施密碼策略”后方能啟動此項。l 用戶在下次登錄時必須更改密碼:首次使用新登錄名時,SQL S
14、erver將提示用戶輸入新密碼。選擇“服務(wù)器角色” 選項,可向用戶授予服務(wù)器范圍內(nèi)的安全特性?!胺?wù)器角色”選項頁中提供的服務(wù)器角色的含義:l Bulkadmin:該成員能夠運行BULK INSERT語句。l dbcieator:該成員能夠創(chuàng)建、更改、刪除和還原任何數(shù)據(jù)庫。l diskadmin: 該成員能夠管理磁盤文件。l processadmin:該成員能夠終止在數(shù)據(jù)庫引擎實例中運行的進程。l securityadmin: 該成員能管理登錄名及其屬性。l serveradmin:該成員能夠更改服務(wù)器范圍的配置選項和關(guān)閉服務(wù)器。l setupadmin:該成員能夠添加和刪除鏈接服務(wù)器,并執(zhí)行
15、某些系統(tǒng)存儲過程。l sysadmin:該成員能夠在數(shù)據(jù)庫引擎中執(zhí)行任何活動。默認情況下,本地管理員組的所有成員都是sysadmin固定服務(wù)器角色的成員。選擇“用戶映射”選項,各選項的含義:l 映射:允許登錄名訪問列出的數(shù)據(jù)庫。l 默認架構(gòu):指定用戶的默認架構(gòu),初次創(chuàng)建用戶時,其默認架構(gòu)是dbo。l 已啟用Guest帳戶:只讀屬性,指示當前數(shù)據(jù)庫是否已啟用Guest賬戶。l 數(shù)據(jù)庫角色成員身份:選擇用戶在當前數(shù)據(jù)庫中的角色。在每個數(shù)據(jù)庫中,所有用戶都是public角色的成員并且不能被刪除。使用“安全對象”選項,能查看或設(shè)置數(shù)據(jù)庫安全對象的權(quán)限。單擊按鈕,將選項添加到“安全對象”列表框中,然后在
16、“顯示權(quán)限”列表框為其設(shè)置適當?shù)臋?quán)限。各選項的含義:l “安全對象”列表框:添加、刪除要設(shè)置權(quán)限的對象或主體。l “顯示權(quán)限”列表框:列出了“安全對象”列表框中所選安全對象的可能權(quán)限。選中或清除“授予”、“具有授予權(quán)限”和“拒絕”復(fù)選框?qū)@些權(quán)限進行配置。選擇“狀態(tài)”選項,能夠配置所選SQL Server登錄名的一些身份驗證和授權(quán)選項。2使用系統(tǒng)存儲過程sp_addlogin創(chuàng)建登錄名系統(tǒng)存儲過程sp_addlogin能夠創(chuàng)建新的登錄名,該登錄允許用戶使用SQL Server身份驗證連接到SQL Server實例。基本語法如下:sp_addlogin login_name,pawwwork,d
17、efault_database ,default_language圖8-3 創(chuàng)建登錄帳戶user01【例8-1】使用存儲過程“sp_addlogin”創(chuàng)建”,密碼為“001”,默認數(shù)據(jù)庫為“JXGL”。EXEC sp_addlogin user01,001, JXGLGO執(zhí)行以上代碼。刷新“登錄名”節(jié)點,在列表中會發(fā)現(xiàn)登錄帳戶“user01”已經(jīng)存在,如圖8-3所示。3. 管理登錄名(1)使用系統(tǒng)存儲過程“sp_password”添加或更改用戶密碼?;菊Z法如下:sp_password old_passwork,new_passwork,login_name 【例8-2】使用系統(tǒng)存儲過程“sp
18、_password”將登錄帳戶“user01”的密碼修改為“000”。sp_password 001,000,user01GO(2)使用系統(tǒng)存儲過程“sp_defaultdb”修改SQL Server登錄名的默認數(shù)據(jù)庫。基本語法如下:sp_defaultdb login_name ,new_default_database 【例8-3】使用系統(tǒng)存儲過程“sp_ defaultdb”將登錄帳戶“user01”的默認數(shù)據(jù)庫修改為“JXGL02”。sp_defaultdb user01, JXGL02(3)使用系統(tǒng)存儲過程sp_droplogin刪除登錄名。基本語法如下:sp_ droplogin
19、login_name 【例8-4】使用系統(tǒng)存儲過程“sp_droplogin” 刪除登錄帳戶“user01”。 sp_droplogin user018.3.3 服務(wù)器角色管理角色(role),是一組具有相近權(quán)限的登錄賬戶所構(gòu)成的組。當數(shù)據(jù)庫的很多賬戶的權(quán)限各不相同,單獨授權(quán)的話,不便于集中管理。而當權(quán)限改變時,管理員可能需要逐個修改權(quán)限。角色就是對登錄賬戶的集中管理機制,當若干個賬戶都被賦予同一個角色時,它們都繼承了該角色的權(quán)限,若角色的權(quán)限變更了,這些相關(guān)的賬戶權(quán)限都會發(fā)生變化。SQL Server 2005的角色分為:固定服務(wù)器角色、數(shù)據(jù)庫角色和應(yīng)用程序角色。登錄賬戶與服務(wù)器角色的關(guān)系類
20、似于Windows的用戶和組的。固定服務(wù)器角色在其作用域內(nèi)屬于服務(wù)器范圍,角色的每個成員都可以向其所屬角色添加登錄名。SQL Server 2005提供了如表8-1所示固定服務(wù)器角色。表8-1 固定服務(wù)器角色固定服務(wù)器角色描 述sysadmin能夠在SQL Server中執(zhí)行任何活動serveradmin能夠設(shè)置服務(wù)器范圍內(nèi)的配置選項,關(guān)閉服務(wù)器securityadminn安全管理員,可以管理登錄服務(wù)器權(quán)限setupadmin能夠添加和刪除鏈接在服務(wù)器,并且也可以執(zhí)行某些系統(tǒng)存儲過程processadmin管理在SQL Server中運行的進程dbcreator能夠創(chuàng)建、更改、刪除和還原任何數(shù)
21、據(jù)庫diskadmin能夠管理磁盤文件bulkadmin能夠執(zhí)行BULK INSERT語句圖8-4 顯示本在服務(wù)器角色1. 使用系統(tǒng)存儲過程sp_helpsrvrole瀏覽服務(wù)器角色sp_helpsrvrole srvrolename = role 【例8-5】使用sp_helpsrvrole存儲過程瀏覽本地服務(wù)器角色。 sp_helpsrvrole執(zhí)行以上代碼,結(jié)果如圖8-4所示。2. 添加固定服務(wù)器角色成員在“服務(wù)器角色”列表中雙擊“sysadmin”,彈出“服務(wù)器角色屬性_ sysadmin”對話框,單擊圖8-5 添加固定服務(wù)器角色成員按鈕,可添加一個登錄賬戶為固定服務(wù)器角色。也可以使用
22、系統(tǒng)存儲過程sp_addsrvrolemember添加登錄賬戶為固定服務(wù)器角色成員?!纠?-6】使用sp_addsrvrolemember將“user01 ”添加為固定服務(wù)器角色sysadmin的成員。 sp_addsrvrolemember user01,sysadmin執(zhí)行以上代碼,刷新“服務(wù)器角色”節(jié)點。再一次打開“服務(wù)器角色屬性_ sysadmin”對話框,在“角色成員”列表中發(fā)現(xiàn)user01已經(jīng)被添加在內(nèi),如圖8-5所示。3. 瀏覽固定服務(wù)器角色的權(quán)限使用系統(tǒng)存儲過程瀏覽固定服務(wù)器角色的權(quán)限?;菊Z法如下:sp_srvrolepermission srvrolename = role
23、 【例8-7】使用存儲過程sp_srvrolepermission顯示sysadmin角色的權(quán)限;使用存儲過程sp_srvrolepermission顯示所有固定服務(wù)器角色的權(quán)限。程序代碼如下:EXEC sp_srvrolepermission sysadmin -顯示sysadmin角色的權(quán)限EXEC sp_srvrolepermission -顯示所有固定服務(wù)器角色的權(quán)限任務(wù):SQL Server 2005數(shù)據(jù)庫架構(gòu)管理,掌握對用戶的創(chuàng)建和管理,對授權(quán)的認識,以及對數(shù)據(jù)庫角色的管理。8.4任務(wù)8-4 管理SQL Server數(shù)據(jù)庫安全 8.4.1 數(shù)據(jù)庫架構(gòu)管理架構(gòu)是形成單個命名空間的數(shù)據(jù)
24、庫實體的集合,屬性數(shù)據(jù)庫級的安全對象。在SQL Server 2005之前,每個對象都是被用戶所擁有的,如果用戶離開了,就意味著需要將該用戶賬戶擁有的所有對象的權(quán)限轉(zhuǎn)換到新的賬戶上。在SQL Server 2005中,對象被架構(gòu)所擁有,而架構(gòu)同時被用戶所擁有,這樣轉(zhuǎn)移權(quán)限就會變得容易和快捷。在數(shù)據(jù)庫JXGL下,展開“安全性”節(jié)點,選擇“架構(gòu)”,單擊鼠標右鍵,在彈出的快捷菜單中選擇“新建架構(gòu)”命令,打開“架構(gòu)-新建”對話框。在架構(gòu)名稱文本框內(nèi)輸入“JCGL2”,在架構(gòu)所有者文本框中輸入“db_owner”。如圖8-6所示。圖8-6 新建數(shù)據(jù)庫架構(gòu)點擊“權(quán)限”選項頁,添加相應(yīng)的角色和選擇賦予這個角
25、色的權(quán)限,如圖8-7所示。圖8-7 設(shè)置架構(gòu)權(quán)限選項點擊按鈕完成對,完成數(shù)據(jù)庫架構(gòu)的添加。刷新“架構(gòu)”節(jié)點,在列表中發(fā)現(xiàn)新的架構(gòu)“JCGL1”。8.4.2 數(shù)據(jù)庫用戶管理數(shù)據(jù)庫用戶也是一個數(shù)據(jù)庫級的安全對象。用戶使用登錄名登錄后,要想訪問某數(shù)據(jù)庫對象,需要對該數(shù)據(jù)庫對象擁有相應(yīng)的權(quán)限,而登錄名本身并不提供訪問數(shù)據(jù)庫對象的用戶權(quán)限。在SQL Server 2005中,登錄名和數(shù)據(jù)庫用戶是SQL Server 進行權(quán)限管理的兩個不同的對象。一個登錄名可以與服務(wù)器上的所有數(shù)據(jù)庫進行關(guān)聯(lián),而數(shù)據(jù)庫用戶是一個登錄名在某個數(shù)據(jù)庫用戶中的映射,即,一個登錄名可以映射到不同的數(shù)據(jù)庫,產(chǎn)生多個數(shù)據(jù)庫用戶,而一個
26、數(shù)據(jù)庫用戶只能映射到一個登錄名。一個登錄名必須與每個數(shù)據(jù)庫中的一個數(shù)據(jù)庫用戶ID關(guān)聯(lián)后,用這個ID連接的用戶都有訪問數(shù)據(jù)庫中的對象。反之,定義數(shù)據(jù)庫用戶ID時,必須與一個登錄名關(guān)聯(lián)。1. 使用SQL Server Management Studio管理數(shù)據(jù)庫用戶在數(shù)據(jù)庫JXGL下,展開“安全性”節(jié)點,在列表中選擇“用戶”,單擊鼠標右鍵,在彈出的快捷菜單中選擇“新建用戶”命令。打開“數(shù)據(jù)庫用戶-新建”對話框,進行如圖8-8所示的各項設(shè)置。其中幾個選項的含義:l 用戶名:為所選登錄名輸入用戶名。l 登錄名:創(chuàng)建新用戶時,從列表中選擇一個登錄名。如果對現(xiàn)有用戶進行編輯,則不能更改此項。l 無登錄名:
27、指示登錄名是使用WITHOUT LOGIN子句創(chuàng)建的。l 默認架構(gòu):除非另行指定,否則指定該用戶所創(chuàng)建對象所屬的架構(gòu)。l 此用戶擁有架構(gòu):在此選擇或查看該用戶擁有的架構(gòu)。l 數(shù)據(jù)庫角色成員身份:從可用的數(shù)據(jù)庫角色列表中為數(shù)據(jù)庫用戶選擇數(shù)據(jù)庫角色成員身份。圖8-8 新建數(shù)據(jù)庫用戶選擇某數(shù)據(jù)庫用戶,單擊鼠標右鍵,在彈出的快捷菜單中選擇“刪除”命令,可刪除所選數(shù)據(jù)庫用戶。2. 使用T-SQL語句管理數(shù)據(jù)庫用戶使用CREATE USER 語句創(chuàng)建數(shù)據(jù)庫用戶,并與指定登錄名相關(guān)聯(lián)?;菊Z法如下:CREATE USER db_user_name FORLOGIN login_name | WITHOUT
28、LOGIN【例8-7】 創(chuàng)建數(shù)據(jù)庫用戶名為“user02”,與登錄賬戶“user01”相關(guān)聯(lián)。CREATE USER user02 FOR LOGIN user01使用ALTER USER 語句修改數(shù)據(jù)庫用戶。基本語法如下:ALTER USER db_user_name WITH 【例8-8】 將數(shù)據(jù)庫用戶“user02”的名稱修改為“user03”。ALTER USER user02 WITH name=user03使用DROP USER 語句可刪除數(shù)據(jù)庫用戶。8.4.3 數(shù)據(jù)庫角色管理如同SQL Server登錄名隸屬于某個數(shù)據(jù)庫角色一樣,數(shù)據(jù)庫用戶也總是歸屬于某個數(shù)據(jù)庫角色。數(shù)據(jù)庫角色是
29、在數(shù)據(jù)庫級的安全對象,存在于每個數(shù)據(jù)庫中。SQLerver 2005提供了10個固定數(shù)據(jù)庫角色,如表8-2所示。表8-2 固定數(shù)據(jù)庫角色固定數(shù)據(jù)庫角色描 述db_owner數(shù)據(jù)庫的所有者,能夠執(zhí)行數(shù)據(jù)庫得所有管理操作db_accessadmin能夠添加或刪除用戶db_securityadmin執(zhí)行語句及對象權(quán)限管理db_ddladmin能夠增加、修改或刪除數(shù)據(jù)庫中的對象db_backupoperator能夠執(zhí)行數(shù)據(jù)庫備份和恢復(fù)db_datareader能夠讀取用戶表中的所有數(shù)據(jù)db_datawrite能夠更改用戶表中得所有數(shù)據(jù)db_denydatareader禁止用戶查看用戶表中的數(shù)據(jù)db_d
30、enydatawriter禁止修改任意用戶表中的數(shù)據(jù)1. 使用SQL Server Management Studio創(chuàng)建數(shù)據(jù)庫角色數(shù)據(jù)庫角色是針對某一具體的數(shù)據(jù)庫而言的,其作用域為該數(shù)據(jù)庫范圍。【例8-11】在SQL Server Management Studio中向“JXGL”數(shù)據(jù)庫中添加數(shù)據(jù)庫角色teacher。(2) 啟動SQL Server Management Studio,在“對象資源管理器”窗口中展開節(jié)點“安全性”、“角色”,在角色列表中選擇“數(shù)據(jù)庫角色”,單擊鼠標右鍵,在彈出的快捷菜單中選擇“新建數(shù)據(jù)庫角色”命令,打開“新建數(shù)據(jù)庫角色”對話框。設(shè)置角色各選項值如圖8-9所示
31、。圖8-9 數(shù)據(jù)庫角色“常規(guī)”項l 所有者:顯示數(shù)據(jù)庫角色的所有者。l 此角色的成員:從可用的數(shù)據(jù)庫用戶的列表中選擇角色的成員身份。(2) 根據(jù)需要,設(shè)置“安全對象”及“擴展屬性”中的相關(guān)選項。2. 使用T-SQL語句創(chuàng)建與管理數(shù)據(jù)庫角色(1)添加數(shù)據(jù)庫角色使用系統(tǒng)存儲過程sp_addrole 能夠為當前數(shù)據(jù)庫創(chuàng)建一個新的數(shù)據(jù)庫角色?;菊Z法如下:sp_addroledb_role_name,db_role_name_owner【例8-12】向數(shù)據(jù)庫JXGL中添加名為“student1”的新數(shù)據(jù)庫角色。USE JXGLGOEXEC sp_addrole student1 (2) 刪除數(shù)據(jù)庫角色
32、使用系統(tǒng)存儲過程sp_droprol”刪除當前數(shù)據(jù)庫中的角色?;菊Z法如下:sp_droprole db_role_name注意:首先應(yīng)該刪除數(shù)據(jù)庫角色的所有成員,然后才能刪除該數(shù)據(jù)庫角色。不能在用戶定義的事務(wù)內(nèi)執(zhí)行sp_droprole。 (3)添加數(shù)據(jù)庫角色成員使用系統(tǒng)存儲過程sp_addrolemember添加數(shù)據(jù)庫角色成員。基本語法如下:sp_addrolemember db_role_name,db_user_name(4)刪除數(shù)據(jù)庫角色成員使用系統(tǒng)存儲過程sp_droprolemembe刪除數(shù)據(jù)庫角色成員?;菊Z法如下:sp_droprolememberdb_role_name,d
33、b_user_name8.4.4 授權(quán)管理權(quán)限用來指定用戶可以使用的數(shù)據(jù)庫對象及對這些數(shù)據(jù)庫對象執(zhí)行的操作。用戶登錄到SQL erver服務(wù)器后,若要進行任何涉及更改數(shù)據(jù)庫定義或訪問數(shù)據(jù)庫的操作,必須擁有相應(yīng)的權(quán)限,而用戶賬戶所歸屬的NT組或角色所被賦予的權(quán)限,決定了該用戶能夠?qū)δ男?shù)據(jù)庫對象執(zhí)行哪些操作(查詢、輸入、修改、刪除)。在SQL Server 2005中,包括三種權(quán)限:默認權(quán)限、對象權(quán)限和語句權(quán)限。 默認權(quán)限系統(tǒng)安裝以后,固定服務(wù)器角色、固定數(shù)據(jù)庫角色、數(shù)據(jù)庫對象所有者具有的默認權(quán)限。 對象權(quán)限是基于數(shù)據(jù)庫訪問層的訪問和操作權(quán)限。這些對象包括表、視圖、列和存儲過程。常用的對象權(quán)限包
34、括SELECT、INSERT、UPDATE、DELETE和EXECUTE,其中EXECUTE用于存儲過程,其他幾個權(quán)限用于表和視圖。 語句權(quán)限 是用戶能否對數(shù)據(jù)庫和數(shù)據(jù)庫對象進行操作,語句權(quán)限應(yīng)用于語句本身,而不是數(shù)據(jù)庫對象。當用戶獲得了某個語句的權(quán)限,也就具有了執(zhí)行該語句的權(quán)力。要進行語句權(quán)限授予的語句如表8-3所示。表8-3 授予權(quán)限的語句序 號語 句權(quán) 限 含 義1CREATE DATABASE允許用戶創(chuàng)建數(shù)據(jù)庫2DREATE TABLE允許用戶創(chuàng)建表3CREATE VIEW允許用戶創(chuàng)建視圖4CREATE RULE允許用戶創(chuàng)建規(guī)則5CREATE DEFAULT允許用戶創(chuàng)建默認對象6CRE
35、ATE PROCEDURE允許用戶創(chuàng)建存儲過程7CREATE FUNCTION允許用戶創(chuàng)建用戶自定義函數(shù)8BACKUP DATABASE允許用戶備份數(shù)據(jù)庫9BACKUP LOG允許用戶備份事務(wù)日志1. 授予權(quán)限使用GRANT語句授予權(quán)限?;菊Z法如下:GRANT ON TO 其中:l Permission:可以是相應(yīng)對象的有效權(quán)限的組合,可以使用關(guān)鍵字ALL(所有權(quán)限)代替權(quán)限組合。l Object:被授權(quán)的對象,可以是表、視圖、列或存儲過程。【例8-9】為用戶“user03”授予CREATE TABLE語句權(quán)限。GRANT CREATE TABLE TO user032. 撤銷授權(quán)使用REV
36、OKE語句可撤銷已授權(quán)的權(quán)限,其語法結(jié)構(gòu)與GRANT相似。3禁止授權(quán)使用DENY語句可防止主體通過GRANT獲得特定權(quán)限,其語法結(jié)構(gòu)與GRANT相似。 【例8-10】撤銷為用戶“use03”授予查詢學(xué)生信息的權(quán)限,禁止用戶“user03”對學(xué)生信息的特定權(quán)限。USE JXGLGOGRANT SELECT ON student_info TO user03GODENY SELECT,INSERT,UPDATE,DELETE ON student_info TO user03GO任務(wù):充分的了解和認識SQL Server 2005的安全管理模型。8.5任務(wù)8-5 SQL Server 2005的安
37、全管理模型由于多種原因,進行安全設(shè)置的用戶常常不理解數(shù)據(jù)的真正價值,所以,也無法對數(shù)據(jù)進行合適的保護。將數(shù)據(jù)只限于需要的人訪問,并保證訪問的人的合法性,是一個數(shù)據(jù)庫管理人員的重要工作。在SQL Server中的安全管理模型是基于Windows安全模型實現(xiàn)的,如圖8-10所示。圖8-10 第一種安全模式圖8-11 第二種安全模式使用角色來分配對象權(quán)限時,仍需要使用建議的方法為各個用戶授予對服務(wù)器和數(shù)據(jù)庫的訪問權(quán)限。步驟到步驟與圖8-13中基本相同,不同的只是可能不必創(chuàng)建多個 Windows 全局組和本地組。步驟:將各個Windows賬戶和Windows組分配給某個角色。步驟:為角色分配對象訪問權(quán)
38、限。使用角色,通過在SQL Server內(nèi)組織用戶而減少了在Windows內(nèi)組織用戶的需要。8.6知識進階8.6.1 登錄管理、用戶管理、角色管理與權(quán)限管理的比較1.登錄管理登錄管理是定義在數(shù)據(jù)庫服務(wù)器級的安全對象,主要是增加新的登錄名。登錄名是基于服務(wù)器使用的用戶名,既可以創(chuàng)建基于Windows組或用戶賬號的登錄賬號,也可以創(chuàng)建SQL Server自己的登錄賬號。2.用戶管理用戶管理是針對一個具體的數(shù)據(jù)庫來說的數(shù)據(jù)庫級安全對象。在實現(xiàn)數(shù)據(jù)庫安全登錄后,檢驗用戶權(quán)限的下一步就是數(shù)據(jù)庫的訪問權(quán)。而數(shù)據(jù)庫的訪問權(quán)是通過映射數(shù)據(jù)庫的用戶和登錄賬戶之間的關(guān)系來實現(xiàn)的。一個登錄賬戶在不同的數(shù)據(jù)庫中可以映射成不同得數(shù)據(jù)庫用戶,從而可以具有不同的權(quán)限。這種映射關(guān)系即數(shù)據(jù)庫用戶的管理為同一服務(wù)器上不同數(shù)據(jù)庫權(quán)限管理提供了最大的靈活性。3.角色管理角色是SQL Server引進的用來集中管理數(shù)據(jù)庫和服務(wù)器權(quán)限的概念。數(shù)據(jù)庫管理員(DBA)操作數(shù)據(jù)庫的權(quán)限賦予角色,然后再將角色賦給數(shù)據(jù)庫用戶或者登錄的賬戶,從而使數(shù)據(jù)庫用戶或登錄賬戶有相應(yīng)的權(quán)限。在SQL Server中既包含服務(wù)器角色又包含數(shù)據(jù)庫角色。l 服務(wù)器角色:主要于在用戶登錄時授予的在服務(wù)器范圍內(nèi)的安全特權(quán)。l 數(shù)據(jù)庫角色:能為某一用戶授予不同級別的管理或訪問數(shù)據(jù)庫及其對象得權(quán)限。由于角色管理的應(yīng)用,
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代企業(yè)在教育培訓(xùn)領(lǐng)域的文化推廣
- 現(xiàn)代建筑設(shè)計的科技融合與創(chuàng)新路徑
- 《第2課 小發(fā)明 大天地 2 發(fā)明有方法》(說課稿)-2023-2024學(xué)年五年級上冊綜合實踐活動安徽大學(xué)版
- 2024學(xué)年高中地理 4.2全球氣候變化對人類活動的影響說課稿 湘教版必修1
- 2023六年級數(shù)學(xué)上冊 三 布藝興趣小組-分數(shù)除法信息窗2 整數(shù)除以分數(shù)的計算方法說課稿 青島版六三制
- 現(xiàn)代建筑內(nèi)外部裝飾裝修施工技術(shù)研究
- 火災(zāi)風(fēng)險評估與老舊小區(qū)消防安全
- 2023九年級數(shù)學(xué)上冊 第2章 一元二次方程2.5 一元二次方程的應(yīng)用第1課時 增長(降低)率問題說課稿 (新版)湘教版
- 環(huán)??萍纪苿泳G色產(chǎn)業(yè)升級的引擎
- 物聯(lián)網(wǎng)與大數(shù)據(jù)解鎖智能家居的潛力與挑戰(zhàn)
- 2024年全國高考新課標卷物理真題(含答案)
- 生鮮超市未來工作計劃
- 勞動合同薪酬與績效約定書
- 消除醫(yī)療歧視管理制度
- 柴油機油-標準
- 足療店營銷策劃方案
- 《初三開學(xué)第一課 中考動員會 中考沖刺班會》課件
- 學(xué)校安全一崗雙責(zé)
- 2024年全國版圖知識競賽(小學(xué)組)考試題庫大全(含答案)
- 產(chǎn)后修復(fù)學(xué)習(xí)培訓(xùn)課件
- 高考志愿咨詢培訓(xùn)課件
評論
0/150
提交評論