SQL Server 2005 - Negar a visualização de "Segurança", "Objetos do Servidor", "Replicação" e "Gerenciamento"?

StackOverflow https://stackoverflow.com/questions/1381234

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.

Foi útil?

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_principals 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, requer ALTER ANY LOGIN ou ALTER LOGIN permissões.
  • Permite excluir um login, o que significa DROP LOGIN e isso requer ALTER 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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top