170 likes | 274 Views
Si Se Puede ! Achieving Separation of Duties with SQL Server. Lara Rubbelke @sqlgal Microsoft. Separation of Duties (SoD). What does it mean? Why do you need to care? How can you achieve your SoD goals?. Additional Resources.
E N D
Si Se Puede! Achieving Separation of Duties with SQL Server Lara Rubbelke @sqlgal Microsoft
Separation of Duties (SoD) • What does it mean? • Why do you need to care? • How can you achieve your SoD goals?
Additional Resources • SQL Server Separation of Duties for the DBA Whitepaper: http://bit.ly/pOPsct • Download Separation of Duties (SOD) Framework sqlserversod.codeplex.com • Module Signing (BOL): http://bit.ly/pwcN13 • Engine Separation of Duties for the Application Developer: http://bit.ly/pwcN13
Separation of Duties # 1 Rule CONTROL SERVER DB_OWNER SysAdmin
Demo Granular Permissions
Execute As CREATE PROCEDURE HRUser.MySalary WITH EXECUTE AS ‘HRAdmin’ AS DECLARE @User NVARCHAR(128); EXECUTE AS CALLER; SELECT @User = USER_NAME(); REVERT; SELECT * FROM HR.PAYROLL WHERE Name = @User; GO
Execute As Verdict Easy to use Not auditable
Module Signing • Need ALTER ANY LOGIN server permission to ALTER LOGIN • Need to GRANT ALTER ANY LOGIN TO Jason? – No! ALTER LOGIN Bob ENABLE Jason (non privileged login)
Module Signing SP_ENABLE_LOGIN • Jason has permission to call SP • SP run under Jason’s context but with elevated privilege • SP protected against tampering ALTER LOGIN Bob ENABLE ALTER ANY LOGIN Jason (non privileged login) Cert_login
When the door to your database is closed to the DBA Separation of Duties Framework sqlserversod.codeplex.com
Separation of Duties Framework Empower the DBA team to be • Productive • Responsive With a process that is • Auditable • Secure • Easy to Implement and Manage • Extensible
Laying Out The Framework • Decide what tasks the DBA should be allowed to execute • Create stored procedures or use the examples included in the framework • Execute the InstallScript.ps1 script • Set up the database • Set up the certificate and login/user • Create the signed modules • Place DBAs/users in the new roles
Demo Setting up the Separation of Duties Framework
Separation of Duties Framework DisclaimerThe Fine Print • There will alwaysbe at least one sysadmin • The Separation of Duties Framework is designed to provide a means to limit the number of sysadmins • The Separation of Duties Framework will complementexisting processes
Additional Resources • SQL Server Separation of Duties for the DBA Whitepaper: http://bit.ly/pOPsct • Download Separation of Duties (SOD) Framework sqlserversod.codeplex.com • Module Signing (BOL): http://bit.ly/pwcN13 • Engine Separation of Duties for the Application Developer: http://bit.ly/pwcN13