Negue ou permita a visualização de nomes de banco de dados no Amazon RDS para SQL Server - Amazon Relational Database Service

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 LOGIN para ocultar bancos de dados de um usuário. 
 Para alterar essa permissão, use o seguinte procedimento armazenado:

  • 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), o LOGIN poderá visualizar todos os bancos de dados.

  • Se você excluir e recriar LOGIN, a permissão de visualização relacionada ao LOGIN será redefinida como ALLOW.

  • Para instâncias multi-AZ, defina a permissão DENY ou GRANT somente para o LOGIN 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.