Opcionalmente, assim que os bancos de dados tiverem sido devidamente provisionados, você poderá definir a permissão DENY VIEW ANY DATABASE
para o logon SQL. Isso evitará que o logon veja bancos de dados para os quais ele não tenha recebido acesso específico. É importante notar que, mesmo que a permissão VIEW ANY DATABASE
não tenha sido anulada, um logon não pode acessar um banco de dados sem ser mapeado para um usuário no banco de dados, a menos que esse logon tenha direitos de administrador na instância. Consequentemente, remover a permissão VIEW ANY DATABASE
apenas oculta bancos de dados para os quais o logon não tinha permissão de qualquer maneira.
O logon ainda terá acesso aos bancos de dados mestre
e tempdb
em qualquer função de banco de dados visível ao público. O acesso a tempdb
não deve ser removida, pois é necessário para muitos dos nossos procedimentos SQL. Muitos administradores de banco de dados atentos à segurança costumam remover o acesso de certas exibições, funções e procedimentos armazenados para a função de banco de dados público a partir do banco de dados mestre
. No entanto, convém que o acesso ao procedimento armazenado estendido xp_instance_regread
permaneça acessível, pois ele habilita recursos úteis nos processos de upgrade e backup de banco de dados. Remover o acesso simplesmente desabilita esses recursos e não causará uma falha do aplicativo.