Consideraciones acerca de la seguridad

Cuando se define un procedimiento almacenado, se puede especificar si el procedimiento se ejecuta utilizando el ID del propietario que creó el procedimiento almacenado o el ID del usuario que ejecuta el procedimiento. La cuenta de usuario añade una capa adicional de seguridad (o acceso expandido) para los datos procesados por el procedimiento almacenado.

Por ejemplo, si el usuario administrador crea un procedimiento almacenado y especifica el permiso “ejecutar como propietario”, que es el valor predeterminado, cualquier usuario que tenga permiso para ejecutar el procedimiento lo hará como usuario administrador. Con los privilegios de usuario administrador, el procedimiento puede acceder a datos de tablas o vistas para los que es posible que el usuario de base de datos que ha iniciado la sesión no tenga permiso de acceso. Si el usuario bsmith crea un procedimiento almacenado, los usuarios que pueden ejecutar el procedimiento lo harán como si fueran el usuario bsmith.

Si un procedimiento sólo debe acceder a los datos que se le permiten ver al usuario que realiza la ejecución, defina el procedimiento almacenado como “ejecutar como persona que realiza la llamada”. En este caso, el procedimiento utiliza el ID del usuario de base de datos que ejecuta el procedimiento. El procedimiento sólo puede acceder a los datos que se le permiten ver al usuario que efectúa la llamada.