En el post anterior, comentamos las «bondades» del nuevo objeto credencial en SQL Server 2005. Uno de los escenarios en los que probablemente más se utilicen es junto con las cuentas de Proxy de SQL Server Agent. Para evitar conceder excesivos privilegios a los usuarios propietarios de nuestros trabajos, SQL Server 2005 nos da la posibilidad de definir diferentes cuentas de Proxy, bajo la que se ejecutarán los pasos de nuestros trabajos.

De este modo podemos implementar fácilmente el principio de menor privilegio, otorgando a estas cuentas solo los permisos necesarios. Estas cuentas de proxy deben de estar enlazadas siempre con una Credencial:

Usuario SO–>Credencial–>Cuenta Proxy

De este modo, podemos tener un trabajo cuyo propietario es un inicio de sesión de SQL Server, que tenga un paso de CmdExec, que por ejemplo, crea un fichero. Eso es posible en SQL Server 2005, siguiendo el esquema anteriormente indicado, proporcionando los permisos necesarios al usuario de SO.

La principal fuente de problemas en este escenario, es que normalmente nos olvidamos de darle al propietario del trabajo los privilegios necesarios para poder utilizar la Cuenta de Proxy. Para ello debemos de utilizar el procedimiento almacenado sp_grant_login_to_proxy

Antonio Soto