深入瞭解MicrosoftAccess安全性(轉)

RegisterForBlog發表於2007-09-19
深入瞭解MicrosoftAccess安全性(轉)[@more@]

  簡介

  在早期版本的 Microsoft® Access(Microsoft Access 2000 以前)中,有關安全性的知識有時被認為是無法為任何人所掌握和應用的。您需要按順序執行很多步驟,一旦遺漏某個步驟或者顛倒了順序就會帶來災難性的後果。隨著 Microsoft Access for Microsoft Windows® 95 的 Security Wizard 出現,以及 Microsoft Access 2000 的 Security Wizard 的不斷改進,在 Access 中實現安全性已變得非常簡單。但是,即使有了這些幫助,您也必須清楚自己的安全選項,並掌握在資料庫中保護資料和物件的操作。否則,輕者會帶來資料安全隱患,重者會將您鎖在自己的資料庫之外。

  有很多方法可以保護您的 Access 資料庫以及其中包含的資料。在本文中,我們將討論用於保護組成資料庫的各個物件(包含資料)、包含諸如窗體和報表等元素的物件以及程式碼(可能是資料庫中最有價值的部分)的方法。本文中討論的安全技巧只適用於 Microsoft Access 資料庫 (.mdb) 檔案。

  需要了解的有關保護敏感資料的知識

  您應該知道,有很多工具和第三方實用程式可以用於探測任何型別的資料庫的密碼,以及來自任何工作組資訊檔案的使用者名稱和密碼(本文後面將詳細介紹工作組資訊檔案)。如果需要保護敏感資料免受非法訪問,最好的安全措施就是使用計算機作業系統提供的檔案級安全性和檔案共享安全性。檔案級安全性涉及在資料檔案上設定許可權。檔案共享安全性涉及限制對資料檔案儲存位置的訪問。檔案共享安全性的一個示例是在儲存資料檔案的資料夾(位於本地計算機或網路伺服器上)上設定使用者許可權。為此,可以將資料拆分到多個檔案中,在這些檔案上設定使用者許可權,再將這些檔案放置到受保護的檔案共享空間中。然後可以從具有安全設定的 Access 資料庫連結到這些檔案。

  Access 安全性概述

  以下各節介紹了幾種保護 Access 資料庫的方法。

  加密或解密資料庫

  最簡單(也是安全性最低)的保護方法是對資料庫進行加密。加密資料庫就是將資料庫檔案壓縮,從而使某些實用程式(如字處理器)不能解讀這些檔案。加密一個不具有安全設定的資料庫並不能保證資料庫的安全,因為任何人都可以開啟資料庫並完全訪問資料庫中的所有物件。有關對資料庫進行安全設定的詳細內容,請參閱本文後面的使用 Security Wizard 設定 Access 資料庫的安全性。

  加密可以避免在以電子方式傳輸資料庫或者將其儲存在軟盤、磁帶或光碟上時,其他使用者偶然訪問資料庫中的資訊。然而 Jet(Access 使用的資料庫引擎)使用的加密方法非常薄弱,因此絕不能用於保護敏感資料。“加密/解密資料庫”命令位於“工具”選單的“安全”子選單中。解密資料庫是對加密過程的逆運算。

  使用自定義介面

  另一種相對簡單的保護方案是使用自定義介面代替 Access 標準介面。與加密一樣,它也不能保護資料庫中的物件和敏感資料的安全。透過選擇“工具”選單中的“啟動”選項,您可以指定自定義的啟動窗體、選單,甚至自定義的標題和圖示。還可以選擇取消 Database 視窗,從而對缺乏相應技術的應用程式使用者隱藏這些物件。“啟動”對話方塊的各項功能也可以透過程式設計實現。有關如何從“啟動”對話方塊設定啟動選項的詳細資訊,請參閱 Access 幫助中的“關於啟動選項”。有關如何透過程式設計設定啟動選項的詳細資訊,請參閱 Access 幫助 Microsoft Visual Basic® 編輯器的“設定‘啟動’選項和編碼中的選項”。

  設定資料庫密碼

  您可以在資料庫上設定密碼,從而要求使用者在訪問資料和資料庫物件時輸入密碼。

  注意:使用密碼保護資料庫或其中的物件的安全性也稱為共享級安全性。

  您不能使用此選項為使用者或組分配許可權,因此任何掌握密碼的人都可以無限制地訪問所有 Access 資料和資料庫物件。“設定資料庫密碼”命令位於“工具”選單的“安全”子選單中。

  使用者級安全性

  除共享級安全性外,您還可以使用使用者級安全性,它提供了最嚴格的訪問限制,使您能夠最大限度地控制資料庫及其中包含的物件。這是我們所推薦的資料庫保護措施的一部分(當和作業系統提供的檔案級和共享級安全性結合使用時),因此我們將在本文後面對使用者級安全性做詳細介紹。

  同樣,我們也將討論用於保護資料庫中包含的 Visual Basic for Applications (VBA) 程式碼的各種方法。

  警告:使用者級安全性(在單獨使用時)主要用於保護資料庫中的程式碼和物件,以免使用者不小心進行了修改或更改。如果不希望使用者非法訪問窗體、報表或模組中的程式碼,則必須將 .mdb 檔案轉換為 MDE 檔案(本文後面將詳細介紹)。要避免使用者修改資料庫中的查詢、宏或資料訪問頁,唯一的方法就是將資料庫檔案放在一個受保護的檔案共享區域中。此外,在 Access 中不可能既允許使用者修改表中的資料,同時又禁止其修改表的設計或刪除表。要提供這樣一種功能,需要使用一個基於伺服器的資料庫產品,例如 Microsoft SQL Server™。

  設定模組密碼

  使用密碼可以保護所有標準模組和類模組(例如窗體和報表中包含的程式碼)以免使用者不小心修改或檢視 VBA 程式碼。設定密碼後,您只需在每次會話時輸入一次密碼,以便在 Visual Basic 編輯器中檢視或修改程式碼。除檢視和編輯外,在剪下、複製、貼上、匯出或刪除任何模組時也都需要密碼。但應該清楚的是,使用這種方法保護程式碼不能防止您或其他使用者執行程式碼,也不能防止其他使用者使用第三方實用程式(如 16 進位制編輯器)來檢視程式碼。要完全保護程式碼,必須將 .mdb 檔案轉換為 MDE 檔案。

  要為專案中的模組設定密碼:

  為該專案從 Visual Basic 編輯器的“工具”選單中選擇“屬性”命令。

  在“專案屬性”對話方塊中,單擊“保護”選項卡。

  選中“檢視時鎖定工程”核取方塊並鍵入密碼。

  在“確認密碼”框中,重新鍵入密碼,然後單擊“確定”。

  使用 MDE 檔案

  透過將資料庫檔案轉換為 MDE 檔案,可以完全保護 Access 中的程式碼免受非法訪問。將 .mdb 檔案轉換為 MDE 檔案時,Access 將編譯所有模組,刪除所有可編輯的原始碼,然後壓縮目標資料庫。原始的 .mdb 檔案不會受到影響。新資料庫中的 VBA 程式碼仍然能執行,但不能檢視或編輯。資料庫將繼續正常工作,您仍然可以升級資料和執行報表。尤其是,將 Access 資料庫儲存為 MDE 檔案可以防止以下操作:

  在設計檢視中檢視、修改或建立窗體、報表或模組。

  新增、刪除或更改對物件庫或資料庫的引用。

  使用 Access 或 VBA 物件模型的屬性或方法更改程式碼 - MDE 檔案不包含可編輯程式碼。

  匯入或匯出窗體、報表或模組。而表、查詢、資料訪問頁和宏可以匯入非 MDE 資料庫,或從中匯出。

  要將 .mdb 檔案轉換為 MDE 檔案:

  關閉資料庫。

  單擊“工具”選單中的“資料庫實用工具”。

  單擊“生成 MDE 檔案”。

  在“儲存資料庫為 MDE”對話方塊中,找到 .mdb 檔案,然後單擊“生成 MDE”。

  注意:在 Access 2002 中建立的資料庫使用預設的 Access 2000 檔案格式。Access 2000 檔案格式的資料庫只能在 Access 2000 中轉換為 MDE 格式。要在 Access 2002 中將以預設的 Access 2000 格式建立的 .mdb 檔案轉換為 MDE 檔案,必須先將檔案轉換為 Access 2002 檔案格式。為此,可以首先以獨佔方式開啟資料庫(要以獨佔方式開啟資料庫,請參閱本文後面的手動設定資料庫密碼一節)。接下來,指向“工具”選單中的“資料庫實用工具”,指向“轉換資料庫”,然後單擊“轉為 Access 2002 檔案格式”。資料庫即可轉換為 MDE 檔案。

  有關將 .mdb 檔案轉換為 MDE 檔案的更多要求,請參閱 Access 幫助中的“保護 Access 資料庫中的 Visual Basic for Applications 程式碼”。

  下面我們來看看使用者級安全性

  關於 Access 使用者級安全性

  Access 使用 Microsoft Jet 資料庫引擎來儲存和檢索資料庫中的物件。Jet 資料庫引擎使用基於工作組的安全模型(也稱為使用者級安全性)來判斷誰可以開啟資料庫,並保護資料庫所包含物件的安全。無論是否明確設定了資料庫的安全性,使用者級安全性對所有 Access 資料庫始終處於開啟狀態。您可以透過操縱使用者和組帳戶的許可權和成員身份來更改 Access 中的預設安全級別。下面將對此進行介紹。

  無論何時啟動 Access,Jet 資料庫引擎都要查詢工作組資訊檔案(預設名稱為 system.mdw,也可以使用副檔名 .mdw 任意命名)。工作組資訊檔案包含組和使用者資訊(包括密碼),這些資訊決定了誰可以開啟資料庫,以及他們對資料庫中的物件的許可權。對單個物件的許可權儲存在資料庫中。這樣,例如,就可以賦予一個組的使用者(而不是其他使用者)使用特定表的許可權,而賦予另一個組檢視報表的許可權,但不能修改報表的設計。

  工作組資訊檔案包括內建組(Admins 和 Users)以及一個通用使用者帳戶 (Admin),該帳戶具有管理資料庫及其包含的物件的許可權(無限制)。您也可以使用選單命令(“工具”選單中的“安全”子選單)或者透過 VBA 程式碼新增新的組和使用者。

  注意:安裝 Access 時,安裝程式會自動建立工作組資訊檔案,並使用您指定的名稱和單位資訊來命名。因為這一資訊通常很容易被判斷出來,因而未經授權的使用者很可能會建立另一個版本的工作組資訊檔案,從而在由該工作組資訊檔案定義的工作組中,為自己設定一個不可撤消的管理員帳戶(Admins 組的成員)許可權。為防止發生這種情況,應建立一個新的工作組資訊檔案,並指定唯一的工作組 ID (WID)。這樣,只有知道 WID 的使用者才能建立該工作組資訊檔案的

  

·上一篇:

·下一篇:
 
     最新更新
·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·

·


| | | | | | |

Copyright © 2004 - 2007 All Rights Reserved

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10763080/viewspace-970191/,如需轉載,請註明出處,否則將追究法律責任。

深入瞭解MicrosoftAccess安全性(轉)
請登入後發表評論 登入
全部評論

相關文章