版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第10章系統(tǒng)安全治理10.1SQLServer2023的安全機(jī)制10.2建立和治理用戶賬戶10.3角色管理10.4數(shù)據(jù)庫(kù)權(quán)限的治理10.5數(shù)據(jù)庫(kù)架構(gòu)的定義和使用10.1SQLServer2023的安全機(jī)制10.1.1SQLServer身份驗(yàn)證模式身份驗(yàn)證模式是指系統(tǒng)確認(rèn)用戶的方式。SQLServer有兩種身份驗(yàn)證模式:Windows驗(yàn)證模式和SQLServer驗(yàn)證模式。這是在安裝SQLServer的過(guò)程中由“數(shù)據(jù)庫(kù)引擎配置”確定的,如圖10.1所示。10.1.1SQLServer身份驗(yàn)證模式1.Windows驗(yàn)證模式用戶登錄Windows時(shí)進(jìn)展身份驗(yàn)證,登錄SQLServer時(shí)就不再進(jìn)展身份驗(yàn)證了。留意:〔1〕必需將Windows賬戶參與到SQLServer中,才能承受Windows賬戶登錄SQLServer?!?〕假設(shè)使用Windows賬戶登錄到另一個(gè)網(wǎng)絡(luò)的SQLServer,則必需在Windows中設(shè)置彼此的托管權(quán)限。2.SQLServer驗(yàn)證模式在SQLServer驗(yàn)證模式下,SQLServer效勞器要對(duì)登錄的用戶進(jìn)展身份驗(yàn)證。系統(tǒng)治理員必需設(shè)定登錄驗(yàn)證模式的類型為混合驗(yàn)證模式。當(dāng)承受混合模式時(shí),SQLServer系統(tǒng)既允許使用Windows登錄名登錄,也允許使用SQLServer登錄名登錄。10.1.2SQLServer安全性機(jī)制1.效勞器級(jí)別效勞器級(jí)別所包含的安全對(duì)象主要有登錄名、固定效勞器角色等。其中,登錄名用于登錄數(shù)據(jù)庫(kù)效勞器,而固定效勞器角色用于給登錄名賜予相應(yīng)的效勞器權(quán)限。SQLServer中的登錄名主要有兩種:第一種是Windows登錄名,其次種是SQLServer登錄名。Windows登錄名對(duì)應(yīng)Windows驗(yàn)證模式,該驗(yàn)證模式所涉及的賬戶類型主要有Windows本地用戶賬戶、Windows域用戶賬戶、Windows組。2.?dāng)?shù)據(jù)庫(kù)級(jí)別數(shù)據(jù)庫(kù)級(jí)別所包含的安全對(duì)象主要有用戶、角色、應(yīng)用程序角色、證書、對(duì)稱密鑰、非對(duì)稱密鑰、程序集、全文名目、DDL大事、架構(gòu)等。用戶安全對(duì)象是用來(lái)訪問(wèn)數(shù)據(jù)庫(kù)的。假設(shè)某人只擁有登錄名,而沒(méi)有在相應(yīng)的數(shù)據(jù)庫(kù)中為其創(chuàng)立登錄名所對(duì)應(yīng)的用戶,則該用戶只能登錄數(shù)據(jù)庫(kù)效勞器,而不能訪問(wèn)相應(yīng)的數(shù)據(jù)庫(kù)。10.1.2SQLServer安全性機(jī)制3.架構(gòu)級(jí)別架構(gòu)級(jí)別所包含的安全對(duì)象有表、視圖、函數(shù)、存儲(chǔ)過(guò)程、類型、同義詞、聚合函數(shù)等。在創(chuàng)立這些對(duì)象時(shí)可設(shè)定架構(gòu),假設(shè)不設(shè)定則系統(tǒng)默認(rèn)架構(gòu)為dbo。數(shù)據(jù)庫(kù)用戶只能對(duì)屬于自己架構(gòu)中的數(shù)據(jù)庫(kù)對(duì)象執(zhí)行相應(yīng)的數(shù)據(jù)操作。至于操作的權(quán)限則由數(shù)據(jù)庫(kù)角色準(zhǔn)備。例如,假設(shè)某數(shù)據(jù)庫(kù)中的表A屬于架構(gòu)S1,表B屬于架構(gòu)S2,而某用戶默認(rèn)的架構(gòu)為S2,假設(shè)沒(méi)有授予用戶操作表A的權(quán)限,則該用戶不能對(duì)表A執(zhí)行相應(yīng)的數(shù)據(jù)操作。但是,該用戶可以對(duì)表B執(zhí)行相應(yīng)的操作。10.1.3SQLServer數(shù)據(jù)庫(kù)安全驗(yàn)證過(guò)程一個(gè)用戶假設(shè)要對(duì)某一數(shù)據(jù)庫(kù)進(jìn)展操作,則必需滿足以下三個(gè)條件:〔1〕登錄SQLServer效勞器時(shí)必需通過(guò)身份驗(yàn)證。〔2〕必需是該數(shù)據(jù)庫(kù)的用戶,或者是某一數(shù)據(jù)庫(kù)角色的成員?!?〕必需有對(duì)數(shù)據(jù)庫(kù)對(duì)象執(zhí)行該操作的權(quán)限。10.1.3SQLServer數(shù)據(jù)庫(kù)安全驗(yàn)證過(guò)程不管使用哪種驗(yàn)證方式,用戶都必需具備有效的Windows用戶登錄名。SQLServer有兩個(gè)常用的默認(rèn)登錄名:sa和計(jì)算機(jī)名\Windows治理員賬戶名。其中,sa是系統(tǒng)治理員,在SQLServer中擁有系統(tǒng)和數(shù)據(jù)庫(kù)的全部權(quán)限,如圖10.2所示。10.2建立和治理用戶賬戶10.2.1以界面方式治理用戶賬戶1.建立Windows驗(yàn)證模式的登錄名〔1〕創(chuàng)立Windows的用戶。以治理員身份登錄到Windows,翻開把握面板,完成新用戶“l(fā)iu”的創(chuàng)立?!?〕將Windows賬戶參與到SQLServer中。以治理員身份登錄到“SSMS”,在“對(duì)象資源治理器”中,在“安全性”下選擇“登錄名”項(xiàng)。右擊鼠標(biāo),在彈出的快捷菜單中選擇“新建登錄名”,翻開“登錄名-新建”窗口??梢酝ㄟ^(guò)單擊“常規(guī)”選項(xiàng)頁(yè)的“搜尋”按鈕,在“選擇用戶或組”對(duì)話框的“輸入要選擇的對(duì)象名稱”中輸入“l(fā)iu”,然后單擊“檢查名稱”按鈕,系統(tǒng)生成“PC-202312101514\liu”〔如圖10.3所示〕,單擊“確定”按鈕,回到“登錄名-新建”窗口。10.2.1以界面方式治理用戶賬戶在登錄名中就會(huì)顯示完整名稱。選擇默認(rèn)數(shù)據(jù)庫(kù)為“pxscj”,如圖10.4所示。10.2.1以界面方式治理用戶賬戶2.建立SQLServer驗(yàn)證模式的登錄名〔1〕將驗(yàn)證模式設(shè)為混合模式。以系統(tǒng)治理員身份登錄“SSMS”,在“對(duì)象資源治理器”中選擇要登錄的SQLServer效勞器圖標(biāo),右擊鼠標(biāo),在彈出的快捷菜單中選擇“屬性”菜單項(xiàng),翻開“效勞器屬性”窗口。選擇“安全性”選項(xiàng)頁(yè)。選擇效勞器身份驗(yàn)證為“SQLServer和Windows身份驗(yàn)證模式”,如圖10.5所示。10.2.1以界面方式治理用戶賬戶〔2〕創(chuàng)立SQLServer驗(yàn)證模式的登錄名。在“對(duì)象資源治理器”中“安全性”下的“登錄名”上按右鍵,選擇“新建登錄名”,系統(tǒng)顯示“登錄名-新建”對(duì)話框。選擇“SQLServer身份驗(yàn)證”,登錄名輸入“SQL_liu”,輸入密碼和確認(rèn)密碼“123”,并將“強(qiáng)制密碼過(guò)期”復(fù)選框中的鉤去掉,默認(rèn)數(shù)據(jù)庫(kù)為“pxscj”,如圖10.6所示。單擊“確定”按鈕即可。10.2.1以界面方式治理用戶賬戶3.治理數(shù)據(jù)庫(kù)用戶〔1〕以登錄名新建數(shù)據(jù)庫(kù)用戶。以系統(tǒng)治理員身份連接SQLServer,開放“數(shù)據(jù)庫(kù)”→這里可選“pxscj”→“安全性”,選擇“用戶”,右擊鼠標(biāo),選擇“新建用戶”菜單項(xiàng),進(jìn)入“數(shù)據(jù)庫(kù)用戶-新建”窗口。在“登錄名”框中填寫一個(gè)能夠登錄SQLServer的登錄名,如“SQL_liu”。在“用戶名”框中填寫一個(gè)數(shù)據(jù)庫(kù)用戶名“User_SQL_liu”。一個(gè)登錄名在本數(shù)據(jù)庫(kù)中只能創(chuàng)立一個(gè)數(shù)據(jù)庫(kù)用戶。這里可選擇默認(rèn)架構(gòu)為dbo,如圖10.7所示。10.2.1以界面方式治理用戶賬戶圖10.7新建數(shù)據(jù)庫(kù)用戶〔SQLServer登錄名〕10.2.1以界面方式治理用戶賬戶也可承受上述方法在pxscj數(shù)據(jù)庫(kù)下新建Windows登錄名“l(fā)iu”對(duì)應(yīng)的用戶“User_liu”,如圖10.8所示。10.2.1以界面方式治理用戶賬戶〔2〕數(shù)據(jù)庫(kù)用戶顯示。數(shù)據(jù)庫(kù)用戶創(chuàng)立成功后,可以通過(guò)選擇“pxscj”→“安全性”,選擇“用戶”欄查看到該用戶。在“用戶”列表中,還可以修改現(xiàn)有數(shù)據(jù)庫(kù)用戶的屬性,或者刪除該用戶。〔3〕以SQLServer登錄名連接SQLServer。重啟SQLServer,在對(duì)話框的“身份驗(yàn)證”框中選擇“SQLServer身份驗(yàn)證”,“登錄名”填寫為“SQL_liu”,輸入密碼“123”,單擊“連接”按鈕,即可連接SQLServer,如圖10.9所示。10.2.1以界面方式治理用戶賬戶此時(shí)的“對(duì)象資源治理器”如圖10.10所示。10.2.2以命令方式治理用戶賬戶:CREATELOGIN/USER1.登錄名創(chuàng)立1〕創(chuàng)立登錄名語(yǔ)法格式:CREATELOGIN登錄名{WITHPASSWORD=”密碼”[HASHED][MUST_CHANGE][,<選項(xiàng)列表>[,...]] /*WITH子句用于創(chuàng)立SQLServer登錄名*/|FROM /*FROM子句用于創(chuàng)立其他登錄名*/{WINDOWS[WITH<Windows選項(xiàng)>[,...]]|CERTIFICATE證書名|ASYMMETRICKEY非對(duì)稱密鑰名}}10.2.2以命令方式治理用戶賬戶:CREATELOGIN/USER其中:<選項(xiàng)列表>::=SID=登錄GUID|DEFAULT_DATABASE=數(shù)據(jù)庫(kù)|DEFAULT_LANGUAGE=語(yǔ)言|CHECK_EXPIRATION={ON|OFF}|CHECK_POLICY={ON|OFF}[CREDENTIAL=憑據(jù)名]<Windows選項(xiàng)>::=DEFAULT_DATABASE=數(shù)據(jù)庫(kù)|DEFAULT_LANGUAGE=語(yǔ)言10.2.2以命令方式治理用戶賬戶:CREATELOGIN/USER〔1〕創(chuàng)立Windows驗(yàn)證模式登錄名。創(chuàng)立Windows登錄名使用FROM子句,在FROM子句的語(yǔ)法格式中,WINDOWS關(guān)鍵字指定將登錄名映射到Windows登錄名,其中,<Windows選項(xiàng)>為創(chuàng)立Windows登錄名的選項(xiàng),DEFAULT_DATABASE指定默認(rèn)數(shù)據(jù)庫(kù),DEFAULT_LANGUAGE指定默認(rèn)語(yǔ)言?!纠?0.1】以命令方式創(chuàng)立Windows登錄名tao〔假設(shè)Windows用戶tao已經(jīng)創(chuàng)立,本地計(jì)算機(jī)名為“PC-202312101514”〕,默認(rèn)數(shù)據(jù)庫(kù)設(shè)為pxscj。USEpxscjGOCREATELOGIN[PC-202312101514\tao]FROMWINDOWSWITHDEFAULT_DATABASE=pxscj命令執(zhí)行成功后,在“登錄名”→“安全性”列表上就可以查看到該登錄名。10.2.2以命令方式治理用戶賬戶:CREATELOGIN/USER〔2〕創(chuàng)立SQLServer驗(yàn)證模式登錄名。創(chuàng)立SQLServer登錄名使用WITH子句,其中,PASSWORD:用于指定正在創(chuàng)立的登錄名的密碼,“”密碼””為密碼字符串。HASHED選項(xiàng)指定在PASSWORD參數(shù)后輸入的密碼已經(jīng)過(guò)哈希運(yùn)算。<選項(xiàng)列表>:用于指定在創(chuàng)立SQLServer登錄名時(shí)的如下選項(xiàng)。
SID:指定新SQLServer登錄名的全局唯一標(biāo)識(shí)符。假設(shè)未選擇此選項(xiàng),則自動(dòng)指派。
DEFAULT_DATABASE:指定默認(rèn)數(shù)據(jù)庫(kù)。假設(shè)未指定此選項(xiàng),則默認(rèn)數(shù)據(jù)庫(kù)將設(shè)置為master。
DEFAULT_LANGUAGE:指定默認(rèn)語(yǔ)言。假設(shè)未指定此選項(xiàng),則默認(rèn)語(yǔ)言將設(shè)置為效勞器的當(dāng)前默認(rèn)語(yǔ)言。
CHECK_EXPIRATION:指定是否對(duì)此登錄名強(qiáng)制實(shí)施密碼過(guò)期策略,默認(rèn)值為OFF。
CHECK_POLICY:指定應(yīng)對(duì)此登錄名強(qiáng)制實(shí)施運(yùn)行SQLServer的計(jì)算機(jī)的Windows密碼策略,默認(rèn)值為ON?!纠?0.2】創(chuàng)立SQLServer登錄名SQL_tao,密碼為123456,默認(rèn)數(shù)據(jù)庫(kù)設(shè)為pxscj。CREATELOGINSQL_taoWITHPASSWORD=”123456”,DEFAULT_DATABASE=pxscj10.2.2以命令方式治理用戶賬戶:CREATELOGIN/USER2〕刪除登錄名刪除登錄名使用DROPLOGIN命令。語(yǔ)法格式:DROPLOGIN登錄名例如,刪除Windows登錄名tao和SQLServer登錄名SQL_tao。DROPLOGIN[PC-202312101514\tao]DROPLOGINSQL_tao10.2.2以命令方式治理用戶賬戶:CREATELOGIN/USER2.?dāng)?shù)據(jù)庫(kù)用戶創(chuàng)立1〕創(chuàng)立數(shù)據(jù)庫(kù)用戶創(chuàng)立數(shù)據(jù)庫(kù)用戶使用CREATEUSER命令。語(yǔ)法格式:CREATEUSER用戶名[{FOR|FROM}{LOGIN登錄名|CERTIFICATE證書名|ASYMMETRICKEY非對(duì)稱密鑰名}|WITHOUTLOGIN][WITHDEFAULT_SCHEMA=架構(gòu)名]10.2.2以命令方式治理用戶賬戶:CREATELOGIN/USER【例10.3】使用SQLServer登錄名SQL_tao和Windows登錄名[PC-202312101514\tao]在pxscj數(shù)據(jù)庫(kù)中創(chuàng)立數(shù)據(jù)庫(kù)用戶User_SQL_tao和User_tao,默認(rèn)架構(gòu)名使用dbo。USEpxscjGOCREATEUSERUser_SQL_taoFORLOGINSQL_taoWITHDEFAULT_SCHEMA=dboCREATEUSERUser_taoFORLOGIN[PC-202312101514\tao]WITHDEFAULT_SCHEMA=dbo命令執(zhí)行成功后,可以在數(shù)據(jù)庫(kù)pxscj的“安全性”下的“用戶”列表中查看到該數(shù)據(jù)庫(kù)用戶。10.2.2以命令方式治理用戶賬戶:CREATELOGIN/USER2〕刪除數(shù)據(jù)庫(kù)用戶刪除數(shù)據(jù)庫(kù)用戶使用DROPUSER語(yǔ)句。語(yǔ)法格式:DROPUSER用戶名“用戶名”為要?jiǎng)h除的數(shù)據(jù)庫(kù)用戶名,在刪除之前要使用USE語(yǔ)句指定數(shù)據(jù)庫(kù)。例如,刪除pxscj數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)用戶User_SQL_tao。USEpxscjGODROPUSERUser_SQL_tao,User_tao10.3角色管理10.3.1固定效勞器角色SQLServer供給了以下固定效勞器角色?!?〕sysadmin:系統(tǒng)治理員,角色成員可對(duì)SQLServer效勞器進(jìn)展全部的治理工作,為最高治理角色。〔2〕securityadmin:安全治理員,角色成員可以治理登錄名及其屬性,可以授予、拒絕、撤銷效勞器級(jí)和數(shù)據(jù)庫(kù)級(jí)的權(quán)限,還可以重置SQLServer登錄名的密碼?!?〕serveradmin:效勞器治理員,角色成員具有對(duì)效勞器進(jìn)展設(shè)置及關(guān)閉效勞器的權(quán)限?!?〕setupadmin:設(shè)置治理員,角色成員可以添加和刪除鏈接效勞器,并執(zhí)行某些系統(tǒng)存儲(chǔ)過(guò)程?!?〕processadmin:進(jìn)程治理員,角色成員可以終止SQLServer實(shí)例中運(yùn)行的進(jìn)程。〔6〕diskadmin:用于治理磁盤文件?!?〕dbcreator:數(shù)據(jù)庫(kù)創(chuàng)立者,角色成員可以創(chuàng)立、更改、刪除或復(fù)原任何數(shù)據(jù)庫(kù)?!?〕bulkadmin:可執(zhí)行BULKINSERT語(yǔ)句,但是這些成員對(duì)要插入數(shù)據(jù)的表必需有INSERT權(quán)限?!?〕public:其角色成員可以查看任何數(shù)據(jù)庫(kù)。10.3.1固定效勞器角色1.界面方式添加效勞器角色成員〔1〕以系統(tǒng)治理員身份登錄到SQLServer效勞器,在“對(duì)象資源治理器”中開放“安全性”→“登錄名”,選擇登錄名,例如“PC-202312101514\tao”,雙擊或右擊選擇“屬性”菜單項(xiàng),翻開“登錄屬性”窗口。〔2〕在翻開的“登錄屬性”窗口中選擇“效勞器角色”選項(xiàng)頁(yè),在“登錄屬性”窗口右邊列出了全部的固定效勞器角色,用戶可以依據(jù)需要,在效勞器角色前的復(fù)選框中打鉤,來(lái)為登錄名添加相應(yīng)的效勞器角色。此處默認(rèn)已經(jīng)選擇了“public”效勞器角色。單擊“確定”按鈕完成添加。10.3.1固定效勞器角色2.利用“系統(tǒng)存儲(chǔ)過(guò)程”添加固定效勞器角色成員利用系統(tǒng)存儲(chǔ)過(guò)程sp_addsrvrolemember可將一登錄名添加到某一固定效勞器角色中,使其成為固定效勞器角色的成員。語(yǔ)法格式:sp_addsrvrolemember[@登錄名=]”login”,
[@角色名=]”role”參數(shù)含義:”login”指定添加到固定效勞器角色”role”的登錄名,”login”可以是SQLServer登錄名或Windows登錄名;對(duì)于Windows登錄名,假設(shè)還沒(méi)有授予SQLServer訪問(wèn)權(quán)限,將自動(dòng)對(duì)其授予訪問(wèn)權(quán)限。【例10.4】將SQLServer登錄名“SQL_tao”添加到sysadmin固定效勞器角色中。EXECsp_addsrvrolemember”SQL_tao”,”sysadmin”10.3.1固定效勞器角色3.利用“系統(tǒng)存儲(chǔ)過(guò)程”刪除固定效勞器角色成員利用sp_dropsrvrolemember系統(tǒng)存儲(chǔ)過(guò)程可從固定效勞器角色中刪除SQLServer登錄名或Windows登錄名。語(yǔ)法格式:sp_dropsrvrolemember[@登錄名=]”login”,[@角色名=]”role”參數(shù)含義:”login”為將要從固定效勞器角色刪除的登錄名。”role”為效勞器角色名,默認(rèn)值為NULL,必需是有效的固定效勞器角色名。例如,從sysadmin固定效勞器角色中刪除SQLServer登錄名SQL_tao。EXECsp_dropsrvrolemember”SQL_tao”,”sysadmin”10.3.2固定數(shù)據(jù)庫(kù)角色〔1〕db_owner:數(shù)據(jù)庫(kù)全部者,這個(gè)數(shù)據(jù)庫(kù)角色的成員可執(zhí)行數(shù)據(jù)庫(kù)的全部治理操作?!?〕db_accessadmin:數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限治理者,角色成員具有增加、刪除數(shù)據(jù)庫(kù)使用者、數(shù)據(jù)庫(kù)角色和組的權(quán)限?!?〕db_securityadmin:數(shù)據(jù)庫(kù)安全治理員,角色成員具有可治理數(shù)據(jù)庫(kù)中的權(quán)限,如設(shè)置數(shù)據(jù)庫(kù)表的增加、刪除、修改和查詢等存取權(quán)限?!?〕db_ddladmin:數(shù)據(jù)庫(kù)DDL治理員,角色成員可增加、修改或刪除數(shù)據(jù)庫(kù)中的對(duì)象。〔5〕db_backupoperator:數(shù)據(jù)庫(kù)備份操作員,角色成員具有執(zhí)行數(shù)據(jù)庫(kù)備份的權(quán)限?!?〕db_datareader:數(shù)據(jù)庫(kù)數(shù)據(jù)讀取者,角色成員可以從全部用戶表中讀取數(shù)據(jù)?!?〕db_datawriter:數(shù)據(jù)庫(kù)數(shù)據(jù)寫入者,角色成員具有對(duì)全部用戶表進(jìn)展增加、刪除、修改的權(quán)限?!?〕db_denydatareader:數(shù)據(jù)庫(kù)拒絕數(shù)據(jù)讀取者,角色成員不能讀取數(shù)據(jù)庫(kù)中任何表的內(nèi)容?!?〕db_denydatawriter:數(shù)據(jù)庫(kù)拒絕數(shù)據(jù)寫入者,角色成員不能對(duì)任何表進(jìn)展增加、刪除、修改操作?!?0〕public:一個(gè)特殊的數(shù)據(jù)庫(kù)角色,每個(gè)數(shù)據(jù)庫(kù)用戶都是public角色的成員,因此不能將用戶、組或角色指派為public角色的成員,也不能刪除public角色的成員。通常,將一些公共的權(quán)限賦給public角色。10.3.2固定數(shù)據(jù)庫(kù)角色1.以界面方式添加固定數(shù)據(jù)庫(kù)角色成員〔1〕以系統(tǒng)治理員身份登錄到SQLServer效勞器,在“對(duì)象資源治理器”中開放“數(shù)據(jù)庫(kù)”→“pxscj”→“安全性”→“用戶”,選擇一個(gè)數(shù)據(jù)庫(kù)用戶,如“User_tao”,雙擊或單擊右鍵選擇“屬性”菜單項(xiàng),翻開“數(shù)據(jù)庫(kù)用戶”窗口?!?〕在翻開的窗口中,在“常規(guī)”選項(xiàng)頁(yè)的“數(shù)據(jù)庫(kù)角色成員身份”欄中,用戶可以依據(jù)需要,在數(shù)據(jù)庫(kù)角色前的復(fù)選框中打鉤,為數(shù)據(jù)庫(kù)用戶添加相應(yīng)的數(shù)據(jù)庫(kù)角色,單擊“確定”按鈕完成添加。〔3〕查看固定數(shù)據(jù)庫(kù)角色的成員。在“對(duì)象資源治理器”中,在pxscj數(shù)據(jù)庫(kù)下的“安全性”→“角色”→“數(shù)據(jù)庫(kù)角色”名目下,選擇“數(shù)據(jù)庫(kù)角色”,如“db_owner”,右擊選擇“屬性”菜單項(xiàng),在“屬性”窗口中的“角色成員”欄下可以看到該數(shù)據(jù)庫(kù)角色的成員列表。10.3.2固定數(shù)據(jù)庫(kù)角色2.利用系統(tǒng)存儲(chǔ)過(guò)程添加固定數(shù)據(jù)庫(kù)角色成員利用系統(tǒng)存儲(chǔ)過(guò)程sp_addrolemember可以將一個(gè)數(shù)據(jù)庫(kù)用戶添加到某一固定數(shù)據(jù)庫(kù)角色中,使其成為該固定數(shù)據(jù)庫(kù)角色的成員。語(yǔ)法格式:sp_addrolemember[@角色名=]”role”,[@成員名=]”security_account”參數(shù)含義:”role”為當(dāng)前數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)角色的名稱?!眘ecurity_account”為添加到該角色的安全賬戶,可以是數(shù)據(jù)庫(kù)用戶或當(dāng)前數(shù)據(jù)庫(kù)角色。【例10.5】將pxscj數(shù)據(jù)庫(kù)上的數(shù)據(jù)庫(kù)用戶User_sql_tao、User_tao添加為固定數(shù)據(jù)庫(kù)角色db_owner的成員。USEpxscjGOEXECsp_addrolemember”db_owner”,”User_SQL_tao”EXECsp_addrolemember”db_owner”,”User_tao”10.3.2固定數(shù)據(jù)庫(kù)角色3.利用系統(tǒng)存儲(chǔ)過(guò)程刪除固定數(shù)據(jù)庫(kù)角色成員利用系統(tǒng)存儲(chǔ)過(guò)程sp_droprolemember可以將某一成員從固定數(shù)據(jù)庫(kù)角色中去除。語(yǔ)法格式:sp_droprolemember[@角色名=]”role”,
[@成員名=]”security_account”例如,將數(shù)據(jù)庫(kù)用戶User_SQL_tao從db_owner中去除。EXECsp_droprolemember”db_owner”,”User_SQL_tao”EXECsp_droprolemember”db_owner”,”User_tao”10.3.3自定義數(shù)據(jù)庫(kù)角色:CREATE/DROPROLE1.界面方式創(chuàng)立數(shù)據(jù)庫(kù)角色〔1〕創(chuàng)立數(shù)據(jù)庫(kù)角色。以Windows系統(tǒng)治理員身份連接SQLServer,在“對(duì)象資源治理器”中開放“數(shù)據(jù)庫(kù)”,選擇要?jiǎng)?chuàng)立角色的數(shù)據(jù)庫(kù)〔如pxscj〕,開放其中的“安全性”→“角色”,右擊鼠標(biāo),在彈出的快捷菜單中選擇“新建”菜單項(xiàng),在彈出的子菜單中選擇“新建數(shù)據(jù)庫(kù)角色”菜單項(xiàng),進(jìn)入“數(shù)據(jù)庫(kù)角色-新建”窗口。在“數(shù)據(jù)庫(kù)角色-新建”窗口中,選擇“常規(guī)”選項(xiàng)頁(yè),輸入要定義的角色名稱〔如ROLE1〕,全部者默認(rèn)為dbo。直接單擊“確定”按鈕,完成數(shù)據(jù)庫(kù)角色的創(chuàng)立,如圖10.11所示。10.3.3自定義數(shù)據(jù)庫(kù)角色:CREATE/DROPROLE圖10.11新建數(shù)據(jù)庫(kù)角色10.3.3自定義數(shù)據(jù)庫(kù)角色:CREATE/DROPROLE〔2〕將數(shù)據(jù)庫(kù)用戶參與數(shù)據(jù)庫(kù)角色。將用戶參與自定義數(shù)據(jù)庫(kù)角色的方法與將用戶參與固定數(shù)據(jù)庫(kù)角色的方法類似。例如,將pxscj數(shù)據(jù)庫(kù)的用戶User_tao參與ROLE1角色。此時(shí)數(shù)據(jù)庫(kù)角色ROLE1的成員還沒(méi)有任何的權(quán)限,當(dāng)授予數(shù)據(jù)庫(kù)角色權(quán)限時(shí),這個(gè)角色的成員也將獲得一樣的權(quán)限。當(dāng)數(shù)據(jù)庫(kù)用戶成為某一數(shù)據(jù)庫(kù)角色的成員之后,該數(shù)據(jù)庫(kù)用戶就獲得該數(shù)據(jù)庫(kù)角色所擁有的對(duì)數(shù)據(jù)庫(kù)操作的權(quán)限。10.3.3自定義數(shù)據(jù)庫(kù)角色:CREATE/DROPROLE2.命令創(chuàng)立數(shù)據(jù)庫(kù)角色〔1〕定義數(shù)據(jù)庫(kù)角色。創(chuàng)立用戶自定義數(shù)據(jù)庫(kù)角色可以使用CREATEROLE語(yǔ)句。語(yǔ)法格式:CREATEROLE角色名[AUTHORIZATION全部者名]【例10.6】在當(dāng)前數(shù)據(jù)庫(kù)中創(chuàng)立名為ROLE2的新角色,并指定dbo為該角色的全部者。USEpxscjGOCREATEROLEROLE2AUTHORIZATIONdbo〔2〕給數(shù)據(jù)庫(kù)角色添加成員。向用戶定義數(shù)據(jù)庫(kù)角色添加成員也使用存儲(chǔ)過(guò)程sp_addrolemember,用法與之前介紹的根本一樣。【例10.7】將SQLServer登錄名創(chuàng)立的pxscj的數(shù)據(jù)庫(kù)用戶User_SQL_tao添加到數(shù)據(jù)庫(kù)角色ROLE1中。將數(shù)據(jù)庫(kù)角色ROLE2添加到ROLE1中。EXECsp_addrolemember”ROLE1”,”User_SQL_tao”EXECsp_addrolemember”ROLE1”,”ROLE2”10.3.3自定義數(shù)據(jù)庫(kù)角色:CREATE/DROPROLE3.命令刪除數(shù)據(jù)庫(kù)角色要?jiǎng)h除數(shù)據(jù)庫(kù)角色可以使用DROPROLE語(yǔ)句。語(yǔ)法格式:DROPROLE角色名其中,“角色名”為要?jiǎng)h除的數(shù)據(jù)庫(kù)角色的名稱?!纠?0.8】刪除數(shù)據(jù)庫(kù)角色ROLE2。在刪除ROLE2之前,首先需要將ROLE2中的成員刪除,可以使用界面方式,也可以使用命令方式。假設(shè)使用界面方式,只需在ROLE2的屬性頁(yè)中操作即可。確認(rèn)ROLE2可以刪除后,使用以下命令刪除ROLE2:DROPROLEROLE210.3.4應(yīng)用程序角色創(chuàng)立應(yīng)用程序角色步驟如下:〔1〕以系統(tǒng)治理員身份連接SQLServer,在“對(duì)象資源治理器”窗口中開放“數(shù)據(jù)庫(kù)”→“pxscj”→“安全性”→“角色”,右擊“應(yīng)用程序角色”,選擇“新建應(yīng)用程序角色”?!?〕在“應(yīng)用程序角色-新建”窗口中輸入應(yīng)用程序角色名稱“APPRole”,默認(rèn)架構(gòu)“dbo”,設(shè)置密碼為“123”,如圖10.12所示。10.3.4應(yīng)用程序角色圖10.12新建應(yīng)用程序角色〔常規(guī)〕10.3.4應(yīng)用程序角色在“安全對(duì)象”選項(xiàng)頁(yè)中,可以單擊“搜尋”按鈕,添加“特定對(duì)象”,選擇對(duì)象為xsb表。單擊“確定”按鈕回到“安全對(duì)象”選項(xiàng)頁(yè)中,授予xsb表的“選擇”權(quán)限〔如圖10.13所示〕,完成后單擊“確定”按鈕。10.3.4應(yīng)用程序角色〔3〕添加User_SQL_tao用戶為db_denydatareader數(shù)據(jù)庫(kù)角色的成員,使用“SQL_tao”登錄名連接SQLServer。此后,在查詢窗口中輸入如下語(yǔ)句:USEpxscjGOSELECT*FROMxsb運(yùn)行結(jié)果顯示出錯(cuò)信息?!?〕使用系統(tǒng)存儲(chǔ)過(guò)程sp_setapprole激活應(yīng)用程序角色,語(yǔ)句如下:EXECsp_setapprole”APPRole”,”123”〔5〕在查詢窗口中重新輸入第〔3〕步中的查詢語(yǔ)句,成功地執(zhí)行了查詢。10.4數(shù)據(jù)庫(kù)權(quán)限的治理10.4.1授予權(quán)限:GRANT1.以命令方式授予權(quán)限利用GRANT語(yǔ)句可以給數(shù)據(jù)庫(kù)用戶或數(shù)據(jù)庫(kù)角色授予數(shù)據(jù)庫(kù)級(jí)別或?qū)ο蠹?jí)別的權(quán)限。語(yǔ)法格式:GRANT{ALL[PRIVILEGES]}|權(quán)限[(列[,...])][,...][ON安全對(duì)象]TO主體[,...][WITHGRANTOPTION][AS主體]【例10.9】給pxscj數(shù)據(jù)庫(kù)上的用戶User_liu和User_SQL_liu授予創(chuàng)立表的權(quán)限。以系統(tǒng)治理員〔sa〕身份登錄SQLServer,新建一個(gè)查詢,輸入以下語(yǔ)句:USEpxscjGOGRANTCREATETABLETOUser_liu,User_SQL_liu,Role1GO說(shuō)明:授予數(shù)據(jù)庫(kù)級(jí)權(quán)限時(shí),CREATEDATABASE權(quán)限只能在master數(shù)據(jù)庫(kù)中被授予。10.4.1授予權(quán)限:GRANT【例10.10】首先在pxscj數(shù)據(jù)庫(kù)中給public角色授予xsb表的SELECT權(quán)限。然后,將其他一些權(quán)限授予用戶User_liu和User_SQL_liu,使用戶有對(duì)xsb表的全部操作權(quán)限。以系統(tǒng)治理員身份登錄SQLServer,新建一個(gè)查詢,輸入以下語(yǔ)句:USEpxscjGOGRANTSELECTONxsbTOpublic,Role2GOGRANTINSERT,UPDATE,DELETE,REFERENCESONxsbTOUser_liu,User_SQL_liuGO10.4.1授予權(quán)限:GRANT2.以界面方式授予語(yǔ)句權(quán)限1〕授予數(shù)據(jù)庫(kù)的權(quán)限【例10.11】數(shù)據(jù)庫(kù)用戶User_SQL_tao授予pxscj數(shù)據(jù)庫(kù)的CREATETABLE語(yǔ)句的權(quán)限〔即創(chuàng)立表的權(quán)限〕。〔1〕選擇“pxscj”數(shù)據(jù)庫(kù),右擊鼠標(biāo),選擇“屬性”菜單項(xiàng)進(jìn)入pxscj數(shù)據(jù)庫(kù)的“數(shù)據(jù)庫(kù)屬性”窗口,選擇“權(quán)限”頁(yè)。在“用戶或角色”欄中選擇需要授予權(quán)限的用戶或角色:User_SQL_tao,在窗口下方列出的“權(quán)限”列表中找到相應(yīng)的權(quán)限:創(chuàng)立表,在復(fù)選框中打鉤,單擊“確定”按鈕即可完成,如圖10.14所示?!?〕假設(shè)需要授予權(quán)限的用戶在列出的“用戶或角色”列表中不存在,則可以單擊“搜尋”按鈕將該用戶添加到列表中再選擇。單擊“有效”選項(xiàng)卡可以查看該用戶在當(dāng)前數(shù)據(jù)庫(kù)中有哪些權(quán)限。10.4.1授予權(quán)限:GRANT圖10.14“數(shù)據(jù)庫(kù)屬性”窗口10.4.1授予權(quán)限:GRANT2〕授予數(shù)據(jù)庫(kù)對(duì)象上的權(quán)限【例10.12】給數(shù)據(jù)庫(kù)用戶User_SQL_tao授予kcb表上的SELECT、INSERT的權(quán)限?!?〕選擇“pxscj”數(shù)據(jù)庫(kù)→“表”→“kcb”,右擊鼠標(biāo),選擇“屬性”菜單項(xiàng)進(jìn)入kcb表的屬性窗口,選擇“權(quán)限”選項(xiàng)頁(yè)。〔2〕單擊“搜尋”按鈕,在彈出的“選擇用戶或角色”窗口中單擊“掃瞄”按鈕,選擇需要授權(quán)的用戶或角色:User_SQL_tao〕,選擇后單擊“確定”按鈕回到kcb表的“表屬性”窗口?!?〕如圖10.15所示,在“權(quán)限”列表中選擇需要授予的權(quán)限,如“插入”,單擊“確定”按鈕完成授權(quán)?!?〕假設(shè)要授予用戶在表的列上的SELECT權(quán)限,可以選擇“選擇”權(quán)限后單擊“列權(quán)限”按鈕,在彈出的“列權(quán)限”對(duì)話框中選擇要授予權(quán)限的列。10.4.2拒絕權(quán)限使用DENY命令可以拒絕給當(dāng)前數(shù)據(jù)庫(kù)內(nèi)的用戶授予的權(quán)限,并防止數(shù)據(jù)庫(kù)用戶通過(guò)其組或角色成員資格繼承權(quán)限。語(yǔ)法格式:DENY{ALL[PRIVILEGES]}|權(quán)限[(列[,...])][,...][ON安全對(duì)象]TO主體[,...][CASCADE][AS主體]【例10.13】
對(duì)User_SQL_liu用戶和ROLE2角色成員不允許使用CREATEVIEW和CREATETABLE語(yǔ)句。DENYCREATEVIEW,CREATETABLETOUser_SQL_liu,ROLE2GO10.4.2拒絕權(quán)限【例10.14】拒絕用戶User_SQL_liu、[PC-202312101514\liu]對(duì)xsb表的一些權(quán)限,這樣,這些用戶就沒(méi)有對(duì)xsb表的操作權(quán)限了。USEpxscjGODENYSELECT,INSERT,UPDATE,DELETEONxsbTOUser_SQL_liu,[PC-202312101514\liu]GO10.4.3撤銷權(quán)限利用REVOKE命令可撤銷以前給當(dāng)前數(shù)據(jù)庫(kù)用戶授予或拒絕的權(quán)限。語(yǔ)法格式:REVOKE[GRANTOPTIONFOR]{[ALL[PRIVILEGES]]|權(quán)限[(列[,...])][,...]}[ON安全對(duì)象]{TO|FROM}主體[,...][CASCADE][AS主體]10.4.3撤銷權(quán)限【例10.15】取消已授予用戶權(quán)限?!?〕取消授予多個(gè)用戶的多個(gè)語(yǔ)句權(quán)限。REVOKECREATETABLE,CREATEDEFAULTFROMUser_liu,User_SQL_liuGO〔2〕取消User_liu授予或拒絕的在xsb表上的SELECT權(quán)限。REVOKESELECTONxsbFROMUser_liu10.5數(shù)據(jù)庫(kù)架構(gòu)的定義和使用10.5.1以界面方式創(chuàng)立架構(gòu)1.創(chuàng)立架構(gòu)【例10.16】在pxscj數(shù)據(jù)庫(kù)中創(chuàng)立架構(gòu)。步驟如下:〔1〕以系統(tǒng)治理員身份登錄SQL
Server,在“對(duì)象資源治理器”中開放“數(shù)據(jù)庫(kù)”→“pxscj”→“安全性”,選
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 珍愛(ài)生命從安全開始
- 高中語(yǔ)文7玄黑結(jié)婚課件蘇教版必修
- 高二化學(xué)家用燃料更新
- 安全教育知識(shí)讀本課程-教案
- Windows Server網(wǎng)絡(luò)管理項(xiàng)目教程(Windows Server 2022)(微課版)教案1 部署虛擬環(huán)境安裝Windows Server 2022操作系統(tǒng)
- 八年級(jí)英語(yǔ)上英語(yǔ)課外閱讀拓展訓(xùn)練四(時(shí)文)無(wú)答案
- 高中物理第四章牛頓運(yùn)動(dòng)定律3牛頓第二定律課件新人教版必修
- 2014-2020年磷酸氫鈣行業(yè)現(xiàn)狀分析及風(fēng)險(xiǎn)投資報(bào)告
- 2024至2030年中國(guó)手機(jī)維修專用系統(tǒng)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024至2030年中國(guó)異形金屬天花板數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 初中《學(xué)憲法講憲法》第八個(gè)國(guó)家憲法日主題教育課件
- 2023-2024學(xué)年北京市通州區(qū)九年級(jí)(上)期中數(shù)學(xué)試卷【含解析】
- 2024醫(yī)療機(jī)構(gòu)重大事故隱患判定清單(試行)學(xué)習(xí)課件
- 第一單元中國(guó)特色社會(huì)主義的開創(chuàng)、堅(jiān)持、捍衛(wèi)和發(fā)展單元測(cè)試-2023-2024學(xué)年中職高教版(2023)中國(guó)特色社會(huì)主義
- (正式版)JBT 7248-2024 閥門用低溫鋼鑄件技術(shù)規(guī)范
- 汽車修理工崗前培訓(xùn)
- 學(xué)校信息技術(shù)培訓(xùn)方案
- 加油站罩棚及站房包裝工程施工組織設(shè)計(jì)
- 水閘工程管理論文(優(yōu)選范文8篇)
- 設(shè)計(jì)心理學(xué)(簡(jiǎn)單)-李彬彬
- 湖南常德水星樓商業(yè)廣場(chǎng)招商手冊(cè)38頁(yè)
評(píng)論
0/150
提交評(píng)論