Pregunta

Tengo una aplicación cliente-servidor donde un cliente .NET accede a todos los datos y procedimientos almacenados en una base de datos SQL Server 2008.

¿Hay alguna forma de proteger todos estos datos para que solo los usuarios que creo y autorice puedan acceder a esta base de datos específica? Especialmente el usuario 'sa' viene a la mente. No me gusta que acceda a todos mis datos.

¿Fue útil?

Solución

No puede evitar que el administrador del sistema acceda a los datos, ni debería hacerlo.

Sin embargo, nadie, excepto el dba designado, debe tener la contraseña para la cuenta sa. Si sa no tiene una contraseña o si muchas personas tienen la contraseña, cámbiela ahora. Si la aplicación accede a través de sa, cámbielo de inmediato.

Aparte de esa forma, puede limitar el acceso de la mejor manera es eliminar el acceso a todas las otras cuentas de las tablas y vistas (incluido el acceso seleccionado) y solo permitir el acceso de los ejecutivos a través de los procesos almacenados. De esa manera, nadie, excepto el administrador designado, solo puede hacer lo que hacen los procedimientos almacenados y nada más. Sin embargo, no puede hacer esto si ha utilizado algún sql dinámico, ya sea en la aplicación o en los procesos almacenados, lo cual es una de las razones por las que el sql dinámico es una mala idea.

Otros consejos

No puede bloquear sa u otro administrador del sistema, ya que el acceso al sistema completo es parte integral de su función. Puede intentar cifrar los datos para que no tengan sentido fuera de su aplicación, aunque podría complicar cualquier necesidad de informes futuros.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top