SQL Server 2005 - Deny Vista de “replicación” “Seguridad”, “objetos de servidor”, y “gestión”?
-
21-09-2019 - |
Pregunta
puedo negar una visión específica de usuario DB haciendo algo como esto:
DENY VIEW ANY DATABASE TO Myuser
Sin embargo, hay una manera de negar también la "seguridad", "Objetos de servidor", "Replicación" y "gestión" de ser vistos por un usuario remoto al iniciar la sesión a través de SSMS?
Gracias.
Solución
Estas categorías SSMS son agregados de varias funciones de servidor. Tomemos por ejemplo la pestaña 'Seguridad', 'Aquí se muestran los inicios de sesión', 'Funciones de servidor' y "Credenciales. Considere el nodo 'Conexiones':
- muestra inicio de sesión existente, que es una vista por encima
sys.server_principal
s y la visibilidad de los objetos en esta vista de catálogo se limita a entidades (inicios de sesión) en el cual el usuario actual tiene propiedad o tiene vista definición permiso terminado. - Permite añadir un nuevo inicio de sesión, lo que significa
CREATE LOGIN
esto a su vez requiere permisosALTER ANY LOGIN
oALTER LOGIN
. - Permite eliminar un inicio de sesión, lo que significa
DROP LOGIN
y esto requiereALTER ANY LOGIN
.
Ahora usted podría, en teoría, negar VISTA DEFINICIÓN sobre los inicios de sesión, negar ALTER cualquier inicio de sesión y niega ALTER LOGIN al usuario (s), pero no será capaz de niegan propiedad de un inicio de sesión, por lo que el usuario seguirá viendo algo allí (su propio nombre de usuario). Así que es una batalla perdida. Se podría aplicar un razonamiento similar a cualquiera de los otros paneles en SSMS desea ocultar y llegará a resultados similares.
Dicho esto, se está acercando a esto desde el ángulo equivocado. Seguridad no se basa en DENY, siempre se basa en GRANT. Sus usuarios no deberían tener ningún derecho innecesarios, y punto. Usted no debería tener que negar nada explicitamente, al descubierto algunas circunstancias extraordinarias.