Forgive me for the heavy metaphor but it's a situation's complexity kind of goes over my head.

Assume I'm Leonard Shelby (My short term memory only lasts 5 minutes). I'm a freelancer that reads databases for a living. In my job, I need to access extremely sensitive database but I only need to read relatively nonsensitive data (ie, the database has credit card numbers and passwords but I only need to view user names and favorite colors). Keeping in mind that this database is MSSQL and remotely accessible from any computer.

Now because I can't remember the logins to these databases, or the combination to my lock box, I need to have them tattooed on my forearm. I usually remember to where a long sleeve shirt when I go out, but sometimes I end up wearing a t-shirt with all DBA logins in plain sight on my arm. Anyone could just jot down the information and go home, open up SQL Server Management Studio and drop all of their tables or steal all of their credit card information.

Ideally, no one should ever be able to get their hands on the login information, but the reality is, they might.

  • Is it acceptable to create a new user for each of my clients databases and restrict access to only non-sensitive fields and disallow anything but read access on these accounts?

  • When somebody inevitably uses this restricted user account to get into the database, will they be hampered enough to justify the overhead of creating this user account, or will this just be a minor (or non-existant) obstacle on their road to stealing all of the data?

1 Answer 1


This is a very good idea.

This uses the least privilege principle, where we give any user the least amount of access thus mitigating our risks.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .