データベースを暗号化する方法

◆概要
 この資料は、Microsoft Accessでデータベースを暗号化する方法について記載しています。


 第三者が無断でディスク エディタやその他のユーティリティ プログラムを使ってデータベースにアクセスできないようにするため、データベースを"暗号化"することができます。暗号化すると、データベースが解読不能となり、不正な参照や使用ができなくなります。特に、データを電話回線などを使って転送する場合や、フロッピィ ディスク、磁気テープ、CD-ROMなどに保存する場合は、この暗号化が重要になります。セキュリティが設定されていないデータベースを暗号化しても効果はありません。これは、誰でも、AccessやVisual Basicを使ってデータベースを開き、そのデータベースのすべてのオブジェクトに対するアクセス権限を得られることができるからです。


 セキュリティ ウィザードを使うと、自動的にデータベースを暗号化できます。データベースを開かずにAccessを起動し、[ツール]メニューの[セキュリティ]サブメニューの[暗号化/解読]コマンドを使って、データベースの暗号化や解読を行うことができます。また、DBEngineオブジェクトのCompactDatabaseメソッドを使って、データベースの暗号化や解読を行うこともできます。たとえば、次のプロシージャでは、受注管理サンプルデータベースを暗号化し、Eordersという名前で保存します。

Sub EncrypthDb()
    Const conFilePath = _
        "C:\Program Files\Microsoft Office\Office\Samples\"
        
    DBEngine.CompactDatabase conFilePath & "Orders.mdb", conFilePath & _
        "EOrders.mdb", dbLangGeneral, dbEncrypt
    
End Sub

 元のデータベースと同じファイル名を指定してデータベースを暗号化したときに、その暗号化が成功した場合、元のデータベース ファイルは削除されます。エラーが発生した場合は、元のデータベース ファイルは削除されません。


メモ データベースを暗号化すると、処理速度が最大で15%程度低下します。また、暗号化したデータベースはDriveSpaceやPKZIPなどのプログラムを使って圧縮することはできません。暗号化されたデータベースを圧縮しても、そのサイズは変わりません。

▼ページトップに戻る