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

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


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

◆詳細

 セキュリティ ウィザードを使うと、自動的にデータベースを暗号化できます。データベースを開かずにAccessを起動し、[ツール]メニューの[セキュリティ]サブメニューの[暗号化/解読]コマンドを使って、データベースの暗号化や解読を行うことができます。また。CompactDatabaseメソッドを使うと、最適化を行っている間に暗号化の状態、バージョン、データベースのディスクまたはフォルダを変更できます。つまり、暗号化されたデータベースを暗号化されていない状態に戻したり、暗号化されていないデータベースを暗号化したりできます。

 たとえば、次のコードを使ってOld.mdbという名前のデータベースを最適化し、New.mdbという名前の暗号化された新しいデータベースを作成できます。

◆Sample code

Sub EnCryptDB()
    DBEngine.CompactDatabase "C:\Old.mdb", "C:\New.mdb", _
        dbLangGeneral, dbEncrypt
End Sub

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

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


▼ページトップに戻る