Principales respuestas
SQL Server 2012 no conectar al management studio

Pregunta
-
Respuestas
-
Porque en ocasiones es necesario entrar desde un manejador y si bloqueas SSMS no le impiden usar algo como Toad, DB Artisan, etc. El control y la seguridad y que puede o no hacer un usuario debería estar en sus mismos permisos de usuario no deberías de intentar meter este tipo de candados.
Es mucho esfuerzo mantener esto (en especial si alguien mas llega) y puede ser burlado hasta por un sql command. Te lo digo porque una vez hice una auditoría y tenían algo asi implementado.
- Propuesto como respuesta Moderador M miércoles, 2 de agosto de 2017 18:47
- Marcado como respuesta Moderador M viernes, 4 de agosto de 2017 16:57
Todas las respuestas
-
Hola.
Creo, salvo que otro forista opine lo contrario, que eso no es posible. Es decir, mi entendimiento es que si un usuario tiene conexión hacia una BD, dicha conexión se permite desde la aplicación que lo requiere o incluso desde el SSMS.
Lo que se puede hacer es que si se conecta por SSMS a la BD que se le asignó por defecto, no pueda realizar alguna operación T-SQL como SELECT, por ejemplo. Esto se logra mediante el uso de Application Roles.
Alguna vez intenté usar el comando DENY VIEW ANY DATABASE para dicho login en particular, en donde, el login se conectaba mediante SSMS, pero no veía ninguna base de datos. Sin embargo, si abrían una ventana de consulta mediante "New Query" y escribían "USE <Base de Datos>" pues podían usar la base de datos.
Particularmente, con el escenario anterior, aprendí a conceder o negar los permisos particulares sobre una base de datos con roles de aplicación y que dicho usuario o usuarios tuviesen la seguridad necesaria para que sobre dicha base de datos realicen lo requerido e incluso, habilitar temas como AUDIT y trazas en la misma BD para que quede registro de quien hizo qué y cuándo, acceda dicho usuario por la aplicación o por SSMS o SQLCMD, incluso.
Se que no es la respuesta buscada, pero de nuevo, salvo que alguien más tenga otra opinión, no solo no se puede sino que el esfuerzo debe estar orientado hacia proteger lo que el usuario hace en su base de datos.
Saludos,
Guillermo Taylor F.
MVP Data Platform & IT Pro
Mi Blog -
Se puede, no lo recomiendo realmente pero se puede, como las DMV ven la conexión desde que host y qué aplicación se conecta, un trigger que rechace la coneccion si entra el SSMS puede realizar esta acción.
Aqui encontraras un ejemplo similar a esto que pides no lo recomiendo pero depende mucho de las aplicaciones que ustedes tengan y sus politicas.
https://social.msdn.microsoft.com/Forums/vstudio/en-US/b88de69b-3728-4465-92df-77a97302aefa/restricting-users-to-login-to-database-using-ssms-but-let-them-login-using-the-application-only?forum=sqlsecurity
- Propuesto como respuesta Moderador M lunes, 31 de julio de 2017 16:02
-
-
-
Porque en ocasiones es necesario entrar desde un manejador y si bloqueas SSMS no le impiden usar algo como Toad, DB Artisan, etc. El control y la seguridad y que puede o no hacer un usuario debería estar en sus mismos permisos de usuario no deberías de intentar meter este tipo de candados.
Es mucho esfuerzo mantener esto (en especial si alguien mas llega) y puede ser burlado hasta por un sql command. Te lo digo porque una vez hice una auditoría y tenían algo asi implementado.
- Propuesto como respuesta Moderador M miércoles, 2 de agosto de 2017 18:47
- Marcado como respuesta Moderador M viernes, 4 de agosto de 2017 16:57