SQL Server 2005 - Negar a visualização de "Segurança", "Objetos do Servidor", "Replicação" e "Gerenciamento"?
-
21-09-2019 - |
Pergunta
Posso negar uma visualização específica de banco de dados de usuário fazendo algo assim:
DENY VIEW ANY DATABASE TO Myuser
Mas existe uma maneira de negar também a "segurança", "objetos do servidor", "replicação" e "gerenciamento" de serem visualizados por um usuário remoto ao fazer login através do SSMS?
Obrigado.
Solução
Essas categorias SSMS são agregados de vários recursos do lado do servidor. Tomemos, por exemplo, a guia 'Segurança', isso mostra 'logins', 'funções do servidor' e 'credenciais'. Considere o nó 'logins':
- mostra o login existente, isso é uma visão sobre
sys.server_principal
s e a visibilidade dos objetos nesta visualização do catálogo é restrita a entidades (logins) nas quais o usuário atual possui propriedade ou tem ver definição permissão acima. - Permite adicionar um novo login, o que significa
CREATE LOGIN
E isso, por sua vez, requerALTER ANY LOGIN
ouALTER LOGIN
permissões. - Permite excluir um login, o que significa
DROP LOGIN
e isso requerALTER ANY LOGIN
.
Agora você poderia, em teoria negar propriedade de um login, para que o usuário ainda verá algo lá (seu próprio login). Então é uma batalha perdida. Você pode aplicar um raciocínio semelhante a qualquer um dos outros painéis no SSMS que deseja ocultar e alcançará resultados semelhantes.
Dito isto, você está se aproximando disso do ângulo errado. Segurança Nunca depende de negar, sempre depende de Grant. Seus usuários não devem ter direitos desnecessários, ponto final. Você não deve negar explicitamente nada, sem circunstâncias extraordinárias.