Posted: Sat Jul 12, 2008 5:18 pm Post subject: Microsoft Access Table Security
I’m trying to secure a Microsoft Access 2000 database. We plan to convert these tables to MsSQL which we are much more capable of using and securing but for now, I need to protect about 4 tables in Access. There are no queries, forms, reports, etc. that need protection. We ONLY want to protect these tables.
The bottom line is that I NEVER need to have anyone access the database using Microsoft Access at all. The way our process works, we use a Master database and copy it for as many instances of the process we want to run. Each process “fills” its own copy of the database tables up with the data we wish and then the databases get shuffled off to the next processing step. Then the Master copy procedure starts all over again.
The database is not a compiled Access application but is simply a data repository for a windows program which uses ODBC to get to it. My problem is that there doesn’t seem to be a way to protect the tables it if it isn’t a self-contained app. By this I mean that the application is not part of the MDB file. If it were, then we could split the database, compile it to an MDE and what not but since we don't do this we have issues....
If I password protect the MDB file, there are no end of hacker tools available. If I use workgroup security, again, there are tools available to hack this. In addition, the external application cannot access the tables either directly to the MDB or via the security shortcut of the same name using workgroup security. The ODBC driver is looking for a database and ODBC doesn’t seem to be able to pass credentials directly to a database secured this way???? Am I wrong about this last statement?
If I try splitting the database, then may external application can access the foreground password-protected MDB file and the linked BackEnd database....but the process of splitting the database removes the password from the back end (which contains the tables I want to protect). If I then password protect the back end, then the foreground MDB file can’t access the back end because the links by default, won’t have the new password for the back end. If I could add the password to the backend database into the links, the password is not encrypted anyway and from what I’ve read, if security is an issue we shouldn’t use this method for object protection…workgroup security is recommended instead…which has the above problems
If I want to set/protect the startup options and run an AutoExec to hide tables, disable the bypass keys, etc. I can write a Macro to call a function to do this but if one opens the database up using Microsoft Access itself, macros are disabled by default and the user can simply opt to not run them. If one states that to fix this problem all you have to do is compile the app into an MDE, this requires splitting up the database which has the problems stated above.
Bottom line: is there ANY way to secure a few tables in MsAccess (2000
version) so that no one can get to the tables but I can access them via ODBC?
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
Looking for more Windows Networking info?
Sign up to the WindowsNetworking.com Monthly Newsletter, written by Enterprise Security MVP Deb Shinder, containing news, the hottest tips, Networking links of the month and much more. Subscribe today and don't miss a thing! View a sample newsletter.
Become a WindowsNetworking.com member!
Discuss your Windows Networking issues with thousands of other Windows Newtorking experts. Click here to join!