第四章數(shù)據(jù)庫的安全性(角色和權(quán)限)課件_第1頁
第四章數(shù)據(jù)庫的安全性(角色和權(quán)限)課件_第2頁
第四章數(shù)據(jù)庫的安全性(角色和權(quán)限)課件_第3頁
第四章數(shù)據(jù)庫的安全性(角色和權(quán)限)課件_第4頁
第四章數(shù)據(jù)庫的安全性(角色和權(quán)限)課件_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第四章數(shù)據(jù)庫安全性1、問題的提出數(shù)據(jù)庫的特點是數(shù)據(jù)可以共享數(shù)據(jù)共享必然帶來數(shù)據(jù)庫的安全性問題數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享不能是無條件的共享例:軍事秘密、國家機密、新產(chǎn)品實驗數(shù)據(jù)、市場需求分析、市場營銷策略、銷售計劃、客戶檔案、醫(yī)療檔案、銀行儲蓄數(shù)據(jù)2、數(shù)據(jù)庫的安全性:是指保護(hù)數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。3、數(shù)據(jù)庫的安全性和計算機系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)的安全性是緊密聯(lián)系、相互支持的。第四章數(shù)據(jù)庫安全性1、問題的提出數(shù)據(jù)庫安全性1、三類安全性問題技術(shù)安全性管理安全性政策法律安全性2、技術(shù)安全性案例編寫合法程序繞過DBMS及其授權(quán)機制直接或編寫程序執(zhí)行非授權(quán)操作通過多次合法查詢數(shù)據(jù)庫從中推導(dǎo)出一些保密數(shù)據(jù)問題:在技術(shù)上在我們能想到什么樣的數(shù)據(jù)庫安全保障措施呢?數(shù)據(jù)庫安全性1、三類安全性問題問題:在技術(shù)上在我們能想到什么數(shù)據(jù)庫系統(tǒng)安全性控制1、用戶標(biāo)識和口令可以在計算機硬件、操作系統(tǒng)、DBMS、應(yīng)用程序等各環(huán)節(jié)進(jìn)行設(shè)置;也可以通過各種方法進(jìn)行動態(tài)的計算來鑒別;還可以通過人體的各種特征來鑒別。目的:提高非法用戶進(jìn)入系統(tǒng)的難度。數(shù)據(jù)庫系統(tǒng)安全性控制1、用戶標(biāo)識和口令數(shù)據(jù)庫系統(tǒng)安全性控制(續(xù))2、存取控制定義用戶權(quán)限合法權(quán)限檢查①權(quán)限:用戶對某一數(shù)據(jù)對象的操作權(quán)力稱為權(quán)限。②某個用戶應(yīng)該具有何種權(quán)限是管理和政策問題,不是技術(shù)問題。③定義用戶存取權(quán)限就是定義用戶可在哪些數(shù)據(jù)庫對象上進(jìn)行哪些類型的操作。④定義存取權(quán)限稱為授權(quán)。⑤存取控制是DBMS主要關(guān)心的問題。3、視圖機制:為不同用戶定義不同的視圖,限制數(shù)據(jù)對象的范圍。4、數(shù)據(jù)加密存儲與傳輸:會降低系統(tǒng)效率。數(shù)據(jù)庫系統(tǒng)安全性控制(續(xù))2、存取控制數(shù)據(jù)庫系統(tǒng)安全性控制(續(xù))5、統(tǒng)計數(shù)據(jù)庫:即只允許用戶查詢聚集類型的信息(如合計、均值等),不允許查詢單個記錄信息。統(tǒng)計數(shù)據(jù)庫的特殊安全性:能從合法的查詢中推導(dǎo)出不合法信息。為此,可做如下的規(guī)定:①任何查詢至少要涉及N個以上的記錄;②任意兩個查詢的相交數(shù)據(jù)項不能超過M個;③任何用戶的查詢次數(shù)不能超過H次?!瓟?shù)據(jù)庫系統(tǒng)安全性控制(續(xù))5、統(tǒng)計數(shù)據(jù)庫:即只允許用戶查詢聚身份驗證方式的確認(rèn)和設(shè)置注意:登錄名和數(shù)據(jù)庫用戶的創(chuàng)建和使用要求SQLServer必須工作在“SQLServer和Windows混合身份驗證”模式。確認(rèn)和設(shè)置方法如下:1、啟動SQLServer;2、在服務(wù)器名稱上右鍵選擇“屬性”,打開“服務(wù)器屬性”對話框。在“選擇頁”里選擇“安全性”,在“服務(wù)器身份驗證”里選擇“SQLServer和Windows身份驗證模式”,單擊“確定”完成。切記:若改變了身份驗證方式,必須重啟SQLServer服務(wù)才能生效。身份驗證方式的確認(rèn)和設(shè)置注意:登錄名和數(shù)據(jù)庫用戶的創(chuàng)建和使用創(chuàng)建登錄名和數(shù)據(jù)庫用戶1、啟動SQLServer;2、選擇“安全性→登錄名”,右擊“登錄名”,選擇“新建登錄名”,打開“登錄名-新建”對話框。在“常規(guī)”選項卡中,輸入登錄名,選擇“SQLServer身份驗證”,輸入密碼和確認(rèn)密碼,去掉“強制實施密碼策略”、“強制密碼過期”、“用戶在下次登錄時必須更改密碼”前的對勾,選擇默認(rèn)數(shù)據(jù)庫;4、選擇“用戶映射”選項卡,選擇數(shù)據(jù)庫(可多選)。此時,所創(chuàng)建的登錄名即做為所選數(shù)據(jù)庫的用戶;5、選擇“狀態(tài)”選項卡,“設(shè)置”里“是否允許連接到數(shù)據(jù)庫引擎”選擇“授予”,“登錄”里選擇“啟用”,單擊“確定”完成。創(chuàng)建登錄名和數(shù)據(jù)庫用戶1、啟動SQLServer;創(chuàng)建、刪除登錄名和數(shù)據(jù)庫用戶1、創(chuàng)建登錄名lxd

createloginlxdwithpassword='lxdlxd'2、創(chuàng)建數(shù)據(jù)庫用戶

usemydbcreateuserlxd將lxd設(shè)置為mydb數(shù)據(jù)庫的用戶。該用戶幾乎沒有任何權(quán)限。3、刪除數(shù)據(jù)庫用戶:

dropuserlxd4、刪除登錄名:

droploginlxd5、查看當(dāng)前數(shù)據(jù)庫用戶信息:execsp_helpuser6、查看用戶lxd信息:execsp_helpuser'lxd'創(chuàng)建、刪除登錄名和數(shù)據(jù)庫用戶1、創(chuàng)建登錄名lxd表級權(quán)限的授權(quán)與回收1、表級的用戶權(quán)限設(shè)置可通過右擊某個關(guān)系表(如student表)選擇“屬性”,打開“表屬性”對話框,選擇“權(quán)限”標(biāo)簽頁即可。2、grant語句(授權(quán))一般格式:

grant<權(quán)限>[,...]on<表名|視圖名[(列名[,…])]>to<用戶>[,…][withgrantoption]3、常用權(quán)限類型:insert、delete、update、select4、revoke語句(回收)一般格式:revoke[grantoptionfor]<權(quán)限>[,...]on<表名|視圖名[(列名[,…])]>from<用戶>[,…][cascade]問題:誰能執(zhí)行授權(quán)命令?表級權(quán)限的授權(quán)與回收1、表級的用戶權(quán)限設(shè)置可通過右擊某個關(guān)系授權(quán)DBA、數(shù)據(jù)庫對象創(chuàng)建者(即屬主Owner)、擁有授權(quán)權(quán)限的用戶可以執(zhí)行授權(quán)命令。1、把查詢Student表權(quán)限授給用戶lxd。

grantselectonstudenttolxd2、把對course表的插入與刪除權(quán)限授給用戶lxd。

grantinsert,updateoncoursetolxd3、把對student表的sno,sname屬性的查詢權(quán)限授給用戶lxd。

grantselectonstudent(sno,sname)tolxd4、把對sc表grade屬性的修改權(quán)限授給用戶lxd。

grantupdateonsc(grade)tolxd授權(quán)DBA、數(shù)據(jù)庫對象創(chuàng)建者(即屬主Owner)、擁有授權(quán)權(quán)授權(quán)(續(xù))5、把對Student表操作的所有權(quán)限授給用戶lxd。

grantallonstudenttolxd6、把對course表查詢權(quán)限授給數(shù)據(jù)庫的所有用戶。

grantselectoncoursetopublic7、把對student表查詢權(quán)限授給用戶lxd,同時授予授權(quán)的權(quán)限。

grantselectonstudenttolxdwithgrantoption注意:lxd用戶只能將其權(quán)限范圍內(nèi)的權(quán)力授予其他用戶。不推薦使用8、查看用戶lxd的權(quán)限信息:execsp_helprotectnull,'lxd'9、查看student表的授權(quán)信息:execsp_helprotect'student'授權(quán)(續(xù))5、把對Student表操作的所有權(quán)限授給用戶lx回收1、回收用戶lxd查詢Student表的權(quán)限。

revokeselectonstudentfromlxd2、回收用戶lxd對course表cno,cname修改的權(quán)限。

revokeupdateoncourse(cno,cname)fromlxd3、回收所有用戶對sc表的查詢權(quán)限。

revokeselectonscfrompublic4、回收用戶lxd查詢student表和其授權(quán)的權(quán)限。revokegrantoptionforselectonstudentfromlxd問題:若用戶lxd已經(jīng)將其權(quán)限和授權(quán)的權(quán)限授給了其他用戶呢?revokegrantoptionforselectonstudentfromlxdcascade回收1、回收用戶lxd查詢Student表的權(quán)限。3、回收所數(shù)據(jù)庫角色數(shù)據(jù)庫角色:是被命名的一組與數(shù)據(jù)庫操作相關(guān)的權(quán)限。即權(quán)限的集合。select:studentupdate:course(cname,credit)數(shù)據(jù)庫角色r1用戶U1...用戶Un用戶作為角色的成員:即建立用戶與角色的對應(yīng)關(guān)系。用戶被授予了角色所擁有的權(quán)限。數(shù)據(jù)庫角色數(shù)據(jù)庫角色:是被命名的一組與數(shù)據(jù)庫操作相關(guān)的權(quán)限。數(shù)據(jù)庫角色的使用1、創(chuàng)建數(shù)據(jù)庫角色

createroler12、授予角色權(quán)限內(nèi)容

grantselectonstudenttor1grantupdateoncourse(cname,credit)tor13、建立用戶與角色的對應(yīng)關(guān)系execsp_addrolemember'r1','U1'……execsp_addrolemember'r1','Un'4、從角色中回收權(quán)限

revokeselectonstudentfromr15、刪除角色中的用戶

execsp_droprolemember'r1','U1'6、刪除角色

droproler17、查看角色成員信息

execsp_helprolememberr18、查看有哪些角色

execsp_helprole9、查看角色權(quán)限內(nèi)容

execsp_helprotectnull,'r1'數(shù)據(jù)庫角色的使用1、創(chuàng)建數(shù)據(jù)庫角色4、從角色中回收權(quán)限數(shù)據(jù)庫固定角色1、查看有哪些固定角色

execsp_helpdbfixedrole2、查看固定角色db_datareader的描述信息

execsp_helpdbfixedroledb_datareader3、查看固定角色db_datareader權(quán)限內(nèi)容

execsp_dbfixedrolepermissiondb_datareader4、向固定角色db_datareader添加和刪除用戶

execsp_addrolemember'db_datareader','lxd'execsp_droprolemember'db_datareader','lxd'即SQLServer所定義的一些角色,該角色權(quán)限內(nèi)容不能被修改。數(shù)據(jù)庫固定角色1、查看有哪些固定角色即SQLServer所數(shù)據(jù)庫固定角色(續(xù))固定角色權(quán)限db_owner數(shù)據(jù)庫的所有者??蓤?zhí)行任何數(shù)據(jù)庫管理工作。db_accessadmin數(shù)據(jù)庫訪問權(quán)限管理者??商砑踊騽h除用戶、組或登錄名db_securityadmin管理角色成員、對象所有權(quán)、語句執(zhí)行權(quán)、數(shù)據(jù)庫訪問權(quán)限。db_ddladmin數(shù)據(jù)庫DDL管理員,可執(zhí)行數(shù)據(jù)庫定義語言。db_backupoperator執(zhí)行數(shù)據(jù)庫備份。db_datareader可對數(shù)據(jù)庫中任何表執(zhí)行select操作。db_datawriter可對數(shù)據(jù)中任何表執(zhí)行更新操作,但不可查詢。db_denydatawriter不能對任何表進(jìn)行更新操作。db_denydatareader不能查詢數(shù)據(jù)庫中任何表的內(nèi)容。數(shù)據(jù)庫固定角色(續(xù))固定角色權(quán)限db_owner數(shù)據(jù)完成下列要求要求lxd用戶具有查看選修了DB課程的學(xué)生學(xué)號、姓名、所在系和成績信息。createroleDBTeachercreateviewDB_Course(sno,sname,sdept,grade)asselectstudent.sno,sname,sdept,gradefromstudent,course,scwherestudent.sno=sc.snoando=oandcname='DB‘grantselectonDB_CoursetoDBTeacherexecsp_addrolemember'DBTeacher','lxd'完成下列要求要求lxd用戶具有查看選修了DB課程的學(xué)生學(xué)號、審計審計:即把用戶對數(shù)據(jù)庫的操作自動記錄下來。DBA可利用這些信息進(jìn)行安全分析

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論