Tips for finding Knowledge Articles

  • - Enter just a few key words related to your question or problem
  • - Add Key words to refine your search as necessary
  • - Do not use punctuation
  • - Search is not case sensitive
  • - Avoid non-descriptive filler words like "how", "the", "what", etc.
  • - If you do not find what you are looking for the first time,reduce the number of key words you enter and try searching again.
  • - Minimum supported Internet Explorer version is IE9
Home  >
article

KB-4517: Does DirectAudit support "contained database" feature of Microsoft SQL server 2012/2014

Centrify DirectAudit ,  

12 April,16 at 11:22 AM

Applies to:
 
DirectAudit 2014
 
Question:
 
Can Centrify DA use a contained SQL database user or does it require a SQL login?
 
A contained database is a database that is isolated from other databases and from the instance of SQL Server that
hosts the database.

SQL Server 2012 helps user to isolate their database from the instance in 4 ways.
 
1) Much of the metadata that describes a database is maintained in the database. (In addition to, or instead of, maintaining
metadata in the master database.)
 
2) All metadata are defined using the same collation.
 
3) User authentication can be performed by the database, reducing the databases dependency on the logins of the
instance of SQL Server.
 
4) The SQL Server environment (DMV's, XEvents, etc.) reports and can act upon containment information.

More information on contained database can be found on the Internet. The below links were provided as a courtesy.

http://msdn.microsoft.com/en-us/library/ff929071(v=sql.110).aspx
http://blogs.technet.com/b/uktechnet/archive/2012/11/06/guest-post-how-to-use-contained-databases-in-sql-server-2012.aspx
http://blogs.msdn.com/b/sql_pfe_blog/archive/2013/02/26/sql-server-2012-database-containment-part-1-contained-logins.aspx
 
Answer:
 
Containment requires that the user entity stays within the database boundary which is not the case in DA. Centrify uses an outgoing account
(SQL or Windows authentication) so that Management database can talk to Audit Store database(s). 
DA has a distributed architecture where not only different components talk to the database (e.g. collector, consoles, audit management service etc.)
but the database themselves talk to each other (e.g. management database talks to audit store databases to collect data). Because DA does not
understand contained databases, every time a user is added to the DA system, the DA console will simply create a server-level login for the user.

Although creating a server-level login is still supported by contained databases, it defeats the whole purpose of making the database
contained (in contained databases, users are local to the database).
 
Centrify's recommendation regarding contained databases is to first setup DA using regular databases, configure
everything (including collectors, auditors, administrators etc.) and then migrate the databases to use containment. Microsoft has provided a very
simple document on how to migrate a normal database to a partially contained database. The article can be found at,
 
http://msdn.microsoft.com/en-us/library/ff929139(v=sql.110).aspx
 
Note: There will still be some limitation after the migration. e.g.
 
#1 - The outgoing account (which is used for communication between management database and audit store databases) must be re-configured
after the migration to use SQL login.
 
#2 - Every time you add a new user or collector to the system, we'll create a server-level login for that user or collector machine account. This login
must be deleted from the SQL to comply with best practices of containment.

Still have questions? Click here to log a technical support case, or collaborate with your peers in Centrify's Online Community.