版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)課件第九章數(shù)據(jù)庫(kù)安全第1頁(yè),共60頁(yè),2023年,2月20日,星期六第九章數(shù)據(jù)庫(kù)安全
12安全性概述SQLServer的安全性34用戶管理和角色管理權(quán)限管理5架構(gòu)第2頁(yè),共60頁(yè),2023年,2月20日,星期六9.1安全性概述問(wèn)題的提出數(shù)據(jù)庫(kù)的一大特點(diǎn)是數(shù)據(jù)可以共享;數(shù)據(jù)共享必然帶來(lái)數(shù)據(jù)庫(kù)的安全性問(wèn)題;數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)共享不能是無(wú)條件的共享;安全性問(wèn)題不是數(shù)據(jù)庫(kù)系統(tǒng)所獨(dú)有的,而是所有計(jì)算機(jī)系統(tǒng)都有這個(gè)問(wèn)題.第3頁(yè),共60頁(yè),2023年,2月20日,星期六9.1安全性概述什么是數(shù)據(jù)庫(kù)的安全性?保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。數(shù)據(jù)庫(kù)系統(tǒng)的安全保護(hù)措施是否有效是數(shù)據(jù)庫(kù)系統(tǒng)主要的性能指標(biāo)之一。什么是計(jì)算機(jī)系統(tǒng)安全性?為計(jì)算機(jī)系統(tǒng)建立和采取的各種安全保護(hù)措施,以保護(hù)計(jì)算機(jī)系統(tǒng)中的硬件、軟件及數(shù)據(jù),防止因偶然或惡意的原因使系統(tǒng)遭到破壞,數(shù)據(jù)遭到更改或泄露等。第4頁(yè),共60頁(yè),2023年,2月20日,星期六9.1安全性概述計(jì)算機(jī)安全性問(wèn)題分類技術(shù)安全:指計(jì)算機(jī)系統(tǒng)中采用具有一定安全性的硬件、軟件來(lái)實(shí)現(xiàn)對(duì)計(jì)算機(jī)系統(tǒng)及其所存數(shù)據(jù)的安全保護(hù)。管理安全:由于管理不善導(dǎo)致的計(jì)算機(jī)設(shè)備和數(shù)據(jù)介質(zhì)的物理破壞、丟失等軟硬件意外故障以及場(chǎng)地的意外事故等安全問(wèn)題。政策法律類:政府部門(mén)建立的有關(guān)計(jì)算機(jī)犯罪、數(shù)據(jù)安全保密的法律道德準(zhǔn)則和政策法規(guī)、法令。第5頁(yè),共60頁(yè),2023年,2月20日,星期六
(一級(jí)一級(jí)層層設(shè)置)用戶DBMSOSDB用戶標(biāo)識(shí)和鑒別存取控制視圖、審計(jì)操作系統(tǒng)安全保護(hù)
密碼保護(hù)9.1安全性概述計(jì)算機(jī)系統(tǒng)的安全模型第6頁(yè),共60頁(yè),2023年,2月20日,星期六9.1.1用戶標(biāo)識(shí)與鑒別系統(tǒng)提供的最外層的安全保護(hù)措施。具體方法:
系統(tǒng)提供一定的方式讓用戶標(biāo)識(shí)自己的名字或身份;系統(tǒng)內(nèi)部記錄著所有合法用戶的標(biāo)識(shí);每次用戶要求進(jìn)入系統(tǒng)時(shí),由系統(tǒng)核對(duì)用戶提供的身份標(biāo)識(shí);通過(guò)鑒定后才提供機(jī)器使用權(quán);用戶標(biāo)識(shí)和鑒定可以重復(fù)多次。第7頁(yè),共60頁(yè),2023年,2月20日,星期六9.1.1用戶標(biāo)識(shí)與鑒別用戶名/口令簡(jiǎn)單易行,容易被人竊取。每個(gè)用戶預(yù)先約定好一個(gè)計(jì)算過(guò)程或者函數(shù):系統(tǒng)提供一個(gè)隨機(jī)數(shù);用戶根據(jù)自己預(yù)先約定的計(jì)算過(guò)程或者函數(shù)進(jìn)行計(jì)算;系統(tǒng)根據(jù)用戶計(jì)算結(jié)果是否正確鑒定用戶身份。常用方法:第8頁(yè),共60頁(yè),2023年,2月20日,星期六9.1.2存取控制存取控制機(jī)制組成定義存取權(quán)限:為用戶定義適當(dāng)?shù)拇嫒?quán)限,并登記入數(shù)據(jù)字典(安全規(guī)則或授權(quán)規(guī)則)合法權(quán)限檢查:查找數(shù)據(jù)字典,根據(jù)安全規(guī)則進(jìn)行用戶合法權(quán)限檢查用戶權(quán)限定義和合法權(quán)限檢查機(jī)制一起組成DBMS的安全子系統(tǒng)。第9頁(yè),共60頁(yè),2023年,2月20日,星期六9.1.2存取控制存取控制方法自主存取控制(DAC:DiscretionaryAccessControl
):強(qiáng)制存取控制(MAC:MandatoryAccessControl
):
同一用戶對(duì)于不同的數(shù)據(jù)對(duì)象有不同的存取權(quán)限,不同的用戶對(duì)同一對(duì)象也有不同的權(quán)限,用戶還可將其擁有的存取權(quán)限轉(zhuǎn)授給其他用戶。
每一個(gè)數(shù)據(jù)對(duì)象被標(biāo)以一定的密級(jí),每一個(gè)用戶也被授予某一個(gè)級(jí)別的許可證,對(duì)于任意一個(gè)對(duì)象,只有具有合法許可證的用戶才可以存取。第10頁(yè),共60頁(yè),2023年,2月20日,星期六9.1.3自主存取控制(DAC)方法定義存取權(quán)限:授權(quán):GRANT收回權(quán)限:REVORK檢查存取權(quán)限:對(duì)于獲得上機(jī)權(quán)后又進(jìn)一步發(fā)出存取數(shù)據(jù)庫(kù)操作的用戶:DBMS查找數(shù)據(jù)字典,根據(jù)其存取權(quán)限對(duì)操作的合法性進(jìn)行檢查;若用戶的操作請(qǐng)求超出了定義的權(quán)限,系統(tǒng)將拒絕執(zhí)行此操作。第11頁(yè),共60頁(yè),2023年,2月20日,星期六9.1.4強(qiáng)制存取控制(MAC)方法強(qiáng)制存取控制(MAC):指系統(tǒng)為保證更高程度的安全性,按照TDI/TCSEC標(biāo)準(zhǔn)中安全策略的要求,所采取的強(qiáng)制存取檢查手段。MAC不是用戶能直接感知或進(jìn)行控制的。MAC適用于對(duì)數(shù)據(jù)有嚴(yán)格而固定密級(jí)分類的部門(mén):軍事部門(mén)政府部門(mén)第12頁(yè),共60頁(yè),2023年,2月20日,星期六9.1.4強(qiáng)制存取控制(MAC)方法主體是系統(tǒng)中的活動(dòng)實(shí)體:DBMS所管理的實(shí)際用戶代表用戶的各進(jìn)程客體是系統(tǒng)中的被動(dòng)實(shí)體,是受主體操縱的:
文件、基表、索引、視圖
在MAC中,DBMS所管理的全部實(shí)體被分為主體和客體兩大類:第13頁(yè),共60頁(yè),2023年,2月20日,星期六9.1.4強(qiáng)制存取控制(MAC)方法主體的敏感度標(biāo)記稱為許可證級(jí)別客體的敏感度標(biāo)記稱為密級(jí)MAC機(jī)制就是通過(guò)對(duì)比主體的Label和客體的Label,最終確定主體是否能夠存取客體。敏感度標(biāo)記(Label)對(duì)于主體和客體,DBMS為它們每個(gè)實(shí)例(值)指派一個(gè)敏感度標(biāo)記。分成若干級(jí)別:絕密、機(jī)密、可信、公開(kāi)第14頁(yè),共60頁(yè),2023年,2月20日,星期六9.1.4強(qiáng)制存取控制(MAC)方法
強(qiáng)制存取控制規(guī)則當(dāng)某一用戶(或某一主體)以標(biāo)記label注冊(cè)入系統(tǒng)時(shí),系統(tǒng)要求他對(duì)任何客體的存取必須遵循下面兩條規(guī)則:(1)僅當(dāng)主體的許可證級(jí)別大于或等于客體的密級(jí)時(shí),該主體才能讀取相應(yīng)的客體;(2)僅當(dāng)主體的許可證級(jí)別等于客體的密級(jí)時(shí),該主體才能寫(xiě)相應(yīng)的客體。修正規(guī)則
(某些系統(tǒng)規(guī)定)主體的許可證級(jí)別小于等于客體的密級(jí),主體能寫(xiě)相應(yīng)的客體。表示:用戶可為寫(xiě)入的數(shù)據(jù)對(duì)象賦予高于自己的許可證級(jí)別的密級(jí),但一旦數(shù)據(jù)被寫(xiě)入,該用戶自己也不能再讀該數(shù)據(jù)對(duì)象了。共同點(diǎn):禁止了擁有高許可證級(jí)別的主體更新低密級(jí)的數(shù)據(jù)對(duì)象,防止敏感數(shù)據(jù)的泄漏。第15頁(yè),共60頁(yè),2023年,2月20日,星期六9.1.4強(qiáng)制存取控制(MAC)方法強(qiáng)制存取控制的特點(diǎn)MAC是對(duì)數(shù)據(jù)本身進(jìn)行密級(jí)標(biāo)記;無(wú)論數(shù)據(jù)如何復(fù)制,標(biāo)記與數(shù)據(jù)是一個(gè)不可分的整體;只有符合密級(jí)標(biāo)記要求的用戶才可以操縱數(shù)據(jù);提供了更高級(jí)別的安全性。MAC與DAC小結(jié)DAC與MAC共同構(gòu)成DBMS的安全機(jī)制原因:較高安全性級(jí)別提供的安全保護(hù)要包含較低級(jí)別的所有保護(hù)。先進(jìn)行DAC檢查,通過(guò)DAC檢查的數(shù)據(jù)對(duì)象再由系統(tǒng)進(jìn)行MAC檢查,只有通過(guò)MAC檢查的數(shù)據(jù)對(duì)象方可存取。第16頁(yè),共60頁(yè),2023年,2月20日,星期六9.1.5視圖機(jī)制視圖機(jī)制把要保密的數(shù)據(jù)對(duì)無(wú)權(quán)存取這些數(shù)據(jù)的用戶隱藏起來(lái)。視圖機(jī)制與授權(quán)機(jī)制配合使用:即首先用視圖機(jī)制屏蔽掉一部分保密數(shù)據(jù);在視圖上再進(jìn)一步定義存取權(quán)限。第17頁(yè),共60頁(yè),2023年,2月20日,星期六9.1.5視圖機(jī)制例:在配電物資表stock中如果指定U1用戶只能查看供電局1#倉(cāng)庫(kù)的物資時(shí),可以先建立供電局1#倉(cāng)庫(kù)的配電物資視圖,然后在該視圖上進(jìn)一步定義存取權(quán)限。
CREATEVIEWView_Stock1ASSELECT*FROMSTOCKWHEREwarehouse=’供電局1#倉(cāng)庫(kù)’;/*先建視圖*/GRANTSELECTONView_Stock1TOU1;第18頁(yè),共60頁(yè),2023年,2月20日,星期六9.1.6審計(jì)什么是審計(jì)?啟用一個(gè)專用的審計(jì)日志(AuditLog),將用戶對(duì)數(shù)據(jù)庫(kù)的所有操作記錄在上面;審計(jì)功能是一種監(jiān)視措施,它跟蹤記錄有關(guān)數(shù)據(jù)的訪問(wèn)活動(dòng)。DBA可以利用審計(jì)日志中的追蹤信息,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容。注:審計(jì)很費(fèi)時(shí)間和空間,DBA可以根據(jù)應(yīng)用對(duì)安全性的要求,靈活地打開(kāi)或關(guān)閉審計(jì)功能。第19頁(yè),共60頁(yè),2023年,2月20日,星期六9.1.7數(shù)據(jù)加密數(shù)據(jù)加密防止數(shù)據(jù)庫(kù)中數(shù)據(jù)在存儲(chǔ)和傳輸中失密的有效手段。加密的基本思想根據(jù)一定的算法將原始數(shù)據(jù)(明文)變換為不可直接識(shí)別的格式(密文),使得不知道解密算法的人無(wú)法獲知數(shù)據(jù)的內(nèi)容。加密方法替換方法:使用密鑰將明文中的每一個(gè)字符轉(zhuǎn)換為密文中的一個(gè)字符。置換方法:將明文的字符按不同的順序重新排列?;旌戏椒ǎ好绹?guó)1977年制定的官方加密標(biāo)準(zhǔn):數(shù)據(jù)加密標(biāo)準(zhǔn)(DataEncryptionStandard,簡(jiǎn)稱DES)第20頁(yè),共60頁(yè),2023年,2月20日,星期六9.2SQLServer的安全性設(shè)置SQLServer2005登錄的身份驗(yàn)證模式的方法:--安全性->右擊“新建”-->單擊“登錄”,如圖:第21頁(yè),共60頁(yè),2023年,2月20日,星期六9.2.1SQLServer2005的身份驗(yàn)證模式
1、Windows身份驗(yàn)證模式—默認(rèn)(安全)
用戶通過(guò)MicrosoftWindows用戶帳戶連接時(shí),SQLServer使用Windows操作系統(tǒng)中的信息驗(yàn)證帳戶名和密碼。2、混合驗(yàn)證模式混合驗(yàn)證模式下,當(dāng)客戶端連接到服務(wù)器時(shí),既可采取Windows身份驗(yàn)證,也可采取SQLServer身份驗(yàn)證。如果必須選擇"混合模式"并要求使用SQLServer帳戶登錄,則必須為所有的SQLServer帳戶設(shè)置強(qiáng)密碼。
第22頁(yè),共60頁(yè),2023年,2月20日,星期六9.2.2SQLServer2005的安全機(jī)制SQLServer的安全性主體主要有三個(gè)級(jí)別:1.服務(wù)器級(jí)別所含的安全對(duì)象主要有登錄名、固定服務(wù)器角色等,其中登錄名用于登錄數(shù)據(jù)庫(kù)服務(wù)器,而固定服務(wù)器角色用于給登錄名賦予相應(yīng)的服務(wù)器權(quán)限。2.數(shù)據(jù)庫(kù)級(jí)別所含的安全對(duì)象主要有用戶、角色、應(yīng)用程序角色、證書(shū)、對(duì)稱密鑰、非對(duì)稱密鑰、程序集、全文目錄、DDL事件、架構(gòu)等。3.架構(gòu)級(jí)別所含的安全對(duì)象主要有表、視圖、函數(shù)、存儲(chǔ)過(guò)程、類型、聚合函數(shù)等。系統(tǒng)默認(rèn)架構(gòu)為dbo。第23頁(yè),共60頁(yè),2023年,2月20日,星期六
一個(gè)數(shù)據(jù)庫(kù)使用者,想要登錄SQLServer服務(wù)器上的數(shù)據(jù)庫(kù),并對(duì)數(shù)據(jù)庫(kù)中的表執(zhí)行更新操作,則該使用者必須經(jīng)過(guò)下圖所示的安全驗(yàn)證:第24頁(yè),共60頁(yè),2023年,2月20日,星期六9.3用戶管理和角色管理
在SQLServer中,有登錄用戶和數(shù)據(jù)庫(kù)用戶兩個(gè)概念。一個(gè)用戶需要首先是一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的登錄用戶,然后才可以訪問(wèn)某一個(gè)具體的數(shù)據(jù)庫(kù)。登錄用戶:由系統(tǒng)管理員管理;數(shù)據(jù)庫(kù)用戶:由數(shù)據(jù)庫(kù)管理員管理。第25頁(yè),共60頁(yè),2023年,2月20日,星期六1.登錄用戶的管理
SQLServer有兩個(gè)常用的默認(rèn)登錄名:sa:系統(tǒng)管理員,擁有操作SQLServer系統(tǒng)的所有權(quán)限,該登錄名不能被刪除。
BUILTIN\Administrator:SQLServer為每個(gè)Windows系統(tǒng)管理員提供的默認(rèn)用戶賬戶,在SQLServer中擁有系統(tǒng)和數(shù)據(jù)庫(kù)的所有權(quán)限。
9.3.2用戶管理第26頁(yè),共60頁(yè),2023年,2月20日,星期六(1)創(chuàng)建新的SQLServer登錄用戶CREATELOGINlogin_name{WITHPASSWORD=password[,DEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language]|FROMWINDOWS[WITHDEFAULT_DATABASE=database|DEFAULT_LANGUAGE=language]}9.3.2用戶管理第27頁(yè),共60頁(yè),2023年,2月20日,星期六第28頁(yè),共60頁(yè),2023年,2月20日,星期六創(chuàng)建Windows驗(yàn)證模式登錄名使用FROM子句,WINDOWS關(guān)鍵字指定將登錄名映射到Windows登錄名。例:假設(shè)本地計(jì)算機(jī)名為student_1,S1是一個(gè)已經(jīng)創(chuàng)建的Windows用戶,創(chuàng)建Windows驗(yàn)證模式下的登錄名S1,默認(rèn)數(shù)據(jù)庫(kù)是master:
CREATELOGIN[student_1\S1]FROMWINDOWSWITHDEFAULT_DATABASE=master9.3.2用戶管理第29頁(yè),共60頁(yè),2023年,2月20日,星期六創(chuàng)建SQLServer驗(yàn)證模式登錄名例:創(chuàng)建SQLServer登錄名S2,密碼為123456,默認(rèn)數(shù)據(jù)庫(kù)是sample:
CREATELOGIN
s2
WITHpassword='123456',
DEFAULT_DATABASE=sample9.3.2用戶管理第30頁(yè),共60頁(yè),2023年,2月20日,星期六(2)刪除登錄名語(yǔ)法格式如下:
DROPLOGINlogin_name例:刪除Windows登錄名S1:
DROPLOGIN[student_1\S1]刪除SQLServer登錄名S2:
DROPLOGINS29.3.2用戶管理第31頁(yè),共60頁(yè),2023年,2月20日,星期六2.數(shù)據(jù)庫(kù)用戶的管理(1)創(chuàng)建數(shù)據(jù)庫(kù)用戶CREATEUSERuser_name[{FOR|FROM}LOGINlogin_name|WITHOUTLOGIN][WITHDEFAULT_SCHEMA=schema_name]9.3.2用戶管理第32頁(yè),共60頁(yè),2023年,2月20日,星期六第33頁(yè),共60頁(yè),2023年,2月20日,星期六例:使用SQLServer登錄名s2(假設(shè)已經(jīng)創(chuàng)建)在Sample數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù)用戶u1,默認(rèn)架構(gòu)為dbo:USEsampleGO
CREATEUSERu1
FROMLOGINs2
WITHDEFAULT_SCHEMA=dbo9.3.2用戶管理第34頁(yè),共60頁(yè),2023年,2月20日,星期六9.3.2用戶管理(2)刪除數(shù)據(jù)庫(kù)用戶格式如下:
DROPUSERuser_name例:刪除sample數(shù)據(jù)庫(kù)的用戶u1:
USEsampleGODROPUSERu1第35頁(yè),共60頁(yè),2023年,2月20日,星期六1.定義角色其格式是:CREATEROLErole_name[AUTHORIZATIONowner_name]例:在sample數(shù)據(jù)庫(kù)中創(chuàng)建角色student_role,所有者為dbo:USEsampleGOCREATEROLEstudent_roleAUTHORIZATIONdbo9.3.3角色管理
數(shù)據(jù)庫(kù)角色是被命名的一組與數(shù)據(jù)庫(kù)操作相關(guān)的權(quán)限,角色是權(quán)限的集合。則可用一組具有相同權(quán)限的用戶創(chuàng)建一個(gè)角色,以便簡(jiǎn)化授權(quán)的過(guò)程。第36頁(yè),共60頁(yè),2023年,2月20日,星期六2.為用戶指定角色可以將數(shù)據(jù)庫(kù)用戶指定為數(shù)據(jù)庫(kù)角色的成員:SP_ADDROLEMEMBERrole_name,
user_account
例:使用Windows驗(yàn)證模式的登錄名student\s1創(chuàng)建sample數(shù)據(jù)庫(kù)的用戶student\s1,并將該用戶添加到角色student_role中:USEsampleGOCREATEUSER[student\s1]FROMLOGIN[student\s1]SP_ADDROLEMEMBER‘student_role’,’student\s1’9.3.3角色管理第37頁(yè),共60頁(yè),2023年,2月20日,星期六3.取消用戶的角色如果某個(gè)用戶不再擔(dān)當(dāng)某個(gè)角色,可以取消用戶的角色,或者說(shuō)從角色中刪除用戶。SP_DROPROLEMEMBERrole_name,
user_name例:取消用戶s1的student_role角色:SP_DROPROLEMEMBER‘student_role’,’student\s1’9.3.3角色管理4.刪除角色如果當(dāng)前數(shù)據(jù)庫(kù)中的某個(gè)角色不再需要,則可以刪除該角色。
DROPROLE
role_name
例:DROPROLEstudent_role注:不能刪除帶有成員的角色;也不能刪除固定角色及public角色。第38頁(yè),共60頁(yè),2023年,2月20日,星期六9.3.4SQLServer的固定角色1.固定服務(wù)器角色固定服務(wù)器角色描述SYSADMIN系統(tǒng)管理員,擁有所有操作權(quán)限,可執(zhí)行任何活動(dòng).SERVERADMIN服務(wù)器管理員,可以設(shè)置服務(wù)器范圍的配置選項(xiàng),關(guān)閉服務(wù)器。SETUPADMIN安裝程序管理員,可以管理鏈接服務(wù)器和啟動(dòng)過(guò)程。SECURITYADMIN安全管理員,可以管理登錄和CREATEDATABASE權(quán)限,還可以讀取錯(cuò)誤日志和更改密碼。PROCESSADMIN進(jìn)程管理員,可以管理在SQLServer中運(yùn)行的進(jìn)程。DBCREATOR數(shù)據(jù)庫(kù)創(chuàng)建者,可以創(chuàng)建、更改和除去數(shù)據(jù)庫(kù)。DISKADMIN磁盤(pán)管理員,可以管理磁盤(pán)文件。BULKADMIN塊數(shù)據(jù)操作管理員,可以執(zhí)行BULKINSERT語(yǔ)句。第39頁(yè),共60頁(yè),2023年,2月20日,星期六第40頁(yè),共60頁(yè),2023年,2月20日,星期六
可以把登錄名添加到固定服務(wù)器角色中,使得登錄名作為固定服務(wù)器角色的成員繼承固定服務(wù)器角色的權(quán)限。語(yǔ)法如下:
SP_ADDSRVROLEMEMBERlogin,role例:將登錄JOHN指定為SYSADMIN固定服務(wù)器角色的成員,則以JOHN登錄名登錄系統(tǒng)的用戶將自動(dòng)擁有系統(tǒng)管理員權(quán)限:SP_ADDSRVROLEMEMBER'JOHN','SYSADMIN‘將固定服務(wù)器角色的某個(gè)成員刪除。語(yǔ)法如下:
SP_DROPSRVROLEMEMBERlogin,role例:從sysadmin固定服務(wù)器角色中刪除登錄JOHN。SP_DROPSRVROLEMEMBER'JOHN','SYSADMIN'9.3.4SQLServer的固定角色第41頁(yè),共60頁(yè),2023年,2月20日,星期六2.固定數(shù)據(jù)庫(kù)角色固定數(shù)據(jù)庫(kù)角色描述DB_OWNER數(shù)據(jù)庫(kù)所有者,在數(shù)據(jù)庫(kù)中有全部權(quán)限。DB_ACCESSADMIN訪問(wèn)權(quán)限管理員,可以添加或刪除用戶ID。DB_SECURITYADMIN安全管理員,可以管理全部權(quán)限、對(duì)象所有權(quán)、角色和角色成員資格。DB_DDLADMIN數(shù)據(jù)庫(kù)對(duì)象管理員,可以發(fā)出ALLDDL,但不能發(fā)出GRANT、REVOKE或DENY語(yǔ)句。DB_BACKUPOPERATOR數(shù)據(jù)庫(kù)備份,可以發(fā)出DBCC、CHECKPOINT和BACKUP語(yǔ)句。DB_DATAREADER數(shù)據(jù)檢索操作員,可以選擇數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的所有數(shù)據(jù)。DB_WRITER數(shù)據(jù)維護(hù)操作員,可以更改數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的所有數(shù)據(jù)。DB_DENYDATAREADER拒絕執(zhí)行數(shù)據(jù)檢索操作員,不能選擇數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的任何數(shù)據(jù)。DB_DENYDATAWRITER拒絕執(zhí)行數(shù)據(jù)維護(hù)操作員,不能更改數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的任何數(shù)據(jù)。第42頁(yè),共60頁(yè),2023年,2月20日,星期六第43頁(yè),共60頁(yè),2023年,2月20日,星期六3.PUBLIC角色
SQLServer有一個(gè)特殊的角色即PUBLIC角色。PUBLIC角色有兩大特點(diǎn):初始狀態(tài)時(shí)沒(méi)有權(quán)限;所有的數(shù)據(jù)庫(kù)用戶都是它的成員。9.3.4SQLServer的固定角色注:當(dāng)為public角色授權(quán)時(shí),實(shí)際上是為所有的數(shù)據(jù)庫(kù)用戶授權(quán)。第44頁(yè),共60頁(yè),2023年,2月20日,星期六9.4權(quán)限管理
對(duì)
象常用
權(quán)
限數(shù)據(jù)庫(kù)BACKUPDATABASE、BACKUPLOG、CREATEDATABASE、CREATEDEFAULT、CREATEFUNCTION、CREATEPROCEDURE、CREATERULE、CREATETABLE、CREATEVIEW、ALTERTABLE表SELECT、DELETE、INSERT、UPDATE、REFERENCES視圖SELECT、DELETE、INSERT、UPDATE、REFERENCES常用數(shù)據(jù)庫(kù)對(duì)象的權(quán)限:第45頁(yè),共60頁(yè),2023年,2月20日,星期六9.4.1授予權(quán)限1.授予語(yǔ)句權(quán)限語(yǔ)句授權(quán)的命令格式是:GRANT{ALL|statement[,...n]}TOaccount[,...n]例:系統(tǒng)管理員給用戶Mary和John授予多個(gè)語(yǔ)句權(quán)限:
GRANTCREATEDATABASE,CREATETABLE
TOMary,John第46頁(yè),共60頁(yè),2023年,2月20日,星期六2.授予對(duì)象權(quán)限
處理數(shù)據(jù)或執(zhí)行存儲(chǔ)過(guò)程中需要相應(yīng)對(duì)象的操作或執(zhí)行權(quán)限,這些權(quán)限可以劃分為:SELECT、INSERT、UPDATE和DELETE語(yǔ)句權(quán)限,可以應(yīng)用到整個(gè)表或視圖;SELECT和UPDATE語(yǔ)句權(quán)限,可以有選擇性地應(yīng)用到表或視圖中的某些列上;INSERT和DELETE語(yǔ)句權(quán)限,會(huì)影響整行,因此只可以應(yīng)用到表或視圖中,而不能應(yīng)用到單個(gè)列上。EXECUTE語(yǔ)句權(quán)限,執(zhí)行存儲(chǔ)過(guò)程和函數(shù)的權(quán)限。9.4.1授予權(quán)限第47頁(yè),共60頁(yè),2023年,2月20日,星期六
數(shù)據(jù)庫(kù)對(duì)象授權(quán)的命令格式如下:GRANT{ALL[PRIVILEGES]|permission[,...n]}
{
[(column[,...n])]ON{table|view}
|ON{table|view}[(column[,...n])]
|ON{stored_procedure|extended_procedure}
|ON{user_defined_function}
}
TOsecurity_account[,...n]
[WITHGRANTOPTION]
[AS{group|role}]9.4.1授予權(quán)限第48頁(yè),共60頁(yè),2023年,2月20日,星期六例:在電力工程搶修數(shù)據(jù)庫(kù)中:(1)將out_stock表的SELECT權(quán)限授予public角色。
GRANTSELECTONout_stockTOpublic(2)將out_stock表的INSERT,UPDATE,DELETE權(quán)限授予用戶Mary、John。
GRANTINSERT,UPDATE,DELETEONout_stockTOMary,John(3)將對(duì)表out_stock的get_date列的修改權(quán)限授予用戶Tom。
GRANTUPDATE(get_date)ONout_stockToTom9.4.1授予權(quán)限第49頁(yè),共60頁(yè),2023年,2月20日,星期六9.4.1授予權(quán)限例:把對(duì)表stock的insert權(quán)限授予用戶U1,并允許將此權(quán)限授予其他用戶。GrantinsertOnstockToU1Withgrantoption;U1可將此權(quán)限授予U2:GrantinsertOnstockToU2Withgrantoption;U2可將此權(quán)限授予U3:GrantinsertOnstockToU3;-->U1-->U2-->U3第50頁(yè),共60頁(yè),2023年,2月20日,星期六例:用戶Jean擁有表Plan_Data。Jean將表Plan_Data的SELECT權(quán)限授予Accounting角色(指定WITHGRANTOPTION子句)。用戶Jill是Accounting的成員,他要將表Plan_Data上的SELECT權(quán)限授予用戶Jack,Jack不是Accounting的成員。因?yàn)閷?duì)表Plan_Data用GRANT語(yǔ)句授予其他用戶SELECT權(quán)限的權(quán)限是授予Accounting角色而不是顯式地授予Jill,不能因?yàn)橐咽谟鐰ccounting角色中成員該權(quán)限,而使Jill能夠授予表的權(quán)限。Jill必須用AS子句來(lái)獲得Accounting角色的授予權(quán)限。/*UserJean*/GRANTSELECTONPlan_DataTOAccountingWITHGRANTOPTION/*UserJill*/GRANTSELECTONPlan_DataTOJackASAccounting第51頁(yè),共60頁(yè),2023年,2月20日,星期六9.4.2收回權(quán)限收回語(yǔ)句權(quán)限的一般格式為:REVOKE{ALL|statement[,...n]}FROMaccount[,...n]收回對(duì)象權(quán)限的命令格式是:REVOKE[GRANTOPTIONFOR]
{ALL[PRIVILEGES]|permission[,...n]}
{
[(column[,...n])]ON{table|view}
|ON{table|view}[(column[,...n])]
|ON{stored_procedure|extended_procedure}
|ON{user_defined_function}
}
{TO|FROM}account[,...n]
[CASCADE]
[AS{group|role}]第52頁(yè),共60頁(yè),2023年,2月20日,星期六9.4.2收回權(quán)限例:把用戶U1對(duì)表stock的insert權(quán)限收回。RevokeinsertOnstockFromU1;權(quán)限的級(jí)聯(lián)回收:系統(tǒng)將自動(dòng)收回直接或間接從U1處獲得的對(duì)Stock表的INSERT權(quán)限:<--U1<--U2<--U3注:若U2和U3從其他用戶處獲得對(duì)Stock表的insert權(quán)限,則不會(huì)回收。第53頁(yè),共60頁(yè),2023年,2月20日,星期六例:廢除已授予用戶Joe的CREATETABLE權(quán)限:REVOKECREATETABLEFROMJoe例:廢除授予多個(gè)用戶的多個(gè)語(yǔ)句權(quán)限:REVOKECREATETABLE,CREATEDEFAULTFROMMary,John例:用戶Mary是Budget角色的成員,已給該角色授予了對(duì)Budget_Data表的SELECT權(quán)限。已對(duì)Mary使用DENY語(yǔ)句以防止Mary通過(guò)授予Budget角色的權(quán)限訪問(wèn)Budget_Data表。刪除對(duì)Mary拒絕的權(quán)限,并通過(guò)適用于Budget角色的SELECT權(quán)限,允許Mary對(duì)該表使用SELECT語(yǔ)句。REVOKESELECTONBudget_DataTOMary9.4.2收回權(quán)限第54頁(yè),共60頁(yè),2023年,2月20日,星期六9.4.3禁止權(quán)限禁止語(yǔ)句權(quán)限的命令格式如下:DENY{ALL|statement[,...n]}TOaccount[,...n]禁止對(duì)象權(quán)限的命令格式如下:DENY
{ALL[PRIVILEGES]|permission[,...n]}
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版企業(yè)核心人員保密義務(wù)協(xié)議版B版
- 物流部工作計(jì)劃
- 2024年中小企業(yè)科技研發(fā)項(xiàng)目合作協(xié)議3篇
- 做好工作計(jì)劃7篇
- 小區(qū)垃圾分類調(diào)查報(bào)告
- 作文教學(xué)計(jì)劃
- 環(huán)保企業(yè)2022年終總結(jié)
- 感恩父母演講稿【范文10篇】
- 學(xué)校辭職報(bào)告合集15篇
- 擔(dān)保公司項(xiàng)目商業(yè)計(jì)劃書(shū)
- 國(guó)家開(kāi)放大學(xué)《Python語(yǔ)言基礎(chǔ)》實(shí)驗(yàn)1:Python 基礎(chǔ)環(huán)境熟悉參考答案
- 《中國(guó)心力衰竭診斷和治療指南2024》解讀
- SJG 09-2024 建筑基樁檢測(cè)標(biāo)準(zhǔn)
- 中小學(xué)3D打印科普講座
- 發(fā)運(yùn)員工作總結(jié)匯報(bào)
- 五年級(jí)學(xué)生讀書(shū)心得(31篇)
- 社區(qū)人民調(diào)解工作培訓(xùn)課件
- GB/T 43579-2023區(qū)塊鏈和分布式記賬技術(shù)智能合約生命周期管理技術(shù)規(guī)范
- 數(shù)學(xué)與語(yǔ)言學(xué)、語(yǔ)言藝術(shù)的交叉研究
- 清華大學(xué)大學(xué)物理-光的偏振
- 心理健康教育-網(wǎng)絡(luò)與青少年
評(píng)論
0/150
提交評(píng)論