《數(shù)據(jù)庫安全管理》課件_第1頁
《數(shù)據(jù)庫安全管理》課件_第2頁
《數(shù)據(jù)庫安全管理》課件_第3頁
《數(shù)據(jù)庫安全管理》課件_第4頁
《數(shù)據(jù)庫安全管理》課件_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第9章

系統(tǒng)安全管理9.1SQLServer2008的安全機(jī)制9.2建立和管理用戶賬戶9.3角色管理9.4數(shù)據(jù)庫權(quán)限的管理9.5數(shù)據(jù)庫架構(gòu)的定義和使用第9章系統(tǒng)安全管理9.1SQLServer2009.1SQLServer2008的安全機(jī)制9.1.1SQLServer2008的身份驗(yàn)證模式SQLServer2008的身份驗(yàn)證模式是指系統(tǒng)確認(rèn)用戶的方式。SQLServer2008有兩種身份驗(yàn)證模式:Windows驗(yàn)證模式和SQLServer驗(yàn)證模式。如圖9.1所示為這兩種方式登錄SQLServer服務(wù)器的情形。圖9.1兩種驗(yàn)證方式登錄SQLServer服務(wù)器的情形9.1SQLServer2008的安全機(jī)制9.1.19.1.1SQLServer2008的身份驗(yàn)證模式1.Windows驗(yàn)證模式用戶登錄Windows時(shí)進(jìn)行身份驗(yàn)證,登錄SQLServer時(shí)就不再進(jìn)行身份驗(yàn)證。以下是對(duì)于Windows驗(yàn)證模式登錄的幾點(diǎn)重要說明。(1)必須將Windows賬戶加入到SQLServer中,才能采用Windows賬戶登錄SQLServer。(2)如果使用Windows賬戶登錄到另一個(gè)網(wǎng)絡(luò)的SQLServer,則必須在Windows中設(shè)置彼此的托管權(quán)限。2.SQLServer驗(yàn)證模式在SQLServer驗(yàn)證模式下,SQLServer服務(wù)器要對(duì)登錄的用戶進(jìn)行身份驗(yàn)證。當(dāng)SQLServer在WindowsXP或Windows2003/2008等操作系統(tǒng)上運(yùn)行時(shí),系統(tǒng)管理員設(shè)定登錄驗(yàn)證模式的類型可為Windows驗(yàn)證模式和混合模式。當(dāng)采用混合模式時(shí),SQLServer系統(tǒng)既允許使用Windows登錄名登錄,也允許使用SQLServer登錄名登錄。9.1.1SQLServer2008的身份驗(yàn)證模式19.1.2SQLServer2008的安全性機(jī)制(1)服務(wù)器級(jí)別所包含的安全對(duì)象主要有登錄名、固定服務(wù)器角色等。其中,登錄名用于登錄數(shù)據(jù)庫服務(wù)器,而固定服務(wù)器角色用于給登錄名賦予相應(yīng)的服務(wù)器權(quán)限。SQLServer2008中的登錄名主要有兩種,第一種是Windows登錄名,第二種是SQLServer登錄名。Windows登錄名對(duì)應(yīng)Windows驗(yàn)證模式,該驗(yàn)證模式所涉及的賬戶類型主要有Windows本地用戶賬戶、Windows域用戶賬戶、Windows組。SQLServer登錄名對(duì)應(yīng)SQLServer驗(yàn)證模式,在該驗(yàn)證模式下,能夠使用的賬戶類型主要是SQLServer賬戶。(2)數(shù)據(jù)庫級(jí)別所包含的安全對(duì)象主要有用戶、角色、應(yīng)用程序角色、證書、對(duì)稱密鑰、非對(duì)稱密鑰、程序集、全文目錄、DDL事件、架構(gòu)等。用戶安全對(duì)象是用來訪問數(shù)據(jù)庫的。如果某人只擁有登錄名,而沒有在相應(yīng)的數(shù)據(jù)庫中為其創(chuàng)建登錄名所對(duì)應(yīng)的用戶,則該用戶只能登錄數(shù)據(jù)庫服務(wù)器,而不能訪問相應(yīng)的數(shù)據(jù)庫。9.1.2SQLServer2008的安全性機(jī)制(19.1.2SQLServer2008的安全性機(jī)制(3)架構(gòu)級(jí)別所包含的安全對(duì)象主要有表、視圖、函數(shù)、存儲(chǔ)過程、類型、同義詞、聚合函數(shù)等。簡(jiǎn)單地說,架構(gòu)的作用是將數(shù)據(jù)庫中的所有對(duì)象分成不同的集合,這些集合沒有交集,每一個(gè)集合就稱為一個(gè)架構(gòu)。數(shù)據(jù)庫中的每一個(gè)用戶都會(huì)有自己的默認(rèn)架構(gòu)。這個(gè)默認(rèn)架構(gòu)可以在創(chuàng)建數(shù)據(jù)庫用戶時(shí)由創(chuàng)建者設(shè)定,若不設(shè)定則系統(tǒng)默認(rèn)架構(gòu)為dbo。數(shù)據(jù)庫用戶只能對(duì)屬于自己架構(gòu)中的數(shù)據(jù)庫對(duì)象執(zhí)行相應(yīng)的數(shù)據(jù)操作。至于操作的權(quán)限則由數(shù)據(jù)庫角色決定。例如,若某數(shù)據(jù)庫中的表A屬于架構(gòu)S1,表B屬于架構(gòu)S2,而某用戶默認(rèn)的架構(gòu)為S2,如果沒有授予用戶操作表A的權(quán)限,則該用戶不能對(duì)表A執(zhí)行相應(yīng)的數(shù)據(jù)操作。但是,該用戶可以對(duì)表B執(zhí)行相應(yīng)的操作。9.1.2SQLServer2008的安全性機(jī)制(39.1.2SQLServer2008的安全性機(jī)制一個(gè)數(shù)據(jù)庫使用者,要登錄服務(wù)器上的SQLServer數(shù)據(jù)庫,并對(duì)數(shù)據(jù)庫中的表執(zhí)行數(shù)據(jù)更新操作,則該使用者必須經(jīng)過如圖9.2所示的安全驗(yàn)證。圖9.2SQLServer數(shù)據(jù)庫安全驗(yàn)證9.1.2SQLServer2008的安全性機(jī)制一個(gè)9.2建立和管理用戶賬戶9.2.1界面方式管理用戶賬戶1.建立Windows驗(yàn)證模式的登錄名第1步:創(chuàng)建Windows的用戶。以管理員身份登錄到WindowsXP,選擇“開始”,打開控制面板中的“性能和維

護(hù)”,選擇其中的“管理工具”,雙擊“計(jì)算機(jī)管理”,進(jìn)入“計(jì)算機(jī)管理”窗口。在該窗口中選擇“本地用戶和組”中的“用戶”圖標(biāo),右擊,在彈出的快捷菜單中選擇“新用戶”菜單項(xiàng),打開“新用戶”窗口。如圖9.3所示,在該窗口中輸入用戶名、密碼,單擊“創(chuàng)建”按鈕,然后單擊“關(guān)閉”按鈕,完成新用戶的創(chuàng)建。圖9.3創(chuàng)建新用戶的界面9.2建立和管理用戶賬戶9.2.1界面方式管理用戶賬9.2.1界面方式管理用戶賬戶第2步:將Windows賬戶加入到SQLServer中。以管理員身份登錄到SQLServerManagementStudio,在對(duì)象資源管理器中,找到并選擇如圖9.4所示的“登錄名”項(xiàng)。右擊鼠標(biāo),在彈出的快捷菜單中選擇“新建登錄名”,打開“登錄名-新建”窗口。

圖9.4新建登錄名9.2.1界面方式管理用戶賬戶第2步:將Windows賬9.2.1界面方式管理用戶賬戶如圖9.5所示,可以通過單擊“常規(guī)”選項(xiàng)卡的“搜索”按鈕,在“選擇用戶或組”對(duì)話框中選擇相應(yīng)的用戶名或用戶組并添加到SQLServer2008登錄用戶列表中。例如,本例的用戶名為0BD7E57C949A420\liu(0BD7E57C949A420為本地計(jì)算機(jī)名)。圖9.5新建登錄名9.2.1界面方式管理用戶賬戶如圖9.5所示,可以通過單9.2.1界面方式管理用戶賬戶2.建立SQLServer驗(yàn)證模式的登錄名步驟如下。第1步:以系統(tǒng)管理員身份登錄SQLServerManagementStudio,在對(duì)象資源管理器中選擇要登錄的SQLServer服務(wù)器圖標(biāo),右擊鼠標(biāo),在彈出的快捷菜單中選擇“屬性”菜單項(xiàng),打開“服務(wù)器屬性”窗口。第2步:在打開的“服務(wù)器屬性”窗口中選擇“安全性”選項(xiàng)卡。選擇服務(wù)器身份驗(yàn)證為“SQLServer和Windows身份驗(yàn)證模式”,單擊“確定”按鈕,保存新的配置,重啟SQLServer服務(wù)即可。創(chuàng)建SQLServer驗(yàn)證模式的登錄名也在如圖9.5所示的界面中進(jìn)行,輸入一個(gè)自己定義的登錄名,例如david,選中“SQLServer身份驗(yàn)證”選項(xiàng),輸入密碼,并將“強(qiáng)制密碼過期”復(fù)選框中的勾去掉,設(shè)置完單擊“確定”按鈕即可。9.2.1界面方式管理用戶賬戶2.建立SQLServe9.2.1界面方式管理用戶賬戶為了測(cè)試創(chuàng)建的登錄名能否連接SQLServer,可以使用新建的登錄名david來進(jìn)行測(cè)試,具體步驟如下:在對(duì)象資源管理器窗口中單擊“連接”,在下拉框中選擇“數(shù)據(jù)庫引擎”,彈出“連接到服務(wù)器”對(duì)話框。在該對(duì)話框中,“身份驗(yàn)證”選擇“SQLServer身份驗(yàn)證”,“登錄名”填寫david,輸入密碼,單擊“連接”按鈕,就能連接SQLServer了。登錄后的“對(duì)象資源管理器”界面如圖9.6所示。圖9.6使用SQLServer驗(yàn)證方式登錄9.2.1界面方式管理用戶賬戶為了測(cè)試創(chuàng)建的登錄名能否連9.2.1界面方式管理用戶賬戶3.管理數(shù)據(jù)庫用戶使用SSMS創(chuàng)建數(shù)據(jù)庫用戶賬戶的步驟如下(以PXSCJ為例):以系統(tǒng)管理員身份連接SQLServer,展開“數(shù)據(jù)庫→PXSCJ→安全性”,選擇“用戶”,右擊鼠標(biāo),選擇“新建用戶”菜單項(xiàng),進(jìn)入“數(shù)據(jù)庫用戶-新建”窗口。在“用戶名”框中填寫一個(gè)數(shù)據(jù)庫用戶名,“登錄名”框中填寫一個(gè)能夠登錄SQLServer的登錄名,如david。注意,一個(gè)登錄名在本數(shù)據(jù)庫中只能創(chuàng)建一個(gè)數(shù)據(jù)庫用戶。選擇默認(rèn)架構(gòu)為dbo,如圖9.7所示,單擊“確定”按鈕完成創(chuàng)建。

圖9.7新建數(shù)據(jù)庫用戶賬戶9.2.1界面方式管理用戶賬戶3.管理數(shù)據(jù)庫用戶圖9.9.2.2命令方式管理用戶賬戶1.創(chuàng)建登錄名在SQLServer2008中,創(chuàng)建登錄名可以使用CREATELOGIN命令。語法格式:CREATELOGINlogin_name{ WITHPASSWORD='password'[HASHED][MUST_CHANGE] [,<option_list>[,...]] /*WITH子句用于創(chuàng)建SQLServer登錄名*/ |FROM /*FROM子句用于創(chuàng)建其他登錄名*/ {

WINDOWS[WITH<windows_options>[,...]] |CERTIFICATEcertname |ASYMMETRICKEYasym_key_name }}9.2.2命令方式管理用戶賬戶1.創(chuàng)建登錄名9.2.2命令方式管理用戶賬戶其中,<option_list>::=SID=sid|DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language|CHECK_EXPIRATION={ON|OFF}|CHECK_POLICY={ON|OFF}[CREDENTIAL=credential_name]

<windows_options>::=DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language9.2.2命令方式管理用戶賬戶其中,9.2.2命令方式管理用戶賬戶(1)創(chuàng)建Windows驗(yàn)證模式登錄名。創(chuàng)建Windows登錄名使用FROM子句,在FROM子句的語法格式中,WINDOWS關(guān)鍵字指定將登錄名映射到Windows登錄名,其中,<windows_options>為創(chuàng)建Windows登錄名的選項(xiàng),DEFAULT_DATABASE指定默認(rèn)數(shù)據(jù)庫,DEFAULT_LANGUAGE指定默認(rèn)語言。【例9.1】

使用命令方式創(chuàng)建Windows登錄名tao(假設(shè)Windows用戶tao已經(jīng)創(chuàng)建,本地計(jì)算機(jī)名為0BD7E57C949A420),默認(rèn)數(shù)據(jù)庫設(shè)為PXSCJ。USEmasterGOCREATELOGIN[0BD7E57C949A420\tao] FROMWINDOWS WITHDEFAULT_DATABASE=PXSCJ9.2.2命令方式管理用戶賬戶(1)創(chuàng)建Windows驗(yàn)9.2.2命令方式管理用戶賬戶(2)創(chuàng)建SQLServer驗(yàn)證模式登錄名。創(chuàng)建SQLServer登錄名使用WITH子句,其中,①PASSWORD:用于指定正在創(chuàng)建的登錄名的密碼,password為密碼字符串。HASHED選項(xiàng)指定在PASSWORD參數(shù)后輸入的密碼已經(jīng)過哈希運(yùn)算,如果未選擇此選項(xiàng),則在將作為密碼輸入的字符串存儲(chǔ)到數(shù)據(jù)庫之前,對(duì)其進(jìn)行哈希運(yùn)算。如果指定MUST_CHANGE選項(xiàng),則SQLServer會(huì)在首次使用新登錄名時(shí)提示用戶輸入新密碼。②<option_list>:用于指定在創(chuàng)建SQLServer登錄名時(shí)的一些選項(xiàng),選項(xiàng)如下。SID:指定新SQLServer登錄名的全局唯一標(biāo)識(shí)符,如果未選擇此選項(xiàng),則自動(dòng)指派。DEFAULT_DATABASE:指定默認(rèn)數(shù)據(jù)庫,如果未指定此選項(xiàng),則默認(rèn)數(shù)據(jù)庫將設(shè)置為master。DEFAULT_LANGUAGE:指定默認(rèn)語言,如果未指定此選項(xiàng),則默認(rèn)語言將設(shè)置為服務(wù)器的當(dāng)前默認(rèn)語言。CHECK_EXPIRATION:指定是否對(duì)此登錄名強(qiáng)制實(shí)施密碼過期策略,默認(rèn)值為OFF。CHECK_POLICY:指定應(yīng)對(duì)此登錄名強(qiáng)制實(shí)施運(yùn)行SQLServer的計(jì)算機(jī)的Windows密碼策略,默認(rèn)值為ON。9.2.2命令方式管理用戶賬戶(2)創(chuàng)建SQLServ9.2.2命令方式管理用戶賬戶【例9.2】

創(chuàng)建SQLServer登錄名sql_tao,密碼為123456,默認(rèn)數(shù)據(jù)庫設(shè)為PXSCJ。CREATELOGINsql_tao WITHPASSWORD='123456', DEFAULT_DATABASE=PXSCJ9.2.2命令方式管理用戶賬戶【例9.2】創(chuàng)建SQL9.2.2命令方式管理用戶賬戶2.刪除登錄名刪除登錄名使用DROPLOGIN命令。語法格式:DROPLOGINlogin_name【例9.3】

刪除Windows登錄名tao。DROPLOGIN[0BD7E57C949A420\tao]【例9.4】

刪除SQLServer登錄名sql_tao。DROPLOGINsql_tao9.2.2命令方式管理用戶賬戶2.刪除登錄名9.2.2命令方式管理用戶賬戶3.創(chuàng)建數(shù)據(jù)庫用戶創(chuàng)建數(shù)據(jù)庫用戶使用CREATEUSER命令。語法格式:CREATEUSERuser_name

[{FOR|FROM}{LOGINlogin_name|CERTIFICATEcert_name|ASYMMETRICKEYasym_key_name}|WITHOUTLOGIN]

[WITHDEFAULT_SCHEMA=schema_name]【例9.5】

使用SQLServer登錄名sql_tao(假設(shè)已經(jīng)創(chuàng)建)在PXSCJ數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫用戶tao,默認(rèn)架構(gòu)名使用dbo。USEPXSCJGOCREATEUSERtao FORLOGINsql_tao WITHDEFAULT_SCHEMA=dbo9.2.2命令方式管理用戶賬戶3.創(chuàng)建數(shù)據(jù)庫用戶9.2.2命令方式管理用戶賬戶4.刪除數(shù)據(jù)庫用戶刪除數(shù)據(jù)庫用戶使用DROPUSER語句。語法格式:DROPUSERuser_nameuser_name為要?jiǎng)h除的數(shù)據(jù)庫用戶名,在刪除之前要使用USE語句指定數(shù)據(jù)庫?!纠?.6】刪除PXSCJ數(shù)據(jù)庫的數(shù)據(jù)庫用戶tao。USEPXSCJGODROPUSERtao9.2.2命令方式管理用戶賬戶4.刪除數(shù)據(jù)庫用戶9.3角色管理9.3.1固定服務(wù)器角色(1)sysadmin:系統(tǒng)管理員,角色成員可對(duì)SQLServer服務(wù)器進(jìn)行所有的管理工作,為最高管理角色。這個(gè)角色一般適合于數(shù)據(jù)庫管理員(DBA)。(2)securityadmin:安全管理員,角色成員可以管理登錄名及其屬性??梢允谟?、拒絕、撤銷服務(wù)器級(jí)和數(shù)據(jù)庫級(jí)的權(quán)限。另外還可以重置SQLServer登錄名的密碼。(3)serveradmin:服務(wù)器管理員,角色成員具有對(duì)服務(wù)器進(jìn)行設(shè)置及關(guān)閉服務(wù)器的權(quán)限。(4)setupadmin:設(shè)置管理員,角色成員可以添加和刪除鏈接服務(wù)器,并執(zhí)行某些系統(tǒng)存儲(chǔ)過程。(5)processadmin:進(jìn)程管理員,角色成員可以終止SQLServer實(shí)例中運(yùn)行的進(jìn)程。(6)diskadmin:用于管理磁盤文件。(7)dbcreator:數(shù)據(jù)庫創(chuàng)建者,角色成員可以創(chuàng)建、更改、刪除或還原任何數(shù)據(jù)庫。(8)bulkadmin:可執(zhí)行BULKINSERT語句,但是這些成員對(duì)要插入數(shù)據(jù)的表必須有INSERT權(quán)限。BULKINSERT語句的功能是以用戶指定的格式復(fù)制一個(gè)數(shù)據(jù)文件至數(shù)據(jù)庫表或視圖。(9)public:其角色成員可以查看任何數(shù)據(jù)庫。9.3角色管理9.3.1固定服務(wù)器角色9.3.1固定服務(wù)器角色1.通過對(duì)象資源管理器添加服務(wù)器角色成員第1步:以系統(tǒng)管理員身份登錄到SQLServer服務(wù)器,在對(duì)象資源管理器中展開“安全性→登錄名”,選擇登錄名,例如“0BD7E57C949A420\liu”,雙擊或右擊選擇“屬性”菜單項(xiàng),打開“登錄屬性”窗口。第2步:在打開的“登錄屬性”窗口中選擇“服務(wù)器角色”選項(xiàng)卡。如圖9.8所示,在“登錄屬性”窗口右邊列出了所有的固定服務(wù)器角色,用戶可以根據(jù)需要,在服務(wù)器角色前的復(fù)選框中打勾,來為登錄名添加相應(yīng)的服務(wù)器角色,此處默認(rèn)已經(jīng)選擇了“public”服務(wù)器角色。單擊“確定”按鈕完成添加。9.3.1固定服務(wù)器角色1.通過對(duì)象資源管理器添加服務(wù)器9.3.1固定服務(wù)器角色圖9.8SQLServer服務(wù)器角色設(shè)置窗口9.3.1固定服務(wù)器角色圖9.8SQLServer9.3.1固定服務(wù)器角色2.利用系統(tǒng)存儲(chǔ)過程添加固定服務(wù)器角色成員利用系統(tǒng)存儲(chǔ)過程sp_addsrvrolemember可將一登錄名添加到某一固定服務(wù)器角色中,使其成為固定服務(wù)器角色的成員。語法格式:sp_addsrvrolemember[@loginame=]'login',

[@rolename=]'role'參數(shù)含義:login指定添加到固定服務(wù)器角色role的登錄名,login可以是SQLServer登錄名或Windows登錄名;對(duì)于Windows登錄名,如果還沒有授予SQLServer訪問權(quán)限,將自動(dòng)對(duì)其授予訪問權(quán)限。固定服務(wù)器角色名role必須為sysadmin、securityadmin、serveradmin、setupadmin、processadmin、diskadmin、dbcreator、bulkadmin和public之一?!纠?.7】

將Windows登錄名0BD7E57C949A420\liu添加到sysadmin固定服務(wù)器角色中。EXECsp_addsrvrolemember'0BD7E57C949A420\liu','sysadmin'9.3.1固定服務(wù)器角色2.利用系統(tǒng)存儲(chǔ)過程添加固定服務(wù)9.3.1固定服務(wù)器角色3.利用系統(tǒng)存儲(chǔ)過程刪除固定服務(wù)器角色成員利用sp_dropsrvrolemember系統(tǒng)存儲(chǔ)過程可從固定服務(wù)器角色中刪除SQLServer登錄名或Windows登錄名。語法格式:sp_dropsrvrolemember[@loginame=]'login',[@rolename=]'role'參數(shù)含義:'login'為將要從固定服務(wù)器角色刪除的登錄名。'role'為服務(wù)器角色名,默認(rèn)值為NULL,必須是有效的固定服務(wù)器角色名。

【例9.8】

從sysadmin固定服務(wù)器角色中刪除SQLServer登錄名david。EXECsp_dropsrvrolemember'david','sysadmin'9.3.1固定服務(wù)器角色3.利用系統(tǒng)存儲(chǔ)過程刪除固定服務(wù)9.3.2固定數(shù)據(jù)庫角色(1)db_owner:數(shù)據(jù)庫所有者,這個(gè)數(shù)據(jù)庫角色的成員可執(zhí)行數(shù)據(jù)庫的所有管理操作。用戶發(fā)出的所有SQL語句均受限于該用戶具有的權(quán)限。例如,CREATEDATABASE僅限于sysadmin和dbcreator固定服務(wù)器角色的成員使用。sysadmin固定服務(wù)器角色的成員、db_owner固定數(shù)據(jù)庫角色的成員以及數(shù)據(jù)庫對(duì)象的所有者都可授予、拒絕或廢除某個(gè)用戶或某個(gè)角色的權(quán)限。使用GRANT賦予執(zhí)行T-SQL語句或?qū)?shù)據(jù)進(jìn)行操作的權(quán)限;使用DENY拒絕權(quán)限,并防止指定的用戶、組或角色從組和角色成員的關(guān)系中繼承權(quán)限;使用REVOKE取消以前授予或拒絕的權(quán)限。

(2)db_accessadmin:數(shù)據(jù)庫訪問權(quán)限管理者,角色成員具有添加、刪除數(shù)據(jù)庫使用者、數(shù)據(jù)庫角色和組的權(quán)限。(3)db_securityadmin:數(shù)據(jù)庫安全管理員,角色成員可管理數(shù)據(jù)庫中的權(quán)限,如設(shè)置數(shù)據(jù)庫表的增加、刪除、修改和查詢等存取權(quán)限。(4)db_ddladmin:數(shù)據(jù)庫DDL管理員,角色成員可增加、修改或刪除數(shù)據(jù)庫中的對(duì)象。9.3.2固定數(shù)據(jù)庫角色(1)db_owner:數(shù)據(jù)庫所9.3.2固定數(shù)據(jù)庫角色(5)db_backupoperator:數(shù)據(jù)庫備份操作員,角色成員具有執(zhí)行數(shù)據(jù)庫備份的權(quán)限。(6)db_datareader:數(shù)據(jù)庫數(shù)據(jù)讀取者,角色成員可以從所有用戶表中讀取數(shù)據(jù)。(7)db_datawriter:數(shù)據(jù)庫數(shù)據(jù)寫入者,角色成員具有對(duì)所有用戶表進(jìn)行增加、刪除、修改的權(quán)限。(8)db_denydatareader:數(shù)據(jù)庫拒絕數(shù)據(jù)讀取者,角色成員不能讀取數(shù)據(jù)庫中任何表的內(nèi)容。(9)db_denydatawriter:數(shù)據(jù)庫拒絕數(shù)據(jù)寫入者,角色成員不能對(duì)任何表進(jìn)行增加、刪修、修改操作。(10)public:是一個(gè)特殊的數(shù)據(jù)庫角色,每個(gè)數(shù)據(jù)庫用戶都是public角色的成員,因此不能將用戶、組或角色指派為public角色的成員,也不能刪除public角色的成員。通常將一些公共的權(quán)限賦給public角色。9.3.2固定數(shù)據(jù)庫角色(5)db_backupoper9.3.2固定數(shù)據(jù)庫角色1.使用對(duì)象資源管理器添加固定數(shù)據(jù)庫角色成員第1步:以系統(tǒng)管理員身份登錄到SQLServer服務(wù)器,在對(duì)象資源管理器中展開“數(shù)據(jù)庫→PXSCJ→安全性→用戶”,選擇一個(gè)數(shù)據(jù)庫用戶,例如“david”,雙擊或單擊右鍵選擇“屬性”菜單項(xiàng),打開“數(shù)據(jù)庫用戶”窗口。第2步:在打開的窗口中,在“常規(guī)”選項(xiàng)卡中的“數(shù)據(jù)庫角色成員身份”欄,用戶可以根據(jù)需要,在數(shù)據(jù)庫角色前的復(fù)選框中打勾,來為數(shù)據(jù)庫用戶添加相應(yīng)的數(shù)據(jù)庫角色,如圖9.9所示,單擊“確定”按鈕完成添加。9.3.2固定數(shù)據(jù)庫角色1.使用對(duì)象資源管理器添加固定數(shù)9.3.2固定數(shù)據(jù)庫角色圖9.9添加固定數(shù)據(jù)庫角色成員9.3.2固定數(shù)據(jù)庫角色圖9.9添加固定數(shù)據(jù)庫角色成9.3.2固定數(shù)據(jù)庫角色第3步:查看固定數(shù)據(jù)庫角色的成員。在對(duì)象資源管理器窗口中,在PXSCJ數(shù)據(jù)庫下的“安全性→角色→數(shù)據(jù)庫角色”目錄下,選擇數(shù)據(jù)庫角色,如db_owner,右擊選擇“屬性”菜單項(xiàng),在屬性窗口中的“角色成員”欄下可以看到該數(shù)據(jù)庫角色的成員列表,如圖9.10所示。圖9.10數(shù)據(jù)庫角色成員列表9.3.2固定數(shù)據(jù)庫角色第3步:查看固定數(shù)據(jù)庫角色的成員9.3.2固定數(shù)據(jù)庫角色2.使用系統(tǒng)存儲(chǔ)過程添加固定數(shù)據(jù)庫角色成員利用系統(tǒng)存儲(chǔ)過程sp_addrolemember可以將一個(gè)數(shù)據(jù)庫用戶添加到某一固定數(shù)據(jù)庫角色中,使其成為該固定數(shù)據(jù)庫角色的成員。語法格式:sp_addrolemember[@rolename=]'role',[@membername=]'security_account'參數(shù)含義:'role'為當(dāng)前數(shù)據(jù)庫中的數(shù)據(jù)庫角色的名稱。'security_account'為添加到該角色的安全賬戶,可以是數(shù)據(jù)庫用戶或當(dāng)前數(shù)據(jù)庫角色。【例9.9】

