Access數(shù)據(jù)庫的安全性比起Sql Server、Oracle等這些數(shù)據(jù)庫來,要差很多,但是如果我們精心設(shè)計和設(shè)置的話,它的安全性還是很容易得到保證的,本文從Access本身提供的各種方法進(jìn)行了設(shè)置。
在Office 2000下,Access數(shù)據(jù)庫的安全機(jī)制已經(jīng)更為完善。除了對數(shù)據(jù)庫設(shè)置密碼保護(hù),對數(shù)據(jù)庫進(jìn)行編碼壓縮,還可以啟用用戶級的安全機(jī)制,在用戶級別上控制對數(shù)據(jù)庫的訪問。
一、數(shù)據(jù)庫設(shè)置密碼
對于單機(jī)使用的數(shù)據(jù)庫或者是需要工作組共享的數(shù)據(jù)庫,僅設(shè)置密碼保護(hù)較為合適。知道密碼的組成員,都有數(shù)據(jù)庫的完全操作權(quán)限,彼此之間的使用權(quán)限沒有什么區(qū)別。設(shè)置密碼的步驟如下:
啟動Microsoft Access,在彈出的選擇窗口中點取消,不打開任何數(shù)據(jù)庫。
點擊菜單:文件---打開,在彈出的打開窗口中,選中要打開的數(shù)據(jù)庫文件。然后在打開按鈕的右側(cè)展開箭頭上單擊選定以獨占方式打開,用獨占方式打開選定的數(shù)據(jù)庫。
在Access窗口菜單上點擊:工具—安全—設(shè)置數(shù)據(jù)庫密碼。在彈出的密碼和驗證輸入框中,輸入密碼,注意區(qū)分大小寫,并請記住。然后點擊確定按鈕。
關(guān)閉數(shù)據(jù)庫,退出Access環(huán)境,密碼設(shè)置完畢。下次再打開此數(shù)據(jù)庫,就會提示輸入密碼,密碼正確才能打開數(shù)據(jù)庫。
如要復(fù)制數(shù)據(jù)庫,請不要使用數(shù)據(jù)庫密碼。如設(shè)置了密碼,復(fù)制的數(shù)據(jù)庫將不能同步。數(shù)據(jù)庫的密碼是和數(shù)據(jù)庫文件放置在一起,而不是放在工作組信息文件中。
二、數(shù)據(jù)庫壓縮編碼
為了進(jìn)一步對數(shù)據(jù)庫進(jìn)行加密保護(hù),可以對數(shù)據(jù)庫進(jìn)行編碼壓縮。這樣使用其它工具程序或字處理等軟件就無法查看此數(shù)據(jù)庫的內(nèi)容。而對用戶在Access下的使用則不影響。編碼的步驟如下:
啟動Microsoft Access,在彈出的選擇窗口中點取消,不打開任何數(shù)據(jù)庫。
點擊菜單:工具—安全—加密/解密數(shù)據(jù)庫。
在彈出的數(shù)據(jù)庫加密/解密窗口中,選取要編碼的數(shù)據(jù)庫,點擊確定按鈕。
在彈出的數(shù)據(jù)庫加密后另存為窗口中,在文件名輸入框中輸入編碼后的文件名,點擊保存按鈕。編碼壓縮后的數(shù)據(jù)庫被另保為另一個文件。
三、用戶級安全機(jī)制
使用用戶級的安全機(jī)制,可以更靈活更安全的保護(hù)數(shù)據(jù)庫。在這種安全機(jī)制下,在Access關(guān)聯(lián)的工作組信息文件中建立用戶和工作組帳戶,用來管理用戶;在具體的數(shù)據(jù)庫中管理對象權(quán)限,可以給用戶和工作組分別指定使用權(quán)限。用戶要輸入用戶名稱和密碼才能打開數(shù)據(jù)庫,對數(shù)據(jù)庫的操作要受擁有權(quán)限的限制。
1、工作組信息文件
在Microsoft Access中,用戶和工作組的信息帳戶,是存儲在工作組信息文件中的,即使用工作組信息文件來管理用戶和工作組。而默認(rèn)的工作組信息文件是:C:/Program Files/Microsoft Office/Office/System.mdw。
用戶也可以建立自己的工作組信息文件,用來按照自己的需要來劃分和管理用戶和工作組,一般是存放在數(shù)據(jù)庫所在的工作目錄下的Secured.mdw文件中,當(dāng)然用戶也可以自己指定文件名和存放位置,但文件的擴(kuò)展名不可以變。
工作組信息文件與整個Access關(guān)聯(lián)對應(yīng)著,在Access運行環(huán)境下有效,而不是對應(yīng)某個數(shù)據(jù)庫的。每次Access啟動,都要讀取工作組信息文件從而得到用戶和工作組的帳戶信息。默認(rèn)是讀取默認(rèn)工作組信息文件System.mdw,但用戶可以指定Access與哪個工作組信息文件關(guān)聯(lián):運行工作組信息管理器Wrkgadm.exe,(通常在C:/Program Files/Microsoft Office/Office/下已經(jīng)有指向該程序的快捷方式MS Access Workgroup Administrator)可以創(chuàng)建新的工作組信息文件或指定Access聯(lián)接某一個工作組信息文件。還可以在啟動Access的時候用命令行啟動參數(shù)選項/wrkg <工作組信息文件名>來指定聯(lián)接的工作組信息文件。
2、工作組信息文件的管理
啟動MS Access Workgroup Administrator快捷方式,在工作組管理員窗口中,點聯(lián)接按鈕可以更改Access啟動時要聯(lián)接的工作組信息文件:在彈出的工作組信息文件窗口中指定文件的路徑名稱即可。點創(chuàng)建按鈕,則可以創(chuàng)建一個新的工作組信息文件:在彈出的工作組所有權(quán)信息窗口中,輸入工作組名稱、單位、工作組ID三項內(nèi)容。在工作組信息文件窗口中輸入工作組信息文件數(shù)據(jù)庫的存放路徑和名稱。這就可以創(chuàng)建新的工作組信息文件,并已經(jīng)建立了關(guān)聯(lián)。
工作組ID是工作組唯一的唯一性標(biāo)識,用于區(qū)別于其它的工作組信息文件,必須要保存好,必要時可以憑此重建文件。
在Access下,點擊菜單:工具—安全—用戶級安全性向?qū)Вx中新建工作組信息文件,也可以建立新的工作組信息文件。
3、安全機(jī)制
在用戶級安全機(jī)制下,每個用戶有用戶名稱、個人標(biāo)識(PID)、根據(jù)名稱和PID用加密算法產(chǎn)生的唯一安全標(biāo)識(SID)、密碼;每個工作組有唯一的工作組名稱、個人標(biāo)識(PID)、安全標(biāo)識(SID),組沒有密碼,也不能用組名登錄。
用戶和組的個人標(biāo)識(PID)是唯一的,由4~20個字符組成,區(qū)分大小寫。用戶和組的安全標(biāo)識SID(Security ID),是由名稱和PID用加密算法產(chǎn)生的,唯一性的。
在工作組信息文件中(實際是特殊的Access數(shù)據(jù)庫),表MsysAccounts中保存用戶和組的名稱、SID、密碼信息,用戶和組的SID和用戶的密碼,是用二進(jìn)制保存的。在表MsysGroups中,存儲工作組SID和用戶SID之間的對照關(guān)系,以此判斷用戶屬于哪個組。這兩個表都是隱藏系統(tǒng)表。
用戶和組,對于數(shù)據(jù)庫機(jī)器各對象之間的對應(yīng)操作權(quán)限關(guān)系,并不保存在工作組信息文件中,而是存放在數(shù)據(jù)庫文件中,是因數(shù)據(jù)庫而異的。在Access數(shù)據(jù)庫(.mdb)文件中,有一個隱藏系統(tǒng)表MSysACEs,其中存放著用戶和組的SID以及與之對應(yīng)的數(shù)據(jù)庫各對象的標(biāo)識ID,還有操作權(quán)限信息。以此表示用戶和組與數(shù)據(jù)庫對象之間的對應(yīng)和操作權(quán)限關(guān)系。
在用戶打開數(shù)據(jù)庫時,Microsoft Access根據(jù)用戶輸入的用戶名稱和密碼,在工作組信息文件的MsysAccounts表中查找該用戶的SID,若未找到則提示帳戶無效并讓重新輸入;若找到了用戶的SID,則在MsysGroups表中查找到用戶所屬組的SID。根據(jù)找到的用戶和組的SID,再去數(shù)據(jù)庫(.mdb)的MSysACEs表中查找對應(yīng)的數(shù)據(jù)庫對象ID和其權(quán)限信息,由此可以確定用戶和組可以訪問什么數(shù)據(jù)庫對象及有什么操作權(quán)限。
新聞熱點
疑難解答
圖片精選