時間:2022-12-16 04:30:01 | 來源:信息時代
時間:2022-12-16 04:30:01 來源:信息時代
DBMS安全性子系統(tǒng) : 由授權(quán)規(guī)則及其編譯程序、相應(yīng)的實施機制或仲裁程序組成的控制模塊,也稱DBMS安全性控制模塊。相應(yīng)的實施機制由數(shù)據(jù)庫語言提供,數(shù)據(jù)庫語言除支持用戶標(biāo)識與確認、授權(quán)、訪問控制、數(shù)據(jù)加密、數(shù)據(jù)庫審計等外,還提供視圖機制、存儲過程、函數(shù)和觸發(fā)器等安全性機制,以及數(shù)據(jù)庫備份機制。
1. 仲裁程序
仲裁程序(arbitrator)是數(shù)據(jù)庫管理系統(tǒng)中安全性管理子系統(tǒng)的一個安全性檢查實現(xiàn)程序,它對整個數(shù)據(jù)庫有無限的訪問權(quán)。當(dāng)用戶發(fā)出對數(shù)據(jù)庫對象的某種訪問請求時,仲裁程序要對請求作一系列的檢查以決定批準(zhǔn)或拒絕這個訪問請求。等待檢查的序列稱為安全查詢序列(security interrogation sequence)。假定用戶i請求對數(shù)據(jù)對象j進行R[i,j]訪問,仲裁程序從權(quán)限矩陣A中得到相應(yīng)的項A[i,j],然后檢查R[i,j]與A[i,j]是否匹配,如果匹配批準(zhǔn)這個請求,否則拒絕這個請求。如果仲裁程序拒絕這個訪問請求,它將作出違約響應(yīng)(violation response)。違約響應(yīng)的原因很多,如違反授權(quán)規(guī)則、數(shù)據(jù)的敏感程度、請求的來源等等。違約性質(zhì)嚴重的可能終止訪問,不太緊急的也許給用戶返回一個適當(dāng)?shù)拇a,也可能把破壞安全性的企圖記入安全日志,以便以后進行分析,制止非法入侵。通常,違約響應(yīng)是在授權(quán)矩陣中作為授權(quán)規(guī)則的另一組成部分加以規(guī)定的。
2. 授權(quán)規(guī)則
授權(quán)規(guī)則(authorization rule)給出把對數(shù)據(jù)庫對象的訪問權(quán)限授予用戶的規(guī)則。通常由負責(zé)數(shù)據(jù)庫安全事項的數(shù)據(jù)庫安全員(database security officer,DBSO)執(zhí)行數(shù)據(jù)庫語言的授權(quán)控制語句,例如,用SQL的GRANT語句來完成這個功能。在某些數(shù)據(jù)庫管理系統(tǒng)中數(shù)據(jù)庫安全員DBSO的職責(zé)由數(shù)據(jù)庫管理員DBA兼任。授權(quán)規(guī)則信息存儲在數(shù)據(jù)庫的數(shù)據(jù)字典中,且永久有效,除非執(zhí)行一個收回權(quán)限控制語句,例如SQL的REVOKE語句,才能將其已經(jīng)授予的權(quán)限收回。
3.視圖
視圖(view)是從基本表和其他視圖導(dǎo)出的虛表。它不但可以簡化用戶對數(shù)據(jù)庫的操作,而且也是實現(xiàn)數(shù)據(jù)庫安全性控制的手段。通過對不同用戶定義不同視圖,把需要保密的數(shù)據(jù)對無權(quán)訪問它們的用戶隱藏起來,即在定義用戶視圖時不包括對他們保密的列和行,然后授予用戶訪問相應(yīng)視圖而不是整張表。這樣,使得未授權(quán)用戶無法訪問敏感數(shù)據(jù),從而實現(xiàn)一定程度的數(shù)據(jù)庫安全性控制。
4. 存儲過程和函數(shù)
存儲過程(stored procedure)是由實現(xiàn)某一功能的一組SQL語句組成,存儲過程不僅極大地增強了SQL語句的能力、靈活性和效率,而且是一種安全控制機制。因為,可以使某個用戶具有運行存儲過程的權(quán)限,而不具有對該存儲過程所涉及的表或視圖訪問的權(quán)限。
函數(shù)(function)類似于存儲過程,只是函數(shù)調(diào)用返回的結(jié)果是表達式的一部分。
5.觸發(fā)器
觸發(fā)器(trigger)是由事件觸發(fā)執(zhí)行的一種特殊的存儲過程。它不僅是保證數(shù)據(jù)庫完整性的一種機制,而且也是實現(xiàn)數(shù)據(jù)庫安全性控制的一種機制。觸發(fā)器可被用來實現(xiàn)獨特的安全要求,諸如限制對數(shù)據(jù)庫的訪問時間(例如,限制不能在星期天或節(jié)假日訪問數(shù)據(jù)庫),用來執(zhí)行對關(guān)鍵數(shù)據(jù)修改的審計跟蹤等。
6.數(shù)據(jù)庫備份
雖然,數(shù)據(jù)庫備份(database backup)功能一般不屬于DBMS的安全子系統(tǒng),而屬于DBMS的恢復(fù)子系統(tǒng)。但是,當(dāng)數(shù)據(jù)庫被嚴重損壞時,可以使用數(shù)據(jù)庫備份恢復(fù)數(shù)據(jù)庫,從而保證數(shù)據(jù)庫系統(tǒng)的可用性。
有兩種不同類型的數(shù)據(jù)庫備份: 脫機備份和聯(lián)機備份。
(1)脫機備份(offline backup): 脫機備份是當(dāng)數(shù)據(jù)庫已被正常關(guān)閉,數(shù)據(jù)庫處于“offline”時,備份所有的數(shù)據(jù)文件、控制文件及聯(lián)機日志。
(2)聯(lián)機備份(online backup): 聯(lián)機備份是備份運行時的數(shù)據(jù)庫。在這種方式下,首先將聯(lián)機日志歸檔,然后在數(shù)據(jù)庫內(nèi)部建立一個所有作業(yè)的完整記錄。聯(lián)機備份提供了完全的時間點(point-in-time)恢復(fù),并且在備份時允許數(shù)據(jù)庫保持打開狀態(tài)。
微信公眾號
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。