Une fois les bases de données correctement configurées, vous pouvez, si vous le souhaitez, définir l'autorisation DENY VIEW ANY DATABASE
pour la connexion SQL. Cette opération permet d'empêcher l'accès aux bases de données auxquelles l'autorisation d'accès n'a pas été spécifiquement accordée à l'utilisateur. Il est important de noter que même si l'autorisation VIEW ANY DATABASE
n'a pas été supprimée, une connexion ne peut pas accéder à une base de données si elle n'est associée à aucun utilisateur dans la base (sauf si cette connexion dispose des droits d'administrateur sur l'instance). Par conséquent, supprimer l'autorisation VIEW ANY DATABASE
ne fait que masquer les bases de données pour lesquelles la connexion ne dispose de toute façon d'aucune autorisation.
La connexion pourra toujours accéder aux bases de données master
et tempdb
associées au rôle de base de données sécurisable et visible au public. L'accès à la base de données tempdb
ne doit pas être supprimé car il est nécessaire à la plupart de nos procédures SQL. De nombreux administrateurs de base de données préoccupés par la sécurité suppriment souvent de la base de données master
l'accès à certaines vues, fonctions et procédures stockées pour le rôle de base de données public. Il est cependant conseillé de conserver l'accès à la procédure stockée étendue xp_instance_regread
car elle permet d'utiliser des fonctions utiles lors des opérations de sauvegarde et de mise à niveau des bases de données. Le fait de supprimer l'accès désactive simplement ces fonctions et n'entraîne pas l'échec de l'application.