王研
摘 要:企業(yè)數(shù)據(jù)庫的系統(tǒng)安全在數(shù)據(jù)庫設(shè)計(jì)與使用中都十分重要,它不僅關(guān)系到企業(yè)數(shù)據(jù)庫的穩(wěn)定運(yùn)行,還會(huì)給企業(yè)的未來發(fā)展帶來嚴(yán)重影響。SQL Server系統(tǒng)因具有良好的性能,得到了廣泛的應(yīng)用,在此背景下,筆者將對(duì)基于SQL Server的企業(yè)數(shù)據(jù)庫系統(tǒng)安全機(jī)制設(shè)計(jì)進(jìn)行分析。
關(guān)鍵詞:SQL Server;企業(yè);數(shù)據(jù)庫;系統(tǒng);安全機(jī)制
1 數(shù)據(jù)庫系統(tǒng)簡(jiǎn)介
某家企業(yè)為機(jī)械制造企業(yè),內(nèi)部設(shè)有3個(gè)分廠與1個(gè)輔助分廠,還有一些檢驗(yàn)機(jī)構(gòu)等。該企業(yè)目前使用的數(shù)據(jù)庫主要包括了供應(yīng)、生產(chǎn)、計(jì)劃、銷售等不同的子系統(tǒng),這些不同的子系統(tǒng)會(huì)共同使用一個(gè)數(shù)據(jù)庫,且每一個(gè)子系統(tǒng)都會(huì)有專門的工作人員將各類數(shù)據(jù)錄入進(jìn)去。該企業(yè)數(shù)據(jù)庫系統(tǒng)主要的結(jié)構(gòu)為B/S結(jié)構(gòu)、后臺(tái)設(shè)計(jì)選用了SQL Server,前臺(tái)設(shè)計(jì)選用了JSP,操作系統(tǒng)設(shè)計(jì)則選用了Windows NT 2000。
其中,供應(yīng)子系統(tǒng)主要是用來進(jìn)行企業(yè)所需物資的出庫、入庫等工作;計(jì)劃子系統(tǒng)主要用來將企業(yè)相關(guān)的統(tǒng)計(jì)報(bào)表生成為周計(jì)劃報(bào)表,在此基礎(chǔ)上進(jìn)一步生成月計(jì)劃表;生產(chǎn)子系統(tǒng)主要用來對(duì)該企業(yè)每天的生產(chǎn)工作進(jìn)行總結(jié)與分析,并且對(duì)生產(chǎn)周報(bào)等進(jìn)行相關(guān)統(tǒng)計(jì);銷售子系統(tǒng)主要是對(duì)客戶的信息、企業(yè)的銷售月報(bào)等進(jìn)行相關(guān)分析,并以此制定合理的銷售計(jì)劃。
2 基于SQL Server的企業(yè)數(shù)據(jù)庫系統(tǒng)安全機(jī)制設(shè)計(jì)
2.1 身份驗(yàn)證
在基于SQL Server的數(shù)據(jù)庫系統(tǒng)安全機(jī)制設(shè)計(jì)中,身份驗(yàn)證是最為基礎(chǔ)的一個(gè)環(huán)節(jié),具有較強(qiáng)的意義。在對(duì)數(shù)據(jù)庫安全機(jī)制進(jìn)行設(shè)計(jì)的過程中,SQL Server主要有兩種不同的身份驗(yàn)證方式,即Windows身份驗(yàn)證與Windows+SQL Server聯(lián)合驗(yàn)證方式。
SQL Server類型的身份驗(yàn)證主要是將賬戶、密碼與數(shù)據(jù)庫Sysxlogins中的清單進(jìn)行合理匹配;Windows身份驗(yàn)證主要是指利用控制器來對(duì)用戶身份的合法性進(jìn)行合理驗(yàn)證。無論選擇哪一種驗(yàn)證方式,系統(tǒng)內(nèi)部的SQL Server都會(huì)接收到相關(guān)的訪問標(biāo)記,此時(shí),訪問標(biāo)記在驗(yàn)證的具體過程中會(huì)形成一個(gè)列表,列表中有用戶的SID,SQL Server可以根據(jù)這些不同的SID來授予用戶相應(yīng)的訪問權(quán)限資格。
SQL Server驗(yàn)證模式存在一定程度的弊端,主要表現(xiàn)在此類型的驗(yàn)證模式在多服務(wù)器背景下存在管理困難的問題,這一點(diǎn)需要相關(guān)的設(shè)計(jì)人員重點(diǎn)關(guān)注。
2.2 應(yīng)用程序的驗(yàn)證
在用戶身份驗(yàn)證結(jié)束之后,需要進(jìn)行應(yīng)用程序方面的驗(yàn)證。該系統(tǒng)的設(shè)計(jì)人員針對(duì)每一個(gè)不同的子系統(tǒng)都設(shè)置了相應(yīng)的登錄界面,用戶在登錄界面的相應(yīng)輸入框中輸入正確的賬戶與密碼之后,IIS才會(huì)允許這些用戶去訪問他們需要的頁面。每一名用戶的賬號(hào)及密碼會(huì)存于數(shù)據(jù)庫內(nèi)部的表格中,用戶若是需要利用相關(guān)的登錄界面去進(jìn)行登錄,IIS就會(huì)將用戶的個(gè)人身份信息提供給數(shù)據(jù)庫的服務(wù)器,數(shù)據(jù)庫會(huì)將收到的信息與系統(tǒng)中的密碼進(jìn)行相應(yīng)的比較分析,只有系統(tǒng)確定賬戶與密碼相匹配之后,用戶才能正式進(jìn)入系統(tǒng)。
2.3 SQL Server組
在該企業(yè)的數(shù)據(jù)庫內(nèi)部,每一個(gè)子系統(tǒng)都有自身的獨(dú)立功能,但是彼此之間也存在相應(yīng)的聯(lián)系,所有的數(shù)據(jù)都在同一個(gè)大的數(shù)據(jù)庫內(nèi)部進(jìn)行儲(chǔ)存。因此,設(shè)計(jì)人員在安全機(jī)制設(shè)計(jì)中,為該企業(yè)的系統(tǒng)設(shè)置了一個(gè)可以滿足不同用戶的SQL Server組。設(shè)計(jì)人員在設(shè)計(jì)過程中,將SQL Server組劃分為了管理員組、用戶組、服務(wù)器拒絕用戶組、創(chuàng)建者組、操作組等。在對(duì)相關(guān)的組進(jìn)行了合理設(shè)計(jì)后,就應(yīng)當(dāng)為不同的組別設(shè)置SQL Server的訪問權(quán)限,并且將Master設(shè)置為默認(rèn)狀態(tài)下的數(shù)據(jù)庫,之后再對(duì)服務(wù)器拒絕用戶組設(shè)置相應(yīng)的授權(quán)。在給其他組別進(jìn)行授權(quán)的過程中,設(shè)計(jì)人員分別為每一個(gè)不同的組建立了相應(yīng)的登錄名,并且打開Analyzer,開始相關(guān)的授權(quán)工作。設(shè)計(jì)人員將不同的登錄名與不同的服務(wù)器相結(jié)合,將其變?yōu)椴煌M內(nèi)部的角色成員。例如,SQL Server Administratprs就可以成為Sysadmins的角色成員。這樣一來,不同的用戶組別權(quán)限就可以得到比較合理的設(shè)置。
除此之外,對(duì)于Main DB Users,設(shè)計(jì)人員也創(chuàng)建了一個(gè)相關(guān)的登錄名字,并且讓該登錄名字成為Dbcreator的角色成員,用戶在對(duì)其進(jìn)行相應(yīng)的授權(quán)之后就可以訪問數(shù)據(jù)庫。
2.4 用戶權(quán)限的分配
該企業(yè)的數(shù)據(jù)庫內(nèi)部相關(guān)用戶數(shù)量較多,不同的用戶具有不同的權(quán)限,因此,對(duì)用戶權(quán)限進(jìn)行科學(xué)、合理的分配也是十分重要的。設(shè)計(jì)人員首先對(duì)數(shù)據(jù)庫的個(gè)體角色進(jìn)行了明確的定位,保證每一個(gè)子系統(tǒng)自身都具有兩種不同的角色,如操作員角色與領(lǐng)導(dǎo)角色、企業(yè)領(lǐng)導(dǎo)角色與DBA角色等。
之后,設(shè)計(jì)人員需要為每一個(gè)角色分配相應(yīng)的數(shù)據(jù)庫對(duì)象,還要對(duì)不同數(shù)據(jù)庫對(duì)象的權(quán)限進(jìn)行不同的分析,在這一環(huán)節(jié)中,設(shè)計(jì)人員主要利用了SQL Server Management工具,還會(huì)在必要時(shí)候利用DENY、REVOKE等不同的命令來對(duì)相關(guān)的數(shù)據(jù)庫權(quán)限進(jìn)行更為合理的管理。在用戶權(quán)限的分配中,用戶方面定義的數(shù)據(jù)庫角色主要與SQL Server登錄、本地組、賬戶等有比較緊密的聯(lián)系,因此,設(shè)計(jì)人員可以將登錄名輸入已經(jīng)定義好的數(shù)據(jù)庫角色內(nèi)部,這樣就可以實(shí)現(xiàn)對(duì)登錄名的權(quán)限分配工作順利完成。
3 結(jié)語
數(shù)據(jù)庫對(duì)于企業(yè)的運(yùn)行與未來發(fā)展具有重要的意義與價(jià)值,企業(yè)在日常業(yè)務(wù)開展中需要建立數(shù)據(jù)庫并且保證數(shù)據(jù)庫具有較高的安全性。在本文中,某企業(yè)基于SQL Server建立了數(shù)據(jù)庫,并且對(duì)于該數(shù)據(jù)庫系統(tǒng)的安全機(jī)制進(jìn)行了相關(guān)的設(shè)計(jì)。筆者在文中對(duì)于該企業(yè)的數(shù)據(jù)庫進(jìn)行了相應(yīng)的分析,并且對(duì)安全機(jī)制的設(shè)計(jì)做了合理的淺析,望給相關(guān)人士的工作提供參考意見。
參考文獻(xiàn)
[1]賀亞茹.基于SQL Server的企業(yè)數(shù)據(jù)庫系統(tǒng)安全機(jī)制設(shè)計(jì)[J].工礦自動(dòng)化,2012,38(10):29-32.
(作者單位:碳?xì)涓咝Ю眉夹g(shù)研究中心)