將PXSCJ數(shù)據(jù)庫上的數(shù)據(jù)庫用戶david(假設(shè)已經(jīng)創(chuàng)建)添加為固定數(shù)據(jù)庫角色db_owner的成員。USEPXSCJGOEXECsp_addrolemember'db_owner','david'9.3.2固定數(shù)據(jù)庫角色2.使用系統(tǒng)存儲(chǔ)過程添加固定數(shù)據(jù)9.3.2固定數(shù)據(jù)庫角色3.使用系統(tǒng)存儲(chǔ)過程刪除固定數(shù)據(jù)庫角色成員利用系統(tǒng)存儲(chǔ)過程sp_droprolemember可以將某一成員從固定數(shù)據(jù)庫角色中去除。語法格式:sp_droprolemember[@rolename=]'role',

[@membername=]'security_account'

【例9.10】

將數(shù)據(jù)庫用戶david從db_owner中去除。USEPXSCJGOEXECsp_droprolemember'db_owner','david'9.3.2固定數(shù)據(jù)庫角色3.使用系統(tǒng)存儲(chǔ)過程刪除固定數(shù)據(jù)9.3.3自定義數(shù)據(jù)庫角色1.通過對(duì)象資源管理器創(chuàng)建數(shù)據(jù)庫角色第1步:創(chuàng)建數(shù)據(jù)庫角色。以Windows系統(tǒng)管理員身份連接SQLServer,在對(duì)象資源管理器中展開“數(shù)據(jù)庫”,選擇要?jiǎng)?chuàng)建角色的數(shù)據(jù)庫(如PXSCJ)→“安全性”→“角色”,右擊鼠標(biāo),在彈出的快捷菜單中選擇“新建”菜單項(xiàng),在彈出的子菜單中選擇“新建數(shù)據(jù)庫角色”菜單項(xiàng),如圖9.11所示。進(jìn)入“數(shù)據(jù)庫角色-新建”窗口。圖9.11新建數(shù)據(jù)庫角色9.3.3自定義數(shù)據(jù)庫角色1.通過對(duì)象資源管理器創(chuàng)建數(shù)據(jù)9.3.3自定義數(shù)據(jù)庫角色第2步:將數(shù)據(jù)庫用戶加入數(shù)據(jù)庫角色。當(dāng)數(shù)據(jù)庫用戶成為某一數(shù)據(jù)庫角色的成員之后,該數(shù)據(jù)庫用戶就獲得該數(shù)據(jù)庫角色所擁有的對(duì)數(shù)據(jù)庫操作的權(quán)限。如圖9.12所示是將PXSCJ數(shù)據(jù)庫的用戶david加入ROLE1角色。圖9.12添加到數(shù)據(jù)庫角色9.3.3自定義數(shù)據(jù)庫角色第2步:將數(shù)據(jù)庫用戶加入數(shù)據(jù)庫9.3.3自定義數(shù)據(jù)庫角色2.通過SQL命令創(chuàng)建數(shù)據(jù)庫角色(1)定義數(shù)據(jù)庫角色。創(chuàng)建用戶自定義數(shù)據(jù)庫角色可以使用CREATEROLE語句。語法格式:CREATEROLErole_name[AUTHORIZATIONowner_name]

