What is the best way to secure an Access database?

emeschke
emeschke used Ask the Experts™
on
I want to set the permissions on the folder/file so that people can open and use the Access file using Access runtime yet not be able to rename the file.
How should I set the permissions on the folder and file to secure it?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Pawan KumarDatabase Expert
Awarded 2016
Top Expert 2016

Commented:
Please refer this -

https://www.experts-exchange.com/questions/29071308/If-I-encrypt-a-value-will-anyone-With-Access-be-able-to-decrypt-it.html?notificationFollowed=200998910#a42388121

MS ACCESS will only encrypt your data but wont provide security. You need to use a database engine like SQL Server. No security on files etc,,
Most Valuable Expert 2012
Top Expert 2014

Commented:
I'm not sure what a discussion about encrypting data in a database has to do with this question ...

You cannot restrict users from accessing the folder hosting your Jobboss database. In order to be able to use an Access database, users must have Read/Write/Create/Destroy permissions on the Folder. You can remove the Delete permissions from the FILE (i.e. the Access file), but that's about it.

As others have said, if you want true data security you'll have to move to a more robust database engine.

Author

Commented:
We are using SQL as the backend database. Hopefully removing the delete permissions will be enough...
Ensure you’re charging the right price for your IT

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Distinguished Expert 2017

Commented:
This isn't my area of expertise but I believe that you can hide a directory so that users cannot see it using file manager.  they need transit or something like that permission to get through the invisible path.  You need to talk to someone expert in Windows permissions.  I added another topic that might attract the expert you need.
Pawan KumarDatabase Expert
Awarded 2016
Top Expert 2016

Commented:
We are using SQL as the backend database. Hopefully removing the delete permissions will be enough...
>> Yes you can set the deny permission for delete and it will work.

For files we can set the encryptions so that no one can read and delete and access it. Eg. TDE.
Most Valuable Expert 2015
Distinguished Expert 2018
Commented:
You should leave the frontend on a shared network folder where users have been granted read-only rights.
Then copy the frontend file to the user's local drive and launch it from there.

This can be controlled from a shortcut at the user's Desktop and a script as described here (Citrix not needed):

Deploy and update a Microsoft Access application in a Citrix environment

This will also take care of distribution of updates to the frontend.

/gustav
Most Valuable Expert 2012
Top Expert 2014

Commented:
If you're using SQL, then unless you're running some sort of wacky security setup a Standard User would not be able to delete the actual database file.

If you're referring to the Frontend file (i.e. the one with the Forms, Reports, etc), then Gustav has the best solution for that - just move a copy of the FE to each user's desktop when they launch the program. They could rename it to their heart's content and it wouldn't make a difference.
Jim Dettman (EE MVE)President / Owner
Most Valuable Expert 2017
Most Valuable Expert 2012

Commented:
What is it exactly that you are trying to prevent?

  People looking at the code?   You mention renaming; what does it mean to you if they could rename the file?

 Since your data is in SQL server, that is protected by SQL security.   That leaves the "Front end", which as gustav pointed out, everyone should be getting their own copy anyway and the "master copy" should be in a directory where everyone only has read rights.

 But once they have a copy of it, they would be able to do anything they want with it.  i.e. take a copy home and use a full version of Access on it.

 If your trying to protect the code,  then you'll need to distribute the front end as a .accde to prevent that.

Jim.

Author

Commented:
We will give the local file idea a try.

Thanks,
Ellis

Author

Commented:
We installed it on a terminal server and deployed it via Group Policy. This seems to be the most secure way at the moment.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial