Negue ou permita a visualização de nomes de banco de dados no Amazon RDS para SQL Server
O usuário principal não pode definir DENY VIEW ANY DATABASE TO
para ocultar bancos de dados de um usuário.
Para alterar essa permissão, use o seguinte procedimento armazenado:LOGIN
-
Negar acesso de visualização do banco de dados ao
LOGIN
:EXEC msdb.dbo.rds_manage_view_db_permission @permission=‘DENY’, @server_principal=
‘LOGIN’
go -
Permitir acesso de visualização do banco de dados ao
LOGIN
:EXEC msdb.dbo.rds_manage_view_db_permission @permission='GRANT', @server_principal=
'LOGIN'
go
Pense no seguinte ao usar esse procedimento armazenado:
-
Os nomes dos bancos de dados estão ocultos do SSMS e do DMV interno (visualizações de gerenciamento dinâmico). No entanto, os nomes dos bancos de dados ainda são visíveis nas tabelas de auditoria, de logs e de metadados. Essas são permissões protegidas
VIEW ANY DATABASE
do servidor. Para ter mais informações, consulte Permissões do servidor DENY. -
Depois que a permissão for revertida para
GRANT
(permitido), oLOGIN
poderá visualizar todos os bancos de dados. -
Se você excluir e recriar
LOGIN
, a permissão de visualização relacionada ao LOGIN será redefinida comoALLOW
. -
Para instâncias multi-AZ, defina a permissão
DENY
ouGRANT
somente para oLOGIN
no host primário. As alterações são propagadas automaticamente para o host secundário. -
Essa permissão só altera se um login pode visualizar os nomes do banco de dados. No entanto, o acesso aos bancos de dados e objetos internos é gerenciado separadamente.