【例9.11】

如下示例在當(dāng)前數(shù)據(jù)庫中創(chuàng)建名為ROLE2的新角色,并指定dbo為該角色的所有者。USEPXSCJGOCREATEROLEROLE2 AUTHORIZATIONdbo(2)給數(shù)據(jù)庫角色添加成員。向用戶定義數(shù)據(jù)庫角色添加成員也使用存儲(chǔ)過程sp_addrolemember,用法與之前介紹的基本相同。9.3.3自定義數(shù)據(jù)庫角色2.通過SQL命令創(chuàng)建數(shù)據(jù)庫角9.3.3自定義數(shù)據(jù)庫角色【例9.12】

使用Windows身份驗(yàn)證模式的登錄名(如0BD7E57C949A420\liu)創(chuàng)建PXSCJ數(shù)據(jù)庫的用戶(如0BD7E57C949A420\liu),并將該數(shù)據(jù)庫用戶添加到ROLE1數(shù)據(jù)庫角色中。USEPXSCJGOCREATEUSER[0BD7E57C949A420\liu] FROMLOGIN[0BD7E57C949A420\liu]GOEXECsp_addrolemember'ROLE1','0BD7E57C949A420\liu'【例9.13】

將SQLServer登錄名創(chuàng)建的PXSCJ的數(shù)據(jù)庫用戶wang(假設(shè)已經(jīng)創(chuàng)建)添加到數(shù)據(jù)庫角色ROLE1中。USEPXSCJGOEXECsp_addrolemember'ROLE1','wang'【例9.14】

