




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、編輯ppt第10章 安全管理10.1 SQL 2008安全管理的結(jié)構(gòu)10.2 服務(wù)器安全管理10.3 數(shù)據(jù)庫安全管理10.4 架構(gòu)安全管理10.5 權(quán)限管理的TSQL語句編輯ppt10.1 SQL 2008安全管理的結(jié)構(gòu)安全管理的結(jié)構(gòu) n用戶必須通過系統(tǒng)對(duì)用戶連接賬號(hào)和密碼的身份驗(yàn)證(即登錄名和密碼驗(yàn)證),才可以連接SQL Server 2008服務(wù)器。如果要使用服務(wù)器中的資源,如:數(shù)據(jù)庫等,還必須具備相應(yīng)的操作權(quán)限。因此,在SQL Server中對(duì)安全性的管理主要包括兩個(gè)階段:身份驗(yàn)證和權(quán)限驗(yàn)證。n在SQL Server 2008中為了便于用戶權(quán)限管理,提供了兩類角色:服務(wù)器角色和數(shù)據(jù)庫角色
2、。服務(wù)器角色預(yù)定義了幾種對(duì)服務(wù)器執(zhí)行操作權(quán)限的分組,如創(chuàng)建數(shù)據(jù)庫、設(shè)置服務(wù)器選項(xiàng)等,通過將連接服務(wù)器的登錄名歸入對(duì)應(yīng)的服務(wù)器角色,可以使該登錄名具有服務(wù)器角色所具有的權(quán)限。數(shù)據(jù)庫角色預(yù)定義了幾類對(duì)數(shù)據(jù)庫執(zhí)行操作權(quán)限的分組。n而數(shù)據(jù)庫用戶與服務(wù)器登錄名之間則是通過映射來建立對(duì)應(yīng)的關(guān)系,即當(dāng)用戶使用登錄名和密碼連接服務(wù)器后,如果數(shù)據(jù)庫中有對(duì)應(yīng)的用戶與登錄名之間存在映射關(guān)系,則該用戶可以訪問數(shù)據(jù)庫。 編輯pptSQL Server安全管理體系結(jié)構(gòu) 編輯ppt10.2 服務(wù)器安全管理n在SQL Server中,對(duì)服務(wù)器的安全管理是SQL Server系統(tǒng)安全性管理的第一層次。SQL Server通過排
3、除非法用戶對(duì)SQL Server服務(wù)器的連接,來防止外來的非法入侵。n10.2.1 SQL Server身份驗(yàn)證模式身份驗(yàn)證模式nSQL Server用于連接服務(wù)器的身份驗(yàn)證主要有兩種模式:Windows身份驗(yàn)證和SQL Server身份驗(yàn)證。Windows身份驗(yàn)證模式。此模式允許用戶使用Windows操作系統(tǒng)的域用戶管理和本地用戶管理模塊來對(duì)用戶身份進(jìn)行驗(yàn)證。SQL Server身份驗(yàn)證模式。SQL Server身份驗(yàn)證模式與Windows驗(yàn)證模式不同, SQL Server負(fù)責(zé)把用戶連接服務(wù)器的登錄名、密碼與syslogins表的登錄項(xiàng)進(jìn)行比較,如果能夠在syslogins表中找到匹配的數(shù)
4、據(jù)行,用戶就可以通過驗(yàn)證,連接服務(wù)器。編輯ppt10.2.2 SQL Server身份驗(yàn)證模式設(shè)置身份驗(yàn)證模式設(shè)置 nSQL Server身份驗(yàn)證是服務(wù)器端執(zhí)行的任務(wù),因此SQL Server身份驗(yàn)證模式需要在服務(wù)器端進(jìn)行設(shè)置。在SQL Server 2008中,系統(tǒng)將上述兩種身份驗(yàn)證模式組合成為兩項(xiàng)模式供用戶選擇:Windows身份驗(yàn)證模式、SQL Server和Windows身份驗(yàn)證模式。其中第二項(xiàng)驗(yàn)證模式是混合型的驗(yàn)證模式,即服務(wù)器可以使用兩種模式對(duì)用戶連接進(jìn)行身份驗(yàn)證。 編輯ppt10.2.3 SQL Server登錄名管理登錄名管理 n登錄名是客戶端連接服務(wù)器時(shí),向服務(wù)器提交的用于身
5、份驗(yàn)證的憑據(jù),也是SQL Server服務(wù)器安全性管理中的基本構(gòu)件。n根據(jù)身份驗(yàn)證模式的不同,在SQL Server中登錄名有兩種:Windows登錄名登錄名和SQL Server標(biāo)準(zhǔn)登錄名標(biāo)準(zhǔn)登錄名。Windows登錄名是指由Windows操作系統(tǒng)的用戶賬號(hào)對(duì)應(yīng)到SQL Server的登錄名,此類登錄名主要用于Windows身份驗(yàn)證模式;SQL Server標(biāo)準(zhǔn)登錄名是由SQL Server獨(dú)立維護(hù)并用于SQL Server身份驗(yàn)證模式的登錄名。 編輯ppt10.2.3 SQL Server登錄名管理登錄名管理n1、創(chuàng)建SQL Server標(biāo)準(zhǔn)登錄名 1、在SQL Server Manage
6、ment Studio的“對(duì)象資源管理器對(duì)象資源管理器”窗口中,展開服務(wù)器、安全性節(jié)點(diǎn)。2、右擊“登錄名登錄名”,在右鍵菜單中選擇“新建登錄名新建登錄名”。 3、在 “登錄名登錄名新建新建”對(duì)話框中,輸入登錄名的名稱為“Sale”,選擇身份驗(yàn)證模式為“SQL Server身份驗(yàn)證”;設(shè)置密碼為“password1”,選中“強(qiáng)制實(shí)施密碼策略”、“強(qiáng)制密碼過期”和“用戶在下次登錄時(shí)必須更改密碼”等項(xiàng)。指定默認(rèn)數(shù)據(jù)庫為“master”,最后單擊“確定確定”,完成登錄名創(chuàng)建。n 編輯ppt1、創(chuàng)建SQL Server標(biāo)準(zhǔn)登錄名 n創(chuàng)建登錄名的操作同樣可以使用TSQL語句來完成,所用的TSQL語句為“C
7、REATE LOGIN”,其語法如下:CREATE LOGIN loginName WITH | FROM := PASSWORD = password | hashed_password HASHED MUST_CHANGE , ,. := SID = sid | DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | CHECK_EXPIRATION = ON | OFF | CHECK_POLICY = ON | OFF | CREDENTIAL = credential_name := WINDOWS WITH ,. |
8、CERTIFICATE certname | ASYMMETRIC KEY asym_key_name := DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = languagen主要參數(shù)的含義如下:loginName,新建的登錄名的名稱。PASSWORD,新登錄名的密碼,用于SQL Server標(biāo)準(zhǔn)登錄名中,不能用于Windows登錄名的創(chuàng)建。MUST_CHANGE,此項(xiàng)對(duì)應(yīng)“用戶在下次登錄時(shí)必須更改密碼”的選項(xiàng),適用于SQL Server標(biāo)準(zhǔn)登錄名。DEFAULT_DATABASE,指定登錄名連接時(shí)默認(rèn)打開的數(shù)據(jù)庫。DEFAULT_LANGUA
9、GE,登錄名默認(rèn)使用的語言。CHECK_EXPIRATION,對(duì)應(yīng)于“強(qiáng)制密碼過期”選項(xiàng),用于指定SQL Server標(biāo)準(zhǔn)登錄名是否使用強(qiáng)制密碼過期策略,可以選擇ON|OFF兩項(xiàng),ON表示實(shí)施強(qiáng)制密碼過期策略,OFF表示不實(shí)施。編輯pptn例如以下代碼創(chuàng)建了一個(gè)新登錄名“Sales1”,密碼為“password1”,并且“強(qiáng)制實(shí)施密碼策略”和“強(qiáng)制密碼過期”。指定默認(rèn)數(shù)據(jù)庫為“NetSales”數(shù)據(jù)庫。CREATE LOGIN Sale1WITH PASSWORD=password1,CHECK_EXPIRATION=ON, CHECK_POLICY=ON,DEFAULT_DATABASE =
10、 NetSales編輯ppt10.2.3 SQL Server登錄名管理登錄名管理n2、創(chuàng)建Windows登錄名nWindows登錄名可以與單個(gè)Windows賬號(hào)對(duì)應(yīng),也可以與Windows用戶組和內(nèi)置安全主體對(duì)應(yīng)。nDEMO CREATE LOGIN DATASERVERCustomer_service_team FROM WINDOWS WITH DEFAULT_DATABASE=master編輯ppt10.2.3 SQL Server登錄名管理登錄名管理n3、系統(tǒng)登錄名 n在SQL Server安裝完畢后,會(huì)默認(rèn)提供多個(gè)系統(tǒng)登錄名。這些登錄名可用于用戶連接SQL Server系統(tǒng),主要包
11、括:sa、域或本機(jī)名稱Administrator、BUILTINAdministrator、NT AUTHORITYNETWORK SERVICE、NT AUTHORITYSYSTEM等等。sa。sa是SQL Server內(nèi)置的系統(tǒng)管理員登錄名,該登錄名擁有對(duì)SQL Server服務(wù)器執(zhí)行各項(xiàng)操作的權(quán)限。域或本機(jī)名稱Administrator,BUILTINAdministrator。Windows域或本機(jī)管理員的用戶賬號(hào)及用戶組會(huì)在SQL Server安裝過程中被加入到SQL Server登錄名中,且都是系統(tǒng)管理員角色的成員,擁有系統(tǒng)管理員的權(quán)限。NT AUTHORITYNETWORK SE
12、RVICE、NT AUTHORITYSYSTEM。這些登錄名是在SQL Server安裝過程中設(shè)置用于啟動(dòng)SQL Server代理服務(wù)、分析服務(wù)和報(bào)表服務(wù)的登錄名。編輯ppt10.2.3 SQL Server登錄名管理登錄名管理n4、登錄名的修改和刪除n在SQL Server Management Studio中修改登錄名的操作過程如下:1、在SQL Server Management Studio的“對(duì)象資源對(duì)象資源管理器管理器”窗口中,展開服務(wù)器、安全性、登錄名節(jié)點(diǎn)。2、在“登錄名登錄名”節(jié)點(diǎn)中,雙擊要修改的登錄名,可以在“登錄名屬性登錄名屬性”對(duì)話框中,對(duì)選定的登錄名進(jìn)行修改。n修改登錄
13、名的TSQL語句為“ALTER LOGIN”,例如以下代碼修改登錄名“Sale”的密碼為“password2”。ALTER LOGIN Sale WITH PASSWORD=password2編輯ppt10.2.3 SQL Server登錄名管理登錄名管理n4、登錄名的修改和刪除n在SQL Server Management Studio中刪除登錄名的過程如下:1、在SQL Server Management Studio的“對(duì)象資源管理器對(duì)象資源管理器”窗口中,展開服務(wù)器、安全性、登錄名節(jié)點(diǎn)。2、在“登錄名登錄名”節(jié)點(diǎn)中,右擊要?jiǎng)h除的登錄名,在右鍵菜單中選擇“刪除刪除”,然后在“刪除對(duì)象刪除
14、對(duì)象”對(duì)話框中“確定確定”刪除,即可完成登錄名的刪除。n刪除登錄名的TSQL語句為“DROP LOGIN”,語法規(guī)則如下:DROP LOGIN login_namen例如以下代碼可以刪除了登錄名“Sale_N”。DROP LOGIN Sale_Nn但是,必須注意的是有些登錄名是不能刪除的,包括:現(xiàn)為某個(gè)數(shù)據(jù)庫的擁有者。在msdb數(shù)據(jù)庫中某項(xiàng)作業(yè)(job)的所有者。目前正在連接的用戶。sa登錄名也不能刪除。編輯ppt10.2.3 SQL Server登錄名管理登錄名管理n5、登錄名的禁用和啟用n對(duì)于暫時(shí)不用,但不想刪除的登錄名,可以設(shè)置登錄名的狀態(tài),將登錄名禁用。在需要使用時(shí),也可以通過啟用,使
15、登錄名恢復(fù)使用。上述操作都可以在“登錄名屬性登錄名屬性”對(duì)話框中完成。操作過程如下:1、在SQL Server Management Studio的“對(duì)象資源對(duì)象資源管理器管理器”窗口中,展開服務(wù)器、安全性節(jié)點(diǎn)。2、選擇“安全性安全性”節(jié)點(diǎn)的某個(gè)登錄名,雙擊該登錄名,進(jìn)入“登錄名屬性登錄名屬性”對(duì)話框。3、選擇左側(cè)的“狀態(tài)狀態(tài)”選項(xiàng),可以設(shè)置“是否允許連是否允許連接到數(shù)據(jù)庫引擎接到數(shù)據(jù)庫引擎”和“登錄登錄”狀態(tài)。編輯ppt10.2.4 服務(wù)器角色服務(wù)器角色 n系統(tǒng)默認(rèn)提供了9類固定服務(wù)器角色,這些固定服務(wù)器角色的含義如下:bulkadmin。屬于該服務(wù)器角色的成員可以執(zhí)行大數(shù)據(jù)量的操作,如 B
16、ULK INSERT。dbcreator。屬于該服務(wù)器角色的成員可以創(chuàng)建、更改、刪除和還原數(shù)據(jù)庫。diskadmin。屬于該服務(wù)器角色的成員可以管理磁盤文件。processadmin。屬于該服務(wù)器角色的成員可以結(jié)束在數(shù)據(jù)庫引擎實(shí)例中執(zhí)行的進(jìn)程。securityadmin。屬于該服務(wù)器角色的成員可以管理登錄名及其屬性,可以執(zhí)行GRANT、DENY和REVOKE來管理登錄名在服務(wù)器和數(shù)據(jù)庫級(jí)別中的權(quán)限,以及重新設(shè)置登錄名的密碼。serveradmin。屬于該服務(wù)器角色的成員是服務(wù)器的管理員,可以配置服務(wù)器的選項(xiàng)或關(guān)閉服務(wù)器。setupadmin。屬于該服務(wù)器角色的成員可以添加和刪除鏈接服務(wù)器,并可
17、以執(zhí)行某些系統(tǒng)存儲(chǔ)過程。sysadmin。屬于該服務(wù)器角色的成員是系統(tǒng)管理員,可以在數(shù)據(jù)庫引擎中執(zhí)行任何操作。如對(duì)服務(wù)器中的對(duì)象執(zhí)行創(chuàng)建、修改或刪除,更改各項(xiàng)設(shè)置等。public。public服務(wù)器角色是一個(gè)比較特殊的角色,任何登錄名都屬于public角色,但這個(gè)角色的權(quán)限較小,一般只具有連接服務(wù)器的權(quán)限。編輯ppt10.2.5 登錄名授權(quán)登錄名授權(quán) n如果固定服務(wù)器角色無法滿足對(duì)登錄名進(jìn)行授權(quán)的要求,可以通過對(duì)登錄名進(jìn)行權(quán)限設(shè)置,把服務(wù)器級(jí)安全對(duì)象的訪問權(quán)限授予登錄名。n在SQL server2008中,安全對(duì)象是指可以由系統(tǒng)進(jìn)行權(quán)限控制,并可供用戶訪問的系統(tǒng)資源、進(jìn)程以及對(duì)象等。服務(wù)器級(jí)的
18、安全對(duì)象包括:端點(diǎn)端點(diǎn)、登錄名登錄名和數(shù)據(jù)庫數(shù)據(jù)庫。將服務(wù)器級(jí)安全對(duì)象的訪問權(quán)限授予登錄名,則登錄名連接服務(wù)器后,就可以執(zhí)行權(quán)限賦予的操作。n權(quán)限的授予有三種方式:授予授予、具有授予具有授予和拒絕拒絕。 授予授予:表示給予登錄名選中的權(quán)限。不選中,則表示取消登錄名的該項(xiàng)權(quán)限。但是如果登錄名從其他途徑(如從固定服務(wù)器角色中繼承)獲得了此項(xiàng)權(quán)限,則登錄名還是可以執(zhí)行此項(xiàng)權(quán)限。具有授予權(quán)限具有授予權(quán)限:表示當(dāng)前登錄名擁有將選中的權(quán)限授予其他登錄名的權(quán)限。拒絕拒絕:表示明確否決登錄名使用選中的權(quán)限。這表明,雖然此登錄名還可能會(huì)從其他途徑,如服務(wù)器角色繼承等方式獲得此項(xiàng)權(quán)限,但明確拒絕后,此登錄名將無法
19、使用從其他途徑獲得的此項(xiàng)權(quán)限。 編輯ppt10.3 數(shù)據(jù)庫安全管理數(shù)據(jù)庫安全管理 n在SQL Server 2008中,對(duì)于數(shù)據(jù)庫的安全管理是通過數(shù)據(jù)庫用戶權(quán)限管理來實(shí)現(xiàn)的。登錄名連接服務(wù)器后,如果需要訪問數(shù)據(jù)庫,必須將登錄名與數(shù)據(jù)庫中的用戶之間建立映射,建立映射后,該登錄名在此數(shù)據(jù)庫的權(quán)限是:登錄名本身具有的對(duì)數(shù)據(jù)庫進(jìn)行操作的權(quán)限和被映射的數(shù)據(jù)庫用戶權(quán)限的并集。 編輯ppt10.3.1 數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶 n數(shù)據(jù)庫用戶是數(shù)據(jù)庫級(jí)的安全主體,是對(duì)數(shù)據(jù)庫進(jìn)行操作的對(duì)象。要使數(shù)據(jù)庫能被用戶訪問,數(shù)據(jù)庫中必須建有用戶。系統(tǒng)為每個(gè)數(shù)據(jù)庫自動(dòng)創(chuàng)建了:INFORMATION_SCHEMA、sys、dbo
20、和guest。dbo:是數(shù)據(jù)庫所有者用戶。顧名思義,dbo用戶對(duì)數(shù)據(jù)庫擁有所有權(quán)限,并可以將這些權(quán)限授予其他用戶。在SQL Server 2008中,創(chuàng)建數(shù)據(jù)庫的用戶默認(rèn)就是數(shù)據(jù)庫的所有者,從屬于服務(wù)器角色“sysadmin”的登錄名會(huì)自動(dòng)被映射為dbo用戶,因此“sysadmin”角色的成員就具有對(duì)數(shù)據(jù)庫執(zhí)行任何操作的權(quán)限。guest:是數(shù)據(jù)庫客人的用戶。當(dāng)數(shù)據(jù)庫中存在guest用戶,則所有登錄名,不管是否具有訪問數(shù)據(jù)庫的權(quán)限,都可以訪問guest用戶所在的數(shù)據(jù)庫。因此,guest用戶的存在會(huì)降低系統(tǒng)的安全性。但是,在用戶數(shù)據(jù)庫中g(shù)uest用戶默認(rèn)處于關(guān)閉狀態(tài),而在master和tempdb
21、數(shù)據(jù)庫中出于系統(tǒng)運(yùn)行需要,guest用戶是開啟的。sys和INFORMATION_SCHEMA:此兩類用戶是為使用sys和INFORMATION_SCHEMA架構(gòu)的視圖而創(chuàng)建的用戶。編輯ppt10.3.1 數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶n1、創(chuàng)建數(shù)據(jù)庫用戶n在SQL Server Management Studio創(chuàng)建數(shù)據(jù)庫用戶的過程如下:1、在SQL Server Management Studio的“對(duì)象資源對(duì)象資源管理器管理器”窗口中,展開服務(wù)器、數(shù)據(jù)庫、安全性、用戶節(jié)點(diǎn),可以查看當(dāng)前數(shù)據(jù)庫中的用戶。2、右擊“用戶用戶”節(jié)點(diǎn),在右鍵菜單中選擇“新建用新建用戶戶”。3、在“數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶新建新
22、建”對(duì)話框中,輸入“用戶名稱”,在“登錄名”項(xiàng)中,可以輸入要建立映射的登錄名,也可以通過單擊其后的按鈕,在“選擇登錄名選擇登錄名”對(duì)話框中進(jìn)行選擇。在“默認(rèn)架構(gòu)”中可以輸入或者選擇架構(gòu)的名稱,如果此項(xiàng)不輸入,用戶的默認(rèn)架構(gòu)就是dbo。在中間的“此用戶擁有的架構(gòu)”列表中列出了當(dāng)前數(shù)據(jù)庫中所有的架構(gòu),可以根據(jù)需要進(jìn)行選擇。編輯ppt10.3.1 數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶n創(chuàng)建用戶的TSQL語句是“CREATE USER”,語法規(guī)則如下:CREATE USER user_name FOR | FROM LOGIN login_name WITH DEFAULT_SCHEMA = schema_name
23、n各主要參數(shù)的含義如下:user_name,數(shù)據(jù)庫用戶的名稱。login_name,與數(shù)據(jù)庫用戶建立映射的登錄名。WITH DEFAULT_SCHEMA = schema_name,指定默認(rèn)的架構(gòu)。n例如以下代碼,在數(shù)據(jù)“NetSale”中創(chuàng)建了一個(gè)與Windows登錄名同名的新用戶“DATASERVERCustomer_service1” 。USE NetSales GOCREATE USER DATASERVERCustomer_service1WITH DEFAULT_SCHEMA=dbo編輯ppt10.3.1 數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶n2、修改數(shù)據(jù)庫用戶n在SQL Server Manag
24、ement Studio中修改用戶的操作與修改登錄名的操作類似,主要步驟如下:1、在SQL Server Management Studio的“對(duì)象資源管理器對(duì)象資源管理器”窗口中,展開服務(wù)器、數(shù)據(jù)庫、安全性、用戶節(jié)點(diǎn)。2、在“用戶用戶”節(jié)點(diǎn)下,雙擊要修改的用戶,然后在“數(shù)據(jù)庫用戶屬性數(shù)據(jù)庫用戶屬性”對(duì)話框中,可以對(duì)現(xiàn)有數(shù)據(jù)庫用戶的屬性進(jìn)行設(shè)置,但是不能更改“登登錄名錄名”。n在TSQL中修改數(shù)據(jù)庫用戶名的語句是“ALTER USER”,可以對(duì)現(xiàn)有數(shù)據(jù)庫用戶的名稱、默認(rèn)架構(gòu)和映射對(duì)應(yīng)的登錄名進(jìn)行修改,基本語法規(guī)則如下:ALTER USER userName WITH ,.n := NAME =
25、 newUserName | DEFAULT_SCHEMA = schemaName | LOGIN = loginNamen如以下代碼,把數(shù)據(jù)庫用戶“Sale_user”的名稱修改為“Sale_Mgt”,默認(rèn)架構(gòu)為“db_datareader”。USE NetSalesGOALTER USER Sale_userWITH NAME=Sale_Mgt,DEFAULT_SCHEMA=db_datareader編輯ppt10.3.1 數(shù)據(jù)庫用戶數(shù)據(jù)庫用戶n3、刪除數(shù)據(jù)庫用戶n刪除數(shù)據(jù)庫用戶的TSQL語句為“DROP USER”,語法規(guī)則如下:DROP USER user_namen如以下代碼可以刪
26、除“Sale_Mgt”。DROP USER Sale_Mgt編輯ppt10.3.2 數(shù)據(jù)庫角色數(shù)據(jù)庫角色 n在SQL Server 2008中共提供了10種固定數(shù)據(jù)庫角色,這些數(shù)據(jù)庫角色代表的含義如下:db_accessadmin:可建立和管理數(shù)據(jù)庫用戶。db_backupoperator:可執(zhí)行數(shù)據(jù)庫備份操作。db_dbreader:可以從數(shù)據(jù)庫中讀取表中的數(shù)據(jù)。db_datawriter:可以對(duì)數(shù)據(jù)庫的表執(zhí)行寫的操作,如添加、修改和刪除數(shù)據(jù)。db_ddladmin:可以在數(shù)據(jù)庫中執(zhí)行DDL語句,即可以創(chuàng)建、修改、刪除數(shù)據(jù)庫對(duì)象,如數(shù)據(jù)表、視圖、存儲(chǔ)過程等。db_denydatareader
27、:拒絕讀取數(shù)據(jù)庫中的數(shù)據(jù),無論用戶是否通過其他途徑獲取了數(shù)據(jù)讀取的操作權(quán)限。db_denydatawrite:拒絕對(duì)數(shù)據(jù)庫中數(shù)據(jù)執(zhí)行寫的操作,無論用戶是否通過其他途徑獲取了數(shù)據(jù)寫入的操作權(quán)限。db_owner:數(shù)據(jù)庫的所有者,可以在數(shù)據(jù)庫中執(zhí)行所有操作,dbo用戶是其中的成員。db_securityadmin:可以管理數(shù)據(jù)庫角色及角色中的成員,也可管理語句權(quán)限和對(duì)象權(quán)限。Public:默認(rèn)只有讀取數(shù)據(jù)的權(quán)限。每個(gè)新建的數(shù)據(jù)庫用戶都會(huì)成為其中的成員。與其他數(shù)據(jù)庫角色不同,public角色的權(quán)限雖然較少,但是可以通過修改public的權(quán)限來賦予更多權(quán)限。當(dāng)然,由于public權(quán)限的特殊性,還是不應(yīng)
28、該給public賦予過多的權(quán)限。編輯ppt10.3.3 應(yīng)用程序角色應(yīng)用程序角色 n創(chuàng)建應(yīng)用程序角色DEMOn使用應(yīng)用程序角色n要使用應(yīng)用程序角色,可以在應(yīng)用程序代碼中激活此應(yīng)用程序角色,激活代碼如下:Sp_setapprole rolename= SaleAppRole,password=123456n應(yīng)用程序角色激活后,應(yīng)用程序就可以通過此應(yīng)用程序角色來獲得對(duì)“NetSales”數(shù)據(jù)庫中數(shù)據(jù)表“訂單表”進(jìn)行訪問的權(quán)限。編輯ppt10.3.4 管理角色的管理角色的TSQL語句語句 n1、創(chuàng)建數(shù)據(jù)庫角色的TSQL代碼n創(chuàng)建數(shù)據(jù)庫角色可以使用“CREATE ROLE”語句,語法規(guī)則如下:CREA
29、TE ROLE role_name AUTHORIZATION owner_name n其中role_name為數(shù)據(jù)庫角色名稱,owner_name所有者用戶的名稱或角色,如果未指定,是默認(rèn)為dbo。例如以下代碼創(chuàng)建了一個(gè)名稱為“Order_dealer”數(shù)據(jù)庫角色,所有者為“dbo”。USE NetSalesGOCREATE ROLE Order_dealer AUTHORIZATION dboGO編輯ppt10.3.4 管理角色的管理角色的TSQL語句語句n2、創(chuàng)建應(yīng)用程序角色的TSQL代碼n創(chuàng)建應(yīng)用程序角色可以使用“CREATE APPLICATION ROLE”語句,語法規(guī)則如下:CR
30、EATE APPLICATION ROLE application_role_name WITH PASSWORD = password , DEFAULT_SCHEMA = schema_name n例如以下代碼,創(chuàng)建了一個(gè)名稱為“Order_App_Role”的應(yīng)用程序角色,默認(rèn)架構(gòu)為“dbo”,密碼為“123456”。USE NetSalesGOCREATE APPLICATION ROLE Order_App_Role WITH PASSWORD = 123456, DEFAULT_SCHEMA = dboGO編輯ppt10.3.4 管理角色的管理角色的TSQL語句語句n3、修改和刪除
31、角色的TSQL代碼n修改數(shù)據(jù)庫角色和應(yīng)用程序角色的TSQL代碼分別為:ALTER ROLE和ALTER APPLICATION ROLE,例如以下代碼分別修改了數(shù)據(jù)庫角色“Order_dealer”和應(yīng)用程序角色“Order_App_Role”,其中將前者名稱修改為“Order_dealers”,后者修改了應(yīng)用程序角色的密碼為“abcdef”。USE NetSalesGOALTER ROLE Order_dealer WITH NAME =Order_dealersGOALTER APPLICATION ROLE Order_App_Role WITH PASSWORD = abcdef, D
32、EFAULT_SCHEMA = dboGOn刪除數(shù)據(jù)庫角色和應(yīng)用程序角色的TSQL代碼分別為:DROP ROLE 和DROP APPLICATION ROLE。如以下語句可以刪除上述創(chuàng)建的數(shù)據(jù)庫角色“Order_dealers”和應(yīng)用程序角色“Order_App_Role”。USE NetSalesGODROP ROLE Order_dealersGODROP APPLICATION ROLE Order_App_Role GO編輯ppt10.3.4 管理角色的管理角色的TSQL語句語句n4、添加角色成員的TSQL代碼n如果需要將用戶或角色添加到角色成員中,可以使用系統(tǒng)存儲(chǔ)過程sp_addro
33、lemember,相應(yīng)的TSQL代碼語法如下:sp_addrolemember rolename = role, membername = security_account主要參數(shù)的含義如下:nrolename,被添加角色或用戶名的角色名稱;membername,用作成員的用戶或角色名稱。n例如以下代碼創(chuàng)建了數(shù)據(jù)庫用戶“ORDER1”,并歸屬到“db_ddladmin”角色中。USE NetSales GOCREATE USER ORDER1 FOR LOGIN SaleGOExec sp_addrolemember db_ddladmin, ORDER1 GO編輯ppt10.3.5 數(shù)據(jù)庫用
34、戶授權(quán)數(shù)據(jù)庫用戶授權(quán) n對(duì)數(shù)據(jù)庫用戶權(quán)限的設(shè)置可以通過數(shù)據(jù)庫角色來實(shí)現(xiàn),也可以通過對(duì)數(shù)據(jù)庫用戶設(shè)置數(shù)據(jù)庫級(jí)安全對(duì)象的操作權(quán)限來實(shí)現(xiàn)。數(shù)據(jù)庫級(jí)的安全對(duì)象包括用戶、應(yīng)用程序角色、程序集、消息類型、服務(wù)、路由、遠(yuǎn)程服務(wù)綁定、全文目錄、證書、非對(duì)稱密鑰、約定、對(duì)稱密鑰、架構(gòu)等。n權(quán)限種類會(huì)因?yàn)榘踩珜?duì)象的不同而有所變化,但大體包括以下幾種權(quán)限:插入、查看定義、查看更改跟蹤、更改、更新、接管所有權(quán)、控制、刪除、選擇、引用和執(zhí)行等幾種。對(duì)于數(shù)據(jù)表、視圖和返回表的函數(shù)等安全對(duì)象,在設(shè)置“選擇”、“更新”和“引用”權(quán)限時(shí)還可以對(duì)具體可操作的“列”進(jìn)行控制,如只能查看表中的部分列,而不能查看某些列。 編輯ppt編
35、輯ppt10.4 架構(gòu)安全管理架構(gòu)安全管理 n架構(gòu)是SQL Server 2005版開始引進(jìn)的一項(xiàng)新特征,其主要作用是將多個(gè)數(shù)據(jù)庫對(duì)象歸屬到架構(gòu)中,以解決用戶與對(duì)象之間因從屬關(guān)系而引起的管理問題。SQL Server 提供的示例數(shù)據(jù)庫“AdventureWorks”是一個(gè)架構(gòu)應(yīng)用的典型實(shí)例。n架構(gòu)級(jí)安全對(duì)象包括:類型類型、XML架構(gòu)集合架構(gòu)集合、聚合聚合、約束約束、函數(shù)函數(shù)、過程過程、隊(duì)列隊(duì)列、統(tǒng)計(jì)信息統(tǒng)計(jì)信息、同義詞同義詞、表表、視圖視圖等。這些對(duì)象包含在架構(gòu)內(nèi),如果需要調(diào)用架構(gòu)內(nèi)的對(duì)象,需要指定架構(gòu)的名稱,如以下代碼查詢AdventureWorks 庫中Department表Name和Gr
36、oupName列的數(shù)據(jù),由于Department表屬于架構(gòu)HumanResources,因此需要指明架構(gòu)的名稱。ndbo是系統(tǒng)默認(rèn)架構(gòu)。因此如果架構(gòu)是dbo,則無需指明架構(gòu)名稱。 編輯ppt10.4.1 創(chuàng)建架構(gòu)創(chuàng)建架構(gòu) n在SQL Server Management Studio中創(chuàng)建架構(gòu)的過程如下:1、在SQL Server Management Studio的“對(duì)象資源對(duì)象資源管理器管理器”窗口中,展開服務(wù)器、數(shù)據(jù)庫(“NetSales”)、安全性、架構(gòu)等節(jié)點(diǎn)。2、右擊“架構(gòu)架構(gòu)”,在右鍵菜單中選擇“新建架構(gòu)新建架構(gòu)”,在 “新建架構(gòu)新建架構(gòu)”對(duì)話框中輸入架構(gòu)名稱:Orders,架構(gòu)所有
37、者:Product_Mgt。3、單擊“確定確定”后,完成架構(gòu)的創(chuàng)建。編輯ppt10.4.1 創(chuàng)建架構(gòu)創(chuàng)建架構(gòu)n創(chuàng)建架構(gòu)的TSQL語句為“CREATE SCHEMA”,語法規(guī)則如下:CREATE SCHEMA schema_name_clause .n := schema_name | AUTHORIZATION owner_name | schema_name AUTHORIZATION owner_name := table_definition | view_definition | grant_statement revoke_statement | deny_statement n主要
38、參數(shù)含義如下:schema_name,架構(gòu)名稱。AUTHORIZATION owner_name,架構(gòu)的所有者,可以是數(shù)據(jù)庫用戶、數(shù)據(jù)庫角色和應(yīng)用程序角色。table_definition,數(shù)據(jù)表的定義語句,在創(chuàng)建架構(gòu)的語句中可以包含數(shù)據(jù)表的創(chuàng)建,新建的數(shù)據(jù)表從屬于該架構(gòu)。view_definition,視圖的定義語句,在創(chuàng)建架構(gòu)的語句中可以包含視圖的創(chuàng)建,新建的視圖從屬于該架構(gòu)。grant_statement |revoke_statement | deny_statement,權(quán)限設(shè)置情況。 編輯pptn例如以下代碼,創(chuàng)建了一個(gè)名稱為“Sales_SCHEMA”,所有者為數(shù)據(jù)庫角色“db_
39、owner”的新架構(gòu)。CREATE SCHEMA Sales_SCHEMA AUTHORIZATION db_owner 編輯ppt10.4.2 在架構(gòu)中添加對(duì)象在架構(gòu)中添加對(duì)象 n1、在SQL Server Management Studio的“對(duì)象對(duì)象資源管理器資源管理器”窗口中,展開服務(wù)器、數(shù)據(jù)庫(“NetSales”)、表等節(jié)點(diǎn)。n2、在“表表”節(jié)點(diǎn)下,右擊“訂單表訂單表”,在右鍵菜單中選擇“設(shè)計(jì)設(shè)計(jì)”。在 “數(shù)據(jù)表設(shè)計(jì)數(shù)據(jù)表設(shè)計(jì)器器”窗口中,修改“屬性屬性”窗口中的“架構(gòu)架構(gòu)”為“Orders”。n3、保存對(duì)表的上述修改。在“對(duì)象資源管理器對(duì)象資源管理器”的“表表”節(jié)點(diǎn)下,“訂單表”
40、前綴已被更新為“Order”,表明該表已添加到架構(gòu)“Orders”。 編輯ppt10.4.3 在架構(gòu)中移動(dòng)對(duì)象在架構(gòu)中移動(dòng)對(duì)象 n架構(gòu)中的對(duì)象在需要情況下可以移動(dòng)到其他架構(gòu)中。移動(dòng)對(duì)象到其他架構(gòu)的TSQL語句為ALTER SCHEMA,語法規(guī)則如下:ALTER SCHEMA schema_name TRANSFER securable_namesecurable_name 是待移動(dòng)的對(duì)象,需要使用“架構(gòu)名.對(duì)象名”的形式來標(biāo)注出待移動(dòng)的架構(gòu);schema_name是目標(biāo)架構(gòu)。n如以下代碼表示將“訂單細(xì)節(jié)表”從“dbo”架構(gòu)中移動(dòng)到“Orders”。ALTER SCHEMA Orders TRA
41、NSFER dbo.訂單細(xì)節(jié)表編輯ppt10.4.4 設(shè)置架構(gòu)權(quán)限設(shè)置架構(gòu)權(quán)限 n1、在SQL Server Management Studio的“對(duì)象對(duì)象資源管理器資源管理器”窗口中,展開服務(wù)器、數(shù)據(jù)庫(“NetSales”)、安全性和架構(gòu)等節(jié)點(diǎn)。n2、在“架構(gòu)架構(gòu)”節(jié)點(diǎn)下,雙擊要設(shè)置權(quán)限的架構(gòu)“Orders”。n3、在“架構(gòu)屬性架構(gòu)屬性”對(duì)話框,單擊左側(cè)的“權(quán)限權(quán)限”。在“權(quán)限權(quán)限”選項(xiàng)頁中,單擊“搜索搜索”按鈕。n4、在“選擇用戶或角色選擇用戶或角色”對(duì)話框中輸入“Product_Mgt”用戶,單擊“確定確定”后返回到“架構(gòu)屬性架構(gòu)屬性”對(duì)話框。n5、在“顯式顯式”權(quán)限列表中,授予操作權(quán)
42、限。 編輯ppt10.5 權(quán)限管理的權(quán)限管理的TSQL語句語句 n對(duì)登錄名、服務(wù)器角色、數(shù)據(jù)庫用戶、數(shù)據(jù)庫角色、應(yīng)用程序角色等安全主體設(shè)置權(quán)限的TSQL權(quán)限管理語句包括:GRANT、DENY和REVOKE 。n10.5.1 GRANT授權(quán)nGRANT語句是授權(quán)語句,使用GRANT語句可以給安全主體授予訪問安全對(duì)象的權(quán)限。GRANT語句的語法規(guī)則如下:GRANT ALL PRIVILEGES | permission ( column ,.n ) ,.n ON class : securable TO principal ,.n WITH GRANT OPTION AS principal n各
43、主參數(shù)的含義如下:ALL,將安全對(duì)象的所有操作權(quán)限(除ALTER、TAKE OWNERSHIP之外)授予給指定的安全主體。但是除:數(shù)據(jù)庫、標(biāo)量函數(shù)、表函數(shù)、存儲(chǔ)過程、表、視圖等安全對(duì)象可以使用ALL來代表表中的權(quán)限外,其余安全對(duì)象不能使用ALL,必須明確列出權(quán)限名稱。此選項(xiàng)主要用于兼容早期版本,不推薦使用此選項(xiàng)。PRIVILEGES,用于提供與ANSI-92的兼容。Permission,權(quán)限名稱,如SELECT、UPDATE等。column ,.n ,在表、視圖、表值函數(shù),用于對(duì)列權(quán)限的設(shè)置。class :指定將授予其權(quán)限的安全對(duì)象的類。Securable,被授權(quán)的安全主體。TO Principal,主體的名稱。WITH GRANT OPTION,表示將“具有授予權(quán)限”的權(quán)限授予給主體。AS principal,指定用另一個(gè)“具有授予權(quán)限”的用戶或角色作為此次授權(quán)的授予者。 編輯pptn例如以下代碼表示將“產(chǎn)品數(shù)據(jù)表”的“插入”、“刪除”和“更新”權(quán)限授予數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年小學(xué)課后托管服務(wù)合同
- 游戲營銷的雙十一革新
- 一年級(jí)學(xué)生的習(xí)慣養(yǎng)成
- 音樂演唱與理解
- 音樂:共享的旋律
- 醫(yī)學(xué)基礎(chǔ)知識(shí)探究
- 2025定制加工產(chǎn)品(代工產(chǎn)品)生產(chǎn)框架合同
- 2025中外合資經(jīng)營企業(yè)合同范本(汽車制造)
- 2025【設(shè)備采購合同樣本】設(shè)備采購項(xiàng)目管理工程師
- 《商業(yè)展示道具》課件
- 新高考背景下高考數(shù)學(xué)重點(diǎn)板塊分析與教學(xué)建議課件
- 物業(yè)五級(jí)三類服務(wù)統(tǒng)一標(biāo)準(zhǔn)
- 肥胖患者麻醉管理專家共識(shí)
- 全廠接地裝置安裝施工方案
- 成都市2022級(jí)(2025屆)高中畢業(yè)班摸底測試(零診) 語文試卷(含答案)
- 中國系統(tǒng)性紅斑狼瘡診療指南
- 部編人教版高中英語選擇性必修二教學(xué)設(shè)計(jì)全套
- 浙江省杭州市余杭區(qū)2023-2024學(xué)年六年級(jí)下學(xué)期期中數(shù)學(xué)試卷
- 建筑邊坡工程監(jiān)測技術(shù)標(biāo)準(zhǔn)
- 中國應(yīng)急管理的演化歷程
- 2023年江蘇省徐州市中考地理真題含解析
評(píng)論
0/150
提交評(píng)論