Avatar of emeschke
emeschke
 asked on

What is the best way to secure an Access database?

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?
Databases* permissionMicrosoft AccessWindows Server 2008

Avatar of undefined
Last Comment
emeschke

8/22/2022 - Mon
Pawan Kumar

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&anchorAnswerId=42388121#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,,
Scott McDaniel (EE MVE )

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.
emeschke

ASKER
We are using SQL as the backend database. Hopefully removing the delete permissions will be enough...
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes
PatHartman

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 Kumar

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.
ASKER CERTIFIED SOLUTION
Gustav Brock

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Scott McDaniel (EE MVE )

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.
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Jim Dettman (EE MVE)

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.
emeschke

ASKER
We will give the local file idea a try.

Thanks,
Ellis
emeschke

ASKER
We installed it on a terminal server and deployed it via Group Policy. This seems to be the most secure way at the moment.
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck