El usuario maestro no puede configurar DENY VIEW ANY DATABASE TO
para que oculte las bases de datos a un usuario.
Para cambiar este permiso, utilice en su lugar el siguiente procedimiento almacenado:LOGIN
-
Cómo denegar el acceso a
LOGIN
para ver la base de datos:EXEC msdb.dbo.rds_manage_view_db_permission @permission=‘DENY’, @server_principal=
‘LOGIN’
go -
Cómo permitir el acceso a
LOGIN
para ver la base de datos:EXEC msdb.dbo.rds_manage_view_db_permission @permission='GRANT', @server_principal=
'LOGIN'
go
Tenga en cuenta lo siguiente al usar este procedimiento almacenado:
-
Los nombres de las bases de datos están ocultos en el SSMS y en el DMV interno (vistas de administración dinámica). Sin embargo, los nombres de las bases de datos siguen siendo visibles en las tablas de auditoría, registros y metadatos. Se trata de permisos de servidor
VIEW ANY DATABASE
protegidos. Para obtener más información, consulte DENY Server Permissions. -
Una vez que el permiso se haya revertido a
GRANT
(permitido),LOGIN
podrá ver todas las bases de datos. -
Si elimina y vuelve a crear
LOGIN
, el permiso de visualización relacionado con LOGIN se restablecerá aALLOW
. -
Para las instancias multi-AZ, configure el permiso
DENY
oGRANT
solo paraLOGIN
en el host principal. Los cambios se propagan automáticamente al host secundario. -
Este permiso solo cambia si un login puede ver los nombres de las bases de datos. Sin embargo, el acceso a las bases de datos y a los objetos que contiene se administra por separado.