It is not easy. The first thing you need to do is determine how difficult you need to make it for the User to access restricted areas of your application. I use several techniques. The first thing you need to do is use several copies of the frontend file when preparing for distribution of your FE file.
You might want to start by going to options and hiding the Navigation Pane. However, keeping the Users out of Options requires hiding the Ribbon or customizing the Ribbon.
Another approach might be to use code to hide each query object. So you might loop through a table's records where each name of each object you want to hide is stored.
Here is one untested example I found on the internet. Instead, I would probably iterate all of the table objects and query objects using DAO and TableDefs/QueryDefs.
Code:
Application.SetHiddenAttribute acTable, "MyTable", True