As if you needed more reasons to start using SQL Server 2005, we've got another big one! You may have seen links we posted on implementing row level security in SQL Server 2005 in previous posts. Now we are making available a toolkit for easily applying this design in your database.
The toolkit comes from our Federal MCS practice. The centerpiece is a tool which allows you to logically define the security labeling scheme you wish to be used in your app's database. Based on this, at the click of a button the tool generates an implementation of the supporting framework described in the whitepaper. All you need to do is create a simple view over the table(s) you wish to protect. Support for insert/update/delete is added by writing simple instead-of triggers to capture these operations. The toolkit documentation includes extensive design guidance and examples of implementing different scenarios. Several working code samples are included as well.
Naturally, everything is based on the .Net Framework 2.0. However, as can be seen in one of the examples (which uses Visual Basic 6.0), .Net is not required for apps which use a SQL Server 2005 database with row/cell level security. As long as the client app can connect to SQL through a supported database access stack, it can make use of tables protected with row/cell level security. This includes shrinkwrapped apps like Excel which can treat SQL 2005 as a data source.
The toolkit is a free download, and is not supported by Microsoft. Download it here and let us know what you think!
- Art Rask, MCS Public Sector
11/9: Updating location of file to http://www.federaldeveloper.com/Shared%20Documents/SQL%20Label%20Security%20Toolkit/Label%20Security%20Toolkit%20Install.zip
11/22: If you have trouble hitting the download server, the file is attached to the blog entry here: http://blogs.msdn.com/federaldev/archive/2006/11/16/sql-server-2005-label-security-toolkit.aspx