將數(shù)據(jù)庫角色ROLE2(假設(shè)已經(jīng)創(chuàng)建)添加到ROLE1中。EXECsp_addrolemember'ROLE1','ROLE2'9.3.3自定義數(shù)據(jù)庫角色【例9.12】使用Wind9.3.3自定義數(shù)據(jù)庫角色3.通過SQL命令刪除數(shù)據(jù)庫角色要?jiǎng)h除數(shù)據(jù)庫角色可以使用DROPROLE語句。語法格式:DROPROLErole_name其中,role_name為要?jiǎng)h除的數(shù)據(jù)庫角色的名稱。【例9.15】

刪除數(shù)據(jù)庫角色ROLE2。在刪除ROLE2之前首先需要將ROLE2中的成員刪除,可以使用界面方式,也可以使用命令方式。若使用界面方式,只需在ROLE2的屬性頁中操作即可。命令方式在刪除固定數(shù)據(jù)庫成員時(shí)已經(jīng)介紹,請(qǐng)參見前面內(nèi)容。確認(rèn)ROLE2可以刪除后,使用以下命令刪除ROLE2:DROPROLEROLE29.3.3自定義數(shù)據(jù)庫角色3.通過SQL命令刪除數(shù)據(jù)庫角9.3.4應(yīng)用程序角色在SQLServer2008中創(chuàng)建應(yīng)用程序角色并測(cè)試的具體步驟如下。第1步:以系統(tǒng)管理員身份連接SQLServer,在“對(duì)象資源管理器”窗口中展開“數(shù)據(jù)庫→PXSCJ→安全性→角色”,右擊“應(yīng)用程序角色”,選擇“新建應(yīng)用程序角色”。第2步:在“應(yīng)用程序角色-新建”窗口中輸入應(yīng)用程序角色名稱addrole,默認(rèn)架構(gòu)dbo,設(shè)置密碼為123456,如圖9.13所示。圖9.13新建應(yīng)用程序角色9.3.4應(yīng)用程序角色在SQLServer2008中9.3.4應(yīng)用程序角色在“安全對(duì)象”選項(xiàng)卡頁面中,可以單擊“搜索”按鈕,添加“特定對(duì)象”,選擇對(duì)象為表XSB,如圖9.14所示。圖9.14選擇對(duì)象表XSB9.3.4應(yīng)用程序角色在“安全對(duì)象”選項(xiàng)卡頁面中,可以單9.3.4應(yīng)用程序角色單擊“確定”按鈕回到“安全對(duì)象”選項(xiàng)卡中,授予表XSB的“選擇”權(quán)限(如圖9.15),完成后單擊“確認(rèn)”按鈕。圖9.15授予應(yīng)用程序角色表XSB上的查看權(quán)限9.3.4應(yīng)用程序角色單擊“確定”按鈕回到“安全對(duì)象”選9.3.4應(yīng)用程序角色第3步:新建SQLServer登錄名jack,并新建PXSCJ數(shù)據(jù)庫的數(shù)據(jù)庫用戶jack(將其添加為db_denydatareader數(shù)據(jù)庫角色的成員),使用“jack”登錄名連接SQLServer。在查詢窗口中輸入如下語句:USEPXSCJGOSELECT*FROMXSB運(yùn)行結(jié)果如圖9.16所示。圖9.16使用jack用戶查詢XSB表9.3.4應(yīng)用程序角色第3步:新建SQLServer登9.3.4應(yīng)用程序角色第4步:使用系統(tǒng)存儲(chǔ)過程sp_setapprole激活應(yīng)用程序角色,語句如下:EXECsp_setapprole'addrole','123456'第5步:在當(dāng)前查詢窗口中重新輸入第3步中的查詢語句,執(zhí)行結(jié)果如圖9.17所示。圖9.17成功查詢9.3.4應(yīng)用程序角色第4步:使用系統(tǒng)存儲(chǔ)過程sp_se9.4數(shù)據(jù)庫權(quán)限的管理9.4.1授予權(quán)限權(quán)限的授予可以使用命令方式或界面方式完成。(1)使用命令方式授予權(quán)限。利用GRANT語句可以給數(shù)據(jù)庫用戶或數(shù)據(jù)庫角色授予數(shù)據(jù)庫級(jí)別或?qū)ο蠹?jí)別的權(quán)限。語法格式:GRANT{ALL[PRIVILEGES]}|permission[(column[,...n])][,...n][ONsecurable]TOprincipal[,...n][WITHGRANTOPTI【例9.16】

給PXSCJ數(shù)據(jù)庫上的用戶david和wang授予創(chuàng)建表的權(quán)限。以系統(tǒng)管理員身份登錄SQLServer,新建一個(gè)查詢,輸入以下語句:USEPXSCJGOGRANTCREATETABLE TOdavid,wangGOON][ASprincipal]9.4數(shù)據(jù)庫權(quán)限的管理9.4.1授予權(quán)限9.4.1授予權(quán)限【例9.17】

