Help setting appropriate permissions


we have 3 applications each on different website need interact set of 3 databases varied permission , need make sure set permissions correctly.  we’ve identified 3 levels of permission/accessibility , have separated websites 3 separate integrated app pools.  each integrated app pool has own automatically-created windows account , allows use windows authentication access sql server greater security , convenience.  windows accounts follows:

usersite – read access 2 live databases , write log.

testsite – version of live data applications, on test website staging upgrades; needs have read/write permission.

maintenancesite – used internally perform backup/restoration various test sites.  needs able backup sites , restore test sites.  we’re assuming when restore live data test system keeps permissions source , not destination permissions.  is correct?  if so, best way automate changing permissions after restore?

permissions want live databases:  (are these correct fixed database roles accomplish our goals?)

-          usersite: datareader, datawriter, db_owner

-          testsite: none

-          maintenancesite: bkupoperator, datareader

permissions want test databases:

-          usersite: none

-          testsite: datareader, datawriter, db_owner

-          maintenancesite: datareader, datawriter, db_owner

are there server roles need app pools?  i’ve given sysadmin server role maintenancesite can perform restores.  my goal assign enough permission accomplish our goals yet still protect data.  suggestions?

using sql server 2012 , iis 7.5

yes, when restore database, database permissions retained. server-level permissions of course not retained, did not seem had of them in list, save sysadmin maintenancesite.

i can't appropriate permissions you, since don't know application, business requirements etc. don't seeing db_owner on list, , think should make review of whether needed. run applications restricted permissions. if there vulnerability due sql injection or else, intruder limited in can do.

maintenancesite should not need sysadmin restores. long database exists, db_owner sufficient. if database not exist, app pool needs have create database permission or member of dbcreator server role.


erland sommarskog, sql server mvp, esquel@sommarskog.se


SQL Server  >  SQL Server Security



Comments

Popular posts from this blog

Conditional formatting a graph vertical axis in SSRS 2012 charts

Register with Power BI failed

SQL server replication error Cannot find the dbo or user defined function........