• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 243
  • Last Modified:

Database User Role Management

Hi Experts,
I need an answer to the design of an application with Microsoft SQL Server 2008 R2 and Active Directory as the security model.

We have roles in the application for groups of users:
e.g. Manager...etc...etc.
The Manager role is an Active Directory Security Group and added under "Security/Users" in SQL Server.
We assign each role various permissions on stored procedures so they can peform their job function.

Recently we expanded our application to multiple databases. We also ran into the isuse where some users are allowed access as a Manager to one database and not another. Some Managers require access to all databases.

How can I plan the user management so that all users are restricted to one database and a role?
Can I use the existing Active Directory and use a clever design or do I need to change the code?

What I have been told by my developers is this which I don't like!
I would have to created many security groups and assign users individually based on database and role.
and then map these roles to each of the databases. It would also mean having to add users multiple times. Considering we could be expanding to 30+ databases this seem very messy to me and not the best design.

I would appreciated you knowledge and experieince on this problem.
Thanks in advance.
1 Solution
MySQL is not SQL Server.  Please click on Request Attention and have the zones changed.  Thanks.
Steve BinkCommented:
Your developers sounds like they are on the mark.  You can create a single role that provides access to all the databases, but you will need a new role once you have a user that requires access to only a single, or several, databases.  The alternative is to apply the settings directly to the users or AD group, but that is really just abstracting the same work into AD instead of SQL Server.  

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now