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

下載本文檔

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

文檔簡介

第10章

安全與權(quán)限本章學習目標了解SQLServer2005登錄驗證模式掌握管理兩類SQLServer2005登錄帳戶的方法掌握管理SQLServer2005數(shù)據(jù)庫用戶的方法了解基于角色的權(quán)限管理掌握管理服務器角色的方法掌握管理數(shù)據(jù)庫角色的方法掌握管理權(quán)限的方法10.1SQLServer2005的安全機制SQLServer2005數(shù)據(jù)庫的安全性通過以下幾個方面得以保證:網(wǎng)絡系統(tǒng)的安全性:這可以通過在網(wǎng)絡系統(tǒng)邊界安裝防火墻系統(tǒng)得以實施。服務器的安全性:即保證運行SQLServer2005的服務器本身及其操作系統(tǒng)的安全。SQLServer2005的登錄安全性:即允許哪些用戶登錄SQLServer服務器。數(shù)據(jù)庫的安全性:即規(guī)定用戶登錄SQLServer服務器以后可以使用哪些數(shù)據(jù)庫。數(shù)據(jù)庫對象的安全性:即規(guī)定用戶打開某一數(shù)據(jù)庫后,可以操作哪些數(shù)據(jù)庫對象以及怎樣操作。10.1.1SQLServer2005登錄身份驗證模式SQLServer2005登錄身份驗證用來確認該用戶是否具有連接SQLServer的權(quán)限。任何用戶在使用SQLServer數(shù)據(jù)庫之前,必須通過系統(tǒng)的安全身份驗證。SQLServer2005提供了兩種確認用戶的驗證模式:Windows身份驗證模式SQLServer和Windows身份驗證模式10.1.1SQLServer2005登錄身份驗證模式1.Windows身份驗證用戶通過MicrosoftWindows用戶帳戶連接時,SQLServer使用Windows操作系統(tǒng)中的信息驗證帳戶名和密碼。這是默認的身份驗證模式,它比混合模式要安全得多,如果可能,請使用Windows身份驗證。10.1.1SQLServer2005登錄身份驗證模式2.SQLServer和Windows身份驗證模式(又稱為混合模式)使用混合模式時,無論是使用Windows身份驗證方式的用戶,還是使用SQLServer身份驗證方式的用戶,都可以連接到SQLServer系統(tǒng)上。使用混合模式中的SQLServer身份驗證方式時,系統(tǒng)管理員創(chuàng)建一個登錄賬號和口令,并將它們存儲在SQLServer中,當用戶連接到SQLServer上時,必須提供SQLServer登錄賬號和口令。

SQLServer密碼可包含1到128個字符,包括字母、符號和數(shù)字的任意組合。10.1.1SQLServer2005登錄身份驗證模式當采用Windows身份驗證模式時,密碼長度必須多于8個字符。強密碼不能使用禁止的條件或字詞,包括:空條件或NULL條件、“Password”、“Admin”、“Administrator”、“sa”、“sysadmin”、當前計算機的名稱、當前登錄到計算機上的用戶的名稱。并且要滿足下列四個條件中的三個:必須包含大寫字母。必須包含小寫字母。必須包含數(shù)字。必須包含非字母數(shù)字字符;例如,#、%或^。10.1.1SQLServer2005登錄身份驗證模式SQLServer2005安裝成功后,默認的身份驗證模式是“Windows身份驗證模式”,利用SQLServer管理控制臺可以重新設置身份驗證模式。方法如下:打開SQLServer管理控制臺,右擊SQLServer服務器名稱,在彈出的快捷菜單中選擇“屬性”選項。會打開“服務器屬性”對話框。在窗口左端選擇“安全性”選擇頁。10.1.1SQLServer2005登錄身份驗證模式根據(jù)需要單擊“服務器身份驗證”下面對應的“Windows身份驗證模式”或“SQLServer和Windows身份驗證模式”單選按鈕,并單擊“確定”按鈕。打開SQLServer配置管理器,單擊窗口左邊的“SQLServer2005服務”,在窗口右邊找到“SQLServer服務”,并重新啟動它。10.1.2SQLServer數(shù)據(jù)庫的安全性用戶成功登錄SQLServer服務器后,并不自動擁有對所有數(shù)據(jù)庫的訪問權(quán)限。用戶必須在想要訪問的數(shù)據(jù)庫中也有一個與登錄帳戶相對應的數(shù)據(jù)庫帳戶。當需要訪問某個數(shù)據(jù)庫時,SQLServer的安全系統(tǒng)會根據(jù)這個數(shù)據(jù)庫帳戶的權(quán)限決定是否允許用戶訪問該數(shù)據(jù)庫。10.1.3SQLServer數(shù)據(jù)庫對象的

安全性在創(chuàng)建一個數(shù)據(jù)庫對象時,創(chuàng)建者將自動擁有對該數(shù)據(jù)庫對象的所有權(quán)限,即可以完全控制該對象。當一個非數(shù)據(jù)庫擁有者想要訪問數(shù)據(jù)庫中的對象時,必須事先由數(shù)據(jù)庫擁有者賦予該用戶對指定對象的操作權(quán)限。10.2管理服務器的安全性10.2.1SQLServer登錄帳戶在SQLServer2005的SQLServer管理控制臺的樹形目錄中展開服務器下的“安全性”,選擇“登錄名”,可以查看當前該服務器所有的登錄帳戶信息。SQLServer2005服務器在安裝成功后,已經(jīng)自動創(chuàng)建了一些登錄帳戶。sa帳戶:給SQLServer2005系統(tǒng)管理員使用的,它是一個特殊的帳戶,該帳戶擁有最高的管理權(quán)限,可以執(zhí)行服務器范圍內(nèi)的所有操作。為了安全起見,sa帳戶在默認情況下是禁用的?!癇UILTIN\Administrators”帳戶:是為Windows系統(tǒng)管理員管理SQLServer2005服務器而提供的,它也可以執(zhí)行服務器范圍內(nèi)的所有操作。10.2.2添加登錄帳戶1.使用SQLServer管理控制臺添加登錄帳戶(1)在SQLServer管理控制臺中,展開SQLServer服務器組中相應服務器。(2)右擊“安全性|登錄名”,選擇“新建登錄名”,會打開“登錄名-新建”對話框。(3)根據(jù)所要創(chuàng)建的登錄帳戶的類型選擇相應的身份驗證類型單選按鈕。10.2.2添加登錄帳戶

1.將Windows賬號添加到SQLServer中(1)在SQLServer管理控制臺的“對象資源管理器”中,中,展開SQLServer服務器組中相應服務器。(2)右擊“安全性|登錄名”,選擇“新建登錄名”,會打開“登錄名-新建”對話框。(3)根據(jù)所要創(chuàng)建的登錄帳戶的類型選擇“Windows身份驗證”類型單選按鈕。圖15-6新建登錄名對話框單擊“查找”按鈕,出現(xiàn)如圖15-7所示的對話框,將Windows賬號添加到SQLServer中。單擊“OK”按鈕,即完成了登錄名的創(chuàng)建。圖15-7選擇Windows用戶或組2.新建SQLServer賬號

(1)在SQLServer管理控制臺的“對象資源管理器”中,中,展開SQLServer服務器組中相應服務器。(2)右擊“安全性|登錄名”,選擇“新建登錄名”,會打開“登錄名-新建”對話框。(3)根據(jù)所要創(chuàng)建的登錄帳戶的類型選擇“SQLServer身份驗證”類型單選按鈕。在“登陸名”文本框中,輸入新的SQLServer賬號名,在“密碼”和“確認密碼”中,輸入登錄名對應的密碼。單擊“OK”按鈕,完成登錄名的創(chuàng)建。

2.使用Transact-SQL語句添加登錄帳戶(1)將Windows賬號添加到SQLServer中sp_grantlogin:使WindowsNT用戶或組帳戶得以使用Windows身份驗證連接到MicrosoftSQLServer。語法:sp_grantlogin[@loginame=]'login'參數(shù):[@loginame=]‘login’

是要添加的WindowsNT用戶或組的名稱。WindowsNT組和用戶必須用WindowsNT域名限定,格式為“域\用戶",例如London\Joeb。10.2.2添加登錄帳戶例1:使WindowsNT用戶Corporate\BobJ

得以連接到SQLServer。EXECsp_grantlogin'Corporate\BobJ'10.2.2添加登錄帳戶(2)可以使用CREATELOGIN語句新建SQLServer

登錄帳戶。CREATELOGINlogin_name{WITH<option_list1>|FROM<sources>}<sources>::=WINDOWS[WITH<windows_options>[,...]]<option_list1>::=PASSWORD='password'[HASHED][MUST_CHANGE][,<option_list2>[,...]]10.2.2添加登錄帳戶<option_list2>::=DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language|CHECK_EXPIRATION={ON|OFF}|CHECK_POLICY={ON|OFF}<windows_options>::=DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language10.2.2添加登錄帳戶其中的參數(shù)說明如下:login_name:指定創(chuàng)建的登錄名。WINDOWS:指定將登錄名映射到Windows登錄名。PASSWORD='password':僅適用于SQLServer登錄名。指定正在創(chuàng)建的登錄名的密碼。HASHED:僅適用于SQLServer登錄名。指定在PASSWORD參數(shù)后輸入的密碼已經(jīng)過哈希運算。10.2.2添加登錄帳戶MUST_CHANGE:僅適用于SQLServer登錄名。SQLServer將在首次使用新登錄名時提示用戶輸入新密碼。DEFAULT_DATABASE=database:指定將指派給登錄名的默認數(shù)據(jù)庫。如果未包括此選項,則默認數(shù)據(jù)庫將設置為master。DEFAULT_LANGUAGE=language:指定將指派給登錄名的默認語言。10.2.2添加登錄帳戶例:創(chuàng)建一個SQLServer登錄帳戶USER1,密碼為Abc123#$。CREATELOGINuser1

WITH

PASSWORD=‘Abc123#$'10.2.3修改登錄帳戶屬性使用SQLServer管理控制臺修改登錄帳戶屬性,只需雙擊要修改屬性的登錄帳戶,并在登錄屬性對話框中進行修改即可。注意:對于SQLServer帳戶,可以修改其密碼。對于Windows帳戶,只能使用Windows的“計算機管理器”或“域用戶管理器”修改帳戶密碼。10.2.4拒絕或禁用登錄帳戶有時可能需要暫時拒絕或禁用一個登錄帳戶連接到SQLServer服務器,過一段時間后再恢復。使用SQLServer管理控制臺拒絕登錄帳戶的步驟如下:(1)在SQLServer管理控制臺中,展開SQLServer服務器組中相應服務器。(2)選擇“安全性|登錄名”,雙擊要拒絕訪問的登錄帳戶,打開登錄屬性對話框。(3)選擇“狀態(tài)”選擇頁,并選中“拒絕”或“禁用”單選按鈕。(4)單擊“確定”按鈕。10.2.5刪除登錄帳戶1.使用SQLServer管理控制臺刪除登錄帳戶(1)在SQLServer管理控制臺中,展開SQLServer服務器組中相應服務器。(2)選擇“安全性|登錄名”,在右側(cè)窗口的登錄帳戶列表中右擊要刪除的帳戶,從彈出的快捷菜單中選擇“刪除”選項。10.2.5刪除登錄帳戶2.使用Transact-SQL語句刪除登錄帳戶(1)使用DROPLOGIN刪除SQLServer登錄帳戶語法形式如下:DROPLOGINlogin_name其中l(wèi)ogin_name是要刪除的登錄名。例:刪除SQLServer帳戶USER1。(2)刪除windows登錄賬號

sp_revokelogin用來刪除NT用戶或用戶組在SQLSERVER上的登錄信息語法:

sp_revokelogin[@loginname=]‘login’參數(shù):

[@loginame=]‘login’:是WindowsNT用戶或組的名稱。例:刪除WindowsNT用戶Corporate\MollyA

的登錄條目。

EXECsp_revokelogin'Corporate\BobJ'(3)刪除SQLServer登陸帳戶

sp_droplogin:刪除MicrosoftSQLServer登錄,以阻止使用該登錄名訪問SQLServer。語法:

sp_droplogin[@loginame=]'login'參數(shù):

[@loginame=]‘login’:將被刪除的登錄。例5:從SQLServer中刪除用戶

student。

EXECsp_droplogin‘student'

10.2.6服務器角色SQLServer管理者可以將某一組用戶設置為某一角色,這樣只要對角色進行權(quán)限設置便可以實現(xiàn)對所有用戶權(quán)限的設置,大大減少了管理員的工作量。SQLServer提供了通常管理工作的預定義服務器角色和數(shù)據(jù)庫角色。用戶還可以創(chuàng)建自己的數(shù)據(jù)庫角色。10.2.6服務器角色服務器角色是指根據(jù)SQLServer的管理任務,以及這些任務相對的重要性等級來把具有SQLServer管理職能的用戶劃分為不同的用戶組,每一組所具有的管理SQLServer的權(quán)限都是SQLServer內(nèi)置的,即不能對其進行添加、修改和刪除,只能向其中加入用戶或者其他角色。10.2.6服務器角色固定服務器角色描述bulkadmin允許非sysadmin用戶運行BULKINSERT語句dbcreator創(chuàng)建、更改、刪除和還原任何數(shù)據(jù)庫diskadmin管理磁盤文件processadmin終止SQLServer實例中運行的進程securityadmin管理登錄名及其屬性serveradmin更改服務器范圍的配置選項和關(guān)閉服務器setupadmin添加和刪除鏈接的服務器,并且也可以執(zhí)行某些系統(tǒng)存儲過程sysadmin在服務器中執(zhí)行任何活動10.2.6服務器角色使用SQLServer管理控制臺更改服務器角色成員的步驟如下:(1)在SQLServer管理控制臺中,展開SQLServer服務器組中相應服務器。(2)選擇“安全性|服務器角色”,雙擊右側(cè)窗口的服務器角色列表中要更改的服務器角色,將彈出“服務器角色屬性”對話框,其中顯示出當前服務器角色成員列表。10.3管理數(shù)據(jù)庫的用戶一臺服務器除了有一套服務器登錄帳戶列表外,每個數(shù)據(jù)庫中也都有一套相互獨立的數(shù)據(jù)庫用戶列表。每個數(shù)據(jù)庫用戶都和服務器登錄帳戶之間存在著一種映射關(guān)系。系統(tǒng)管理員可以將一個服務器登錄帳戶映射到用戶需要訪問的每一個數(shù)據(jù)庫中的一個用戶帳戶和角色上。一個登錄帳戶在不同的數(shù)據(jù)庫中可以映射成不同的用戶,從而擁有不同的權(quán)限。10.3管理數(shù)據(jù)庫的用戶在SQLServer中,每個數(shù)據(jù)庫一般都有兩個默認的用戶:dbo和guest。dbo代表數(shù)據(jù)庫的擁有者。例如,sysadmin服務器角色的成員被自動映射成dbo。Guest用戶主要是讓那些沒有屬于自己的用戶帳戶的SQLServer登錄者作為其默認的用戶,從而使該登錄者能夠訪問具有g(shù)uest用戶的數(shù)據(jù)庫。不能刪除guest用戶,但可通過撤消該用戶的CONNECT權(quán)限將其禁用。10.3管理數(shù)據(jù)庫的用戶在SQLServer管理控制臺中,展開SQLServer服務器組中相應服務器,在“數(shù)據(jù)庫”目錄樹中,選擇某個數(shù)據(jù)庫名稱下面包含的“安全性|用戶”,可以在右側(cè)窗口中看到該數(shù)據(jù)庫的所有用戶。10.3.1添加數(shù)據(jù)庫用戶1.使用SQLServer管理控制臺添加數(shù)據(jù)庫用戶(1)在SQLServer管理控制臺中,展開SQLServer服務器組中相應服務器。(2)展開“數(shù)據(jù)庫”目錄樹,再展開待添加用戶的數(shù)據(jù)庫,右擊“安全性|用戶”,在彈出的快捷菜單中選擇“新建用戶”選項。將彈出“數(shù)據(jù)庫用戶-新建”對話框。10.3.1添加數(shù)據(jù)庫用戶2.使用Transact-SQL語句添加數(shù)據(jù)庫用戶可以使用CREATEUSER添加數(shù)據(jù)庫用戶,其基本語法形式如下:CREATEUSERuser_name[{FOR|FROM}

{LOGINlogin_name}|WITHOUTLOGIN][WITHDEFAULT_SCHEMA=schema_name]10.3.1添加數(shù)據(jù)庫用戶參數(shù)說明如下:user_name:指定在此數(shù)據(jù)庫中用于識別該用戶的名稱。user_name的長度最多是128個字符。LOGINlogin_name:指定要創(chuàng)建數(shù)據(jù)庫用戶的SQLServer登錄名。login_name必須是服務器中有效的登錄名。WITHDEFAULT_SCHEMA=schema_name:指定服務器為此數(shù)據(jù)庫用戶解析對象名時將搜索的第一個架構(gòu)。WITHOUTLOGIN:指定不應將用戶映射到現(xiàn)有登錄名。10.3.1添加數(shù)據(jù)庫用戶例10-3-1:在STUDENT數(shù)據(jù)庫中為SQLServer用戶USER1添加數(shù)據(jù)庫用戶,并取名為USER1,默認架構(gòu)為STU。USESTUDENTCREATEUSERUSER1FORLOGINUSER1WITHDEFAULT_SCHEMA=STU10.3.2刪除數(shù)據(jù)庫用戶刪除數(shù)據(jù)庫用戶實際上就是刪除一個登錄帳戶到一個數(shù)據(jù)庫中的映射。在SQLServer管理控制臺中刪除一個數(shù)據(jù)庫用戶可以用鼠標右擊欲刪除的用戶,從彈出的快捷菜單中選擇“刪除”選項,在隨后彈出的“刪除對象”對話框中單擊“確定”按鈕即可將該用戶從數(shù)據(jù)庫中刪除。10.3.2刪除數(shù)據(jù)庫用戶利用Transact-SQL語句同樣可以刪除數(shù)據(jù)庫用戶,其語法形式如下:DROPUSERuser_name其中的參數(shù)user_name指定在此數(shù)據(jù)庫中用于識別該用戶的名稱。例:從STUDENT數(shù)據(jù)庫中刪除數(shù)據(jù)庫用戶USER1。10.3.3數(shù)據(jù)庫角色數(shù)據(jù)庫角色是為某一用戶或某一組用戶授予不同級別的管理或訪問數(shù)據(jù)庫以及數(shù)據(jù)庫對象的權(quán)限,這些權(quán)限是數(shù)據(jù)庫專有的,并且還可以給一個用戶授予屬于同一數(shù)據(jù)庫的多個角色。SQLServer在安裝成功后,提供了十種固定數(shù)據(jù)庫角色。固定數(shù)據(jù)庫角色是在數(shù)據(jù)庫級別定義的,并且存在于每個數(shù)據(jù)庫中。固定數(shù)據(jù)庫角色描述db_accessadmin添加或刪除Windows登錄賬戶、Windows組和SQLServer登錄賬戶的訪問權(quán)限db_backupoperator備份數(shù)據(jù)庫固定數(shù)據(jù)庫角色描述固定數(shù)據(jù)庫角色描述db_datareader讀取所有用戶表中的所有數(shù)據(jù)db_datawriter添加、刪除或更改所有用戶表中的數(shù)據(jù)db_ddladmin在數(shù)據(jù)庫中運行任何數(shù)據(jù)定義語言(DDL)命令db_denydatareader不能讀取數(shù)據(jù)庫內(nèi)用戶表中的任何數(shù)據(jù)db_denydatawriter不能添加、修改或刪除數(shù)據(jù)庫內(nèi)用戶表中的任何數(shù)據(jù)db_owner執(zhí)行數(shù)據(jù)庫的所有配置和維護活動db_securityadmin修改角色成員身份和管理權(quán)限10.3.3數(shù)據(jù)庫角色在固定的數(shù)據(jù)庫角色中,public是一個特殊的數(shù)據(jù)庫角色,每個數(shù)據(jù)庫用戶都屬于public數(shù)據(jù)庫角色。當尚未對某個用戶授予或拒絕對安全對象的特定權(quán)限時,則該用戶將繼承授予該安全對象的public角色的權(quán)限。110.3.3數(shù)據(jù)庫角色在SQLServer管理控制臺中,展開SQLServer服務器組中相應服務器,展開“數(shù)據(jù)庫”目錄樹,再展開某個具體的數(shù)據(jù)庫,選擇“安全性|角色|數(shù)據(jù)庫角色”,在右側(cè)窗口中會看到數(shù)據(jù)庫中已存在的角色。在未創(chuàng)建新角色之前,數(shù)據(jù)庫中只有固定數(shù)據(jù)庫角色。角色管理:2.角色管理的內(nèi)容(1)管理服務器角色使用企業(yè)管理器 增加服務器角色成員、 查看服務器角色權(quán)限、 刪除服務器角色成員。使用系統(tǒng)過程sp_addsrvrolemember

sp_dropsrvrrolemember管理服務器角色。

①sp_addsrvrolemember

添加登錄,使其成為固定服務器角色的成員。語法:

sp_addsrvrolemember[@loginame=]‘login’,

[@rolename=]'role'參數(shù):

[@loginame=]‘login’:是添加到固定服務器角色的登錄名稱。login

可以是MicrosoftSQLServer登錄或MicrosoftWindowsNT用戶帳戶。

[@rolename=]‘role’:要將登錄添加到的固定服務器角色的名稱。例:添加用戶‘a(chǎn)dmin\user01’為’sysadmin’服務器角色的成員;添加用戶‘user01’為’dbcreator’服務器角色的成員。sp_addsrvrolemember‘a(chǎn)dmin\user01’,’sysadmin’sp_addsrvrolemember‘user01’,’dbcreator’②sp_dropsrvrolemember

從固定服務器角色中刪除Microsoft?SQLServer?登錄或MicrosoftWindowsNT?用戶或組。語法:

sp_dropsrvrolemember[@loginame=]'login',[@rolename=]'role'參數(shù): [@loginame=]'login‘:將要從固定服務器角色刪除的登錄的名稱。login

必須已經(jīng)存在。

@rolename=]'role‘:服務器角色的名稱。例:把用戶‘a(chǎn)dmin\user01’從’sysadmin’服務器角色的成員中刪除;把用戶‘user01’從’dbcreator’服務器角色的成員中刪除。sp_dropsrvrolemember‘a(chǎn)dmin\user01’,’sysadmin’sp_dropsrvrolemember‘user01’,’dbcreator’(2)管理數(shù)據(jù)庫角色使用企業(yè)管理器 增加數(shù)據(jù)庫角色成員、 授予數(shù)據(jù)庫角色權(quán)限、 刪除數(shù)據(jù)庫角色成員。使用存儲過程管理數(shù)據(jù)庫角色成員、

sp_addrole、sp_addapprole、sp_droprole、sp_dropapprole、sp_helprole、sp_helprolemember、sp_addrolemember、sp_droprolemember

sp_addrole:在當前數(shù)據(jù)庫創(chuàng)建新的數(shù)據(jù)庫角色。sp_droprole:從當前數(shù)據(jù)庫刪除數(shù)據(jù)庫角色。sp_addapprole:在當前數(shù)據(jù)庫中添加一個特殊類型的角色以使應用程序安全。sp_dropapprole:從當前數(shù)據(jù)庫刪除應用程序角色。sp_helprole:顯示當前數(shù)據(jù)庫中角色的信息。sp_addrolemember:將指定用戶添加為當前數(shù)據(jù)庫中某一角色的成員。sp_droprolemember:從當前數(shù)據(jù)庫中的角色中刪除某一成員。

sp_helprolemember:顯示當前數(shù)據(jù)庫中某個角色的成員的信息。10.4權(quán)限管理權(quán)限用來指定授權(quán)用戶可以使用的數(shù)據(jù)庫對象以及對這些數(shù)據(jù)庫對象可以執(zhí)行的操作。用戶在登錄到SQLServer之后,根據(jù)其用戶帳戶所屬的Windows組或角色,決定了該用戶能夠?qū)δ男?shù)據(jù)庫對象執(zhí)行哪種操作以及能夠訪問、修改哪些數(shù)據(jù)。在每個數(shù)據(jù)庫中,用戶的權(quán)限獨立于用戶帳戶和用戶在數(shù)據(jù)庫中的角色,每個數(shù)據(jù)庫都有自己獨立的權(quán)限系統(tǒng)。權(quán)限的管理主要是完成對權(quán)限的授權(quán)、拒絕和回收。10.4權(quán)限管理管理權(quán)限可以通過以下的方式來實現(xiàn):從數(shù)據(jù)庫的角度來管理。從用戶或角色的角度來管理。從數(shù)據(jù)庫對象的角度來管理。在SQLServer中,可以通過SQLServer管理控制臺或Transact-SQL語句管理權(quán)限。四、權(quán)限管理:1.權(quán)限管理簡介對象權(quán)限語句權(quán)限管理權(quán)限的命令:(1)GRANT: 在安全系統(tǒng)中創(chuàng)建項目,使當前數(shù)據(jù)庫中的用戶得以處理當前數(shù)據(jù)庫中的數(shù)據(jù)或執(zhí)行特定的Transact-SQL語句。(2)REVOKE: 刪除以前在當前數(shù)據(jù)庫內(nèi)的用戶上授予或拒絕的權(quán)限。(3)DENY: 在安全系統(tǒng)中創(chuàng)建一項,以拒絕給當前數(shù)據(jù)庫內(nèi)的安全帳戶授予權(quán)限并防止安全帳戶通過其組或角色成員資格繼承權(quán)限。10.4.2使用Transact-SQL語句管理權(quán)限在Transact-SQL語言中,使用GRANT、DENY和REVOKE三種命令來管理權(quán)限。GRANT:把指定的權(quán)限授予某一用戶。語法:GRANT{ALL[PRIVILEGES]}|權(quán)限名[(列名[,...n])][,...n]ON數(shù)據(jù)庫對象名TO用戶/角色[WITHGRANTOPTION]說明:GRANTOPTION選項指示被授權(quán)者在獲得指定權(quán)限的同時還可以將指定權(quán)限授予其他用戶或角色。10.4.2使用Transact-SQL語句管理權(quán)限D(zhuǎn)ENY:命令用來禁止用戶使用指定的權(quán)限。語法:DENY{ALL[PRIVILEGES]}|權(quán)限名[(列名[,...n])][,...n][ON數(shù)據(jù)庫對象名TO用戶/角色[CASCADE]說明:CASCADE選項指示拒絕授予指定用戶該權(quán)限,同時,對該用戶授予了該權(quán)限的所有其他用戶,也拒絕授予該權(quán)限。如果授權(quán)時使用了WITHGRANTOPTION選項,則此處為必選項。10.4.2使用Transact-SQL語句管理權(quán)限REVOKE:命令用來收回用戶所

溫馨提示

  • 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

提交評論