楊 蘇(河南牧業(yè)經(jīng)濟(jì)學(xué)院,鄭州 450044)
?
數(shù)據(jù)庫(kù)安全性設(shè)計(jì)
楊蘇
(河南牧業(yè)經(jīng)濟(jì)學(xué)院,鄭州450044)
摘要:數(shù)據(jù)庫(kù)的共享使用是其一個(gè)重要的作用和功能,但是數(shù)據(jù)共享如果不加入一些規(guī)則和限制會(huì)給數(shù)據(jù)庫(kù)帶來安全性問題。我們應(yīng)該明白數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)共享不能是無(wú)條件的共享。如何保護(hù)數(shù)據(jù)庫(kù)防止一些用戶因不當(dāng)?shù)募安缓戏ǖ氖褂迷斐蓴?shù)據(jù)更改、破壞或泄漏,這就需要使用一些技術(shù)手段。本文主要以O(shè)racle數(shù)據(jù)庫(kù)為對(duì)象研究如何運(yùn)用安全措施保證數(shù)據(jù)庫(kù)的安全。
關(guān)鍵詞:數(shù)據(jù)庫(kù);數(shù)據(jù)共享;Oracle數(shù)據(jù)庫(kù);數(shù)據(jù)庫(kù)安全
現(xiàn)在信息系統(tǒng)的開發(fā)中數(shù)據(jù)庫(kù)的設(shè)計(jì)所在比重越來越大,防止數(shù)據(jù)庫(kù)不被非法訪問、破壞和提高數(shù)據(jù)庫(kù)的性能是數(shù)據(jù)庫(kù)設(shè)計(jì)非常重要的環(huán)節(jié),數(shù)據(jù)庫(kù)安全性設(shè)計(jì)和性能優(yōu)化已被廣大系統(tǒng)開發(fā)者所重視。
2.1用戶標(biāo)識(shí)與鑒別
在我們使用的計(jì)算機(jī)系統(tǒng)中,安全措施是分很多層次的,用戶標(biāo)識(shí)與鑒別是系統(tǒng)所能夠提供的安全保護(hù)措施中最外面的一層。其方法是由系統(tǒng)為用戶提供一定的方式和規(guī)則讓用戶標(biāo)識(shí)自己的名字或身份,以便每次用戶登陸系統(tǒng)時(shí),對(duì)比數(shù)據(jù)庫(kù)記錄的合法用戶信息,通過驗(yàn)證方能訪問數(shù)據(jù)庫(kù)。具體設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)我們可以創(chuàng)建sys_user表,這些用戶的標(biāo)識(shí)和鑒別信息在sys_user表中保存,用戶每次登錄系統(tǒng)時(shí)應(yīng)用程序都會(huì)對(duì)比用戶所輸入的用戶名和密碼與數(shù)據(jù)庫(kù)這樣就可以確定用戶是否合法。
2.2存取控制
數(shù)據(jù)庫(kù)安全中最重要的一方面是確保只允許有一定資格的用戶去訪問數(shù)據(jù)庫(kù)中特定的表或者數(shù)據(jù),這主要是通過數(shù)據(jù)庫(kù)系統(tǒng)的存取控制實(shí)現(xiàn)的。目的是將用戶權(quán)限等級(jí)到數(shù)據(jù)字典中。用戶只訪問他有權(quán)訪問的數(shù)據(jù)。每當(dāng)用戶進(jìn)行某些數(shù)據(jù)的查詢、插入、修改、刪除等操作時(shí),先對(duì)其進(jìn)行一些檢查,主要檢查這些用戶的操作權(quán)限,若用戶的操作請(qǐng)求超出了或者不符合系統(tǒng)定義的權(quán)限,系統(tǒng)將拒絕用戶執(zhí)行此操作。
比如:管理人員可以被允許訪問系統(tǒng)內(nèi)全部的數(shù)據(jù);單個(gè)部門只能訪問本部門的在建以及歷史數(shù)據(jù)。
2.3定義視圖
視圖是從一個(gè)或者多個(gè)表(視圖)中所導(dǎo)出的表,其結(jié)構(gòu)的構(gòu)成和數(shù)據(jù)確立是建立在查詢這些表(視圖)基礎(chǔ)上的。視圖并不是真是存在的表而是一張?zhí)摫恚晥D所對(duì)應(yīng)的數(shù)據(jù)是在視圖所引用的基礎(chǔ)表中存儲(chǔ)的。
在關(guān)系數(shù)據(jù)庫(kù)中,可以根據(jù)實(shí)際的需求為特定的用戶定義特定的視圖。讓表中的一部分?jǐn)?shù)據(jù)只對(duì)一部分特定的用戶可見。如果一些數(shù)據(jù)是保密的,就可以使用視圖把這些數(shù)據(jù)隱藏起來,使沒有獲得授權(quán)的用戶不能看到這些數(shù)據(jù)。對(duì)數(shù)據(jù)庫(kù)提供安全保護(hù)。
比如某公司有A、B兩個(gè)部門,A部門只能訪問本部門的在建、歷史項(xiàng)目數(shù)據(jù);其他項(xiàng)目的數(shù)據(jù)對(duì)其是不可見的。可以為A項(xiàng)目建立“部門人力資源視圖”,從數(shù)據(jù)庫(kù)“部門人力資源信息表”查看A項(xiàng)目的人員情況。
2.4使用存儲(chǔ)過程
存儲(chǔ)過程通過隔離的方法提高了數(shù)據(jù)庫(kù)的安全性,通過授權(quán)可以讓用戶只能執(zhí)行存儲(chǔ)構(gòu)成而不能直接訪問數(shù)據(jù)庫(kù)對(duì)象。建立一個(gè)存儲(chǔ)過程是很靈活的,并且可以實(shí)現(xiàn)一定的邏輯處理。
2.5充分利用系統(tǒng)全局區(qū)域SGA(System Global Area)
我們用Oracle設(shè)計(jì)數(shù)據(jù)庫(kù),當(dāng)我們啟動(dòng)Oracle的數(shù)據(jù)庫(kù)時(shí),系統(tǒng)為了儲(chǔ)存用戶所需要數(shù)據(jù)及Oracle正常運(yùn)行所必備系統(tǒng)信息,首先會(huì)在內(nèi)存內(nèi)規(guī)劃出來一個(gè)固定的區(qū)域使用。這個(gè)區(qū)域我們稱為系統(tǒng)全局區(qū)(System Global Area),簡(jiǎn)稱SGA。數(shù)據(jù)庫(kù)管理員可以依據(jù)數(shù)據(jù)庫(kù)實(shí)際運(yùn)行狀況根據(jù)需要調(diào)整數(shù)據(jù)庫(kù)系統(tǒng)全局區(qū)(SGA區(qū))的數(shù)據(jù)庫(kù)緩沖區(qū)、共享池和日志緩沖區(qū)的大小。只有合理設(shè)置這些內(nèi)存緩沖區(qū),才可很大加快數(shù)據(jù)的查詢速度,只要所使用的內(nèi)存區(qū)足夠大就可以把絕大多數(shù)的數(shù)據(jù)都存儲(chǔ)在內(nèi)存中,只有那些不活躍的不經(jīng)常使用的數(shù)據(jù),才從磁盤中讀取。這里有一點(diǎn)是需要注意的,SGA區(qū)并不是我們想象的越大越好,SGA區(qū)如果過大就會(huì)占用操作系統(tǒng)所使用的內(nèi)存從而引起虛擬內(nèi)存的頁(yè)面交換,這樣的話反而會(huì)降低系統(tǒng)運(yùn)行性能, SGA的尺寸不大于物理內(nèi)存的一半是我們所設(shè)計(jì)的原則。
在 Oracle8i 中,SGA 的大小不是手動(dòng)設(shè)置而是由初始化參數(shù)文件內(nèi)的一些參數(shù)所設(shè)定,這其中有不是很方便的地方是每次調(diào)整后必須等重新激活數(shù)據(jù)庫(kù)這才能生效。從Oracle9i 以后,DBA 可以動(dòng)態(tài)配置內(nèi)存的大小;這樣的數(shù)據(jù)庫(kù)技術(shù)我們稱為「dynamicSGA」。有了dynamic SGA ,SGA的各組成區(qū)域都可以動(dòng)態(tài)地進(jìn)行規(guī)劃與調(diào)整,而不需先關(guān)閉數(shù)據(jù)庫(kù)。
數(shù)據(jù)庫(kù)管理員只有認(rèn)真分析Oracle在其運(yùn)行使用過程中可能出現(xiàn)的各種安全性問題,綜合運(yùn)用上面介紹的規(guī)律,Oracle數(shù)據(jù)庫(kù)才能高效、安全、可靠地運(yùn)行。這里還需要指出的是,數(shù)據(jù)庫(kù)的安全是一個(gè)系統(tǒng)工程,涉及到方方面面,我們?cè)O(shè)計(jì)的時(shí)候要考慮到各個(gè)方面綜合分析,不能只根據(jù)一個(gè)特定時(shí)間點(diǎn)的安全情況就斷定數(shù)據(jù)庫(kù)安全運(yùn)行的好與壞。
參考文獻(xiàn):
[1]聶軍.論數(shù)據(jù)庫(kù)安全性設(shè)計(jì)[J].中國(guó)現(xiàn)代教育裝備,2009(01).
[2]凃云杰.云背景下的數(shù)據(jù)庫(kù)安全性研究[J].價(jià)值工程,2015(21).
[3]常紅梅.基于存儲(chǔ)過程的數(shù)據(jù)庫(kù)安全性實(shí)踐初論[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014(04).
[4]郭霞.基于Oracle數(shù)據(jù)庫(kù)性能優(yōu)化技術(shù)研究[J].電腦知識(shí)與技術(shù),2011(07).
DOI:10.16640/j.cnki.37-1222/t.2016.11.234