首先在數(shù)據(jù)庫PXSCJ中給public角色授予表XSB的SELECT權(quán)限。然后,將其他一些權(quán)限授予用戶david和wang,使用戶有對(duì)XSB表的所有操作權(quán)限。以系統(tǒng)管理員身份登錄SQLServer,新建一個(gè)查詢,輸入以下語句:USEPXSCJGOGRANTSELECT ONXSB TOpublicGOGRANTINSERT,UPDATE,DELETE,REFERENCES ONXSB TOdavid,wangGO【例9.18】

將CREATETABLE權(quán)限授予數(shù)據(jù)庫角色ROLE1的所有成員。以系統(tǒng)管理員身份登錄SQLServer,新建一個(gè)查詢,輸入以下語句:GRANTCREATETABLE TOROLE19.4.1授予權(quán)限【例9.17】首先在數(shù)據(jù)庫PXSC9.4.1授予權(quán)限【例9.19】

以系統(tǒng)管理員身份登錄SQLServer,將表XSB的SELECT權(quán)限授予ROLE2角色(指定WITHGRANTOPTION子句)。用戶li是ROLE2的成員(創(chuàng)建過程略),在li用戶上將表XSB上的SELECT權(quán)限授予用戶huang(創(chuàng)建過程略),huang不是ROLE2的成員。首先以Windows系統(tǒng)管理員身份連接SQLServer,授予角色ROLE2在XSB表上的SELECT權(quán)限:USEPXSCJGOGRANTSELECT ONXSB TOROLE2 WITHGRANTOPTION9.4.1授予權(quán)限【例9.19】以系統(tǒng)管理員身份登錄9.4.1授予權(quán)限在“SQLServerManagementStudio”窗口上單擊“新建查詢”按鈕旁邊的數(shù)據(jù)庫引擎查詢按鈕“

”,在彈出的連接窗口中以li用戶的登錄名登錄,如圖9.18所示。單擊“連接”按鈕連接到SQLServer服務(wù)器,出現(xiàn)“查詢分析器”窗口。圖9.18以li用戶身份登錄9.4.1授予權(quán)限在“SQLServerManage9.4.1授予權(quán)限在“查詢分析器”窗口中使用如下語句將用戶li在XSB表上的SELECT權(quán)限授予huang:USEPXSCJGOGRANTSELECT ONXSBTOhuang ASROLE2【例9.20】

在當(dāng)前數(shù)據(jù)庫PXSCJ中給public角色賦予對(duì)表XSB中學(xué)號(hào)、姓名字段的SELECT權(quán)限。以系統(tǒng)管理員身份登錄SQLServer,新建一個(gè)查詢,輸入以下語句:USEPXSCJGOGRANTSELECT (學(xué)號(hào),姓名)ONXSB TOpublicGO9.4.1授予權(quán)限在“查詢分析器”窗口中使用如下語句將用9.4.1授予權(quán)限(2)使用界面方式授予語句權(quán)限。①

授予數(shù)據(jù)庫上的權(quán)限。以給數(shù)據(jù)庫用戶wang(假設(shè)該用戶已經(jīng)使用SQLServer登錄名“wang”創(chuàng)建)授予PXSCJ數(shù)據(jù)庫的CREATETABLE語句的權(quán)限(即創(chuàng)建表的權(quán)限)為例,在SQLServerManagementStudio中授予用戶權(quán)限的步驟如下:以系統(tǒng)管理員身份登錄到SQLServer服務(wù)器,在對(duì)象資源管理器中展開“數(shù)據(jù)庫→PXSCJ”,右擊鼠標(biāo),選擇“屬性”菜單項(xiàng)進(jìn)入PXSCJ數(shù)據(jù)庫的屬性窗口,選擇“權(quán)限”頁。9.4.1授予權(quán)限(2)使用界面方式授予語句權(quán)限。9.4.1授予權(quán)限在用戶或角色欄中選擇需要授予權(quán)限的用戶或角色(如wang),在窗口下方列出的權(quán)限列表中找到相應(yīng)的權(quán)限(如“創(chuàng)建表”),在復(fù)選框中打勾,如圖9.19所示。圖9.19授予用戶數(shù)據(jù)庫上的權(quán)限9.4.1授予權(quán)限在用戶或角色欄中選擇需要授予權(quán)限的用戶9.4.1授予權(quán)限如圖9.19所示。單擊“確定”按鈕即可完成。如果需要授予權(quán)限的用戶在列出的用戶列表中不存在,則可以單擊“搜索”按鈕將該用戶添加到列表中再選擇。選擇用戶后在如圖9.19所示窗口中單擊“有效”選項(xiàng)卡可以查看該用戶在當(dāng)前數(shù)據(jù)庫中有哪些權(quán)限。②

授予數(shù)據(jù)庫對(duì)象上的權(quán)限。以給數(shù)據(jù)庫用戶wang授予KCB表上的SELECT、INSERT的權(quán)限為例,步驟如下:以系統(tǒng)管理員身份登錄到SQLServer服務(wù)器,在對(duì)象資源管理器中展開“數(shù)據(jù)庫→PXSCJ→表→KCB”,右擊鼠標(biāo),選擇“屬性”菜單項(xiàng)進(jìn)入KCB表的屬性窗口,選擇“權(quán)限”選項(xiàng)卡。9.4.1授予權(quán)限如圖9.19所示。單擊“確定”按鈕即可9.4.1授予權(quán)限單擊“搜索”按鈕,在彈出的“選擇用戶或角色”窗口中單擊“瀏覽”按鈕,選擇需要授權(quán)的用戶或角色(如wang),選擇后單擊“確定”按鈕回到KCB表的屬性窗口。在該窗口中選擇用戶(如huang),在權(quán)限列表中選擇需要授予的權(quán)限,如“插入(INSERT)”、“選擇(SELECT)”,如圖9.20所示,單擊“確定”按鈕完成授權(quán)。圖9.20授予用戶數(shù)據(jù)庫對(duì)象上的權(quán)限9.4.1授予權(quán)限單擊“搜索”按鈕,在彈出的“選擇用戶或9.4.2拒絕權(quán)限使用DENY命令可以拒絕給當(dāng)前數(shù)據(jù)庫內(nèi)的用戶授予的權(quán)限,并防止數(shù)據(jù)庫用戶通過其組或角色成員資格繼承權(quán)限。語法格式:DENY{ALL[PRIVILEGES]}|permission[(column[,...n])][,...n][ONsecurable]TOprincipal[,...n][CASCADE][ASprincipal]【例9.21】

對(duì)多個(gè)用戶不允許使用CREATEVIEW和CREATETABLE語句。DENYCREATEVIEW,CREATETABLE TOli,huangGO9.4.2拒絕權(quán)限使用DENY命令可以拒絕給當(dāng)前數(shù)據(jù)庫內(nèi)9.4.2拒絕權(quán)限【例9.22】

拒絕用戶li、huang、[0BD7E57C949A420\liu]對(duì)表XSB的一些權(quán)限,這樣,這些用戶就沒有對(duì)XSB表的操作權(quán)限了。USEPXSCJGODENYSELECT,INSERT,UPDATE,DELETE ONXSBTOli,huang,[0BD7E57C949A420\liu]GO【例9.23】

對(duì)所有ROLE2角色成員拒絕CREATETABLE權(quán)限。DENYCREATETABLE TOROLE2GO9.4.2拒絕權(quán)限【例9.22】拒絕用戶li、hua9.4.3撤銷權(quán)限利用REVOKE命令可撤銷以前給當(dāng)前數(shù)據(jù)庫用戶授予或拒絕的權(quán)限。語法格式:REVOKE[GRANTOPTIONFOR]{[ALL[PRIVILEGES]]|permission[(column[,...n])][,...n]}[ONsecurable]{TO|FROM}principal[,...n][CASCADE][ASprincipal]【例9.24】

取消已授予用戶wang的CREATETABLE權(quán)限。REVOKECREATETABLE FROMwang【例9.25】

取消授予多個(gè)用戶的多個(gè)語句權(quán)限。REVOKECREATETABLE,CREATEDEFAULT FROMwang,liGO9.4.3撤銷權(quán)限利用REVOKE命令可撤銷以前給當(dāng)前數(shù)9.4.3撤銷權(quán)限【例9.26】

取消以前對(duì)wang授予或拒絕的在XSB表上的SELECT權(quán)限。REVOKESELECT ONXSB FROMwang【例9.27】

角色ROLE2在XSB表上擁有SELECT權(quán)限,用戶li是ROLE2的成員,li使用WITHGRANTOPTION子句將SELECT權(quán)限轉(zhuǎn)移給了用戶huang,用戶huang不是ROLE2的成員?,F(xiàn)要以用戶li的身份撤銷用戶huang的SELECT權(quán)限。以用戶“l(fā)i”的身份登錄SQLServer服務(wù)器,新建一個(gè)查詢,使用如下語句撤銷huang的SELECT權(quán)限:USEPXSCJGOREVOKESELECT ONXSB TOhuang ASROLE29.4.3撤銷權(quán)限【例9.26】取消以前對(duì)wang授9.5數(shù)據(jù)庫架構(gòu)的定義和使用9.5.1使用界面方式創(chuàng)建架構(gòu)以在PXSCJ數(shù)據(jù)庫中創(chuàng)建架構(gòu)為例,具體步驟如下。第1步:以系統(tǒng)管理員身份登錄SQLServer,在對(duì)象資源管理器中展開“數(shù)據(jù)庫→PXSCJ→安全性”,選擇“架構(gòu)”,右擊鼠標(biāo),在彈出的快捷菜單中選擇“新建架構(gòu)”菜單項(xiàng)。第2步:在打開的“架構(gòu)-新建”窗口中選擇“常規(guī)”選項(xiàng)卡,在窗口右邊“架構(gòu)名稱”下面的文本框中輸入架構(gòu)名稱(如test)。單擊“搜索”按鈕,在打開的“搜索角色和用戶”對(duì)話框中單擊“瀏覽”按鈕。如圖9.21所示,在打開的“查找對(duì)象”對(duì)話框中,在用戶“david”前面的復(fù)選框中打勾,單擊“確定”按鈕,返回“搜索角色和用戶”對(duì)話框。單擊“確定”按鈕,返回“架構(gòu)-新建”窗口。單擊“確定”

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論