Question

Je suis en train de faire quelques réglages de performance sur une grande base de données SQL Server 2008, et le groupe IT ne souhaite pas donner la permission SHOWPLAN. Dans le passé, « Afficher le plan d'exécution » a été le moyen le plus efficace pour comprendre les performances des requêtes individuelles et des procédures.

Quels sont les risques inhérents à l'octroi de cette autorisation? Y at-il une justification légitime de cette restriction sur une copie de développement de la base de données?

Remarque: Ce groupe SQL IT a des bases de données sous 200+ une seule instance SQL Server. Merci.

Réponse : Je prends l'absence de réponse signifie qu'il n'y a pas de risques de sécurité importants, autres que celui indiqué ci-dessous. En gros, ce qui limite cela sur une base de données de développement est contre-productif.

Je mettrai à jour ce si quelqu'un arrive avec une meilleure réponse. Merci pour vos commentaires!

Était-ce utile?

La solution

Jetez un oeil à Showplan sécurité dans la documentation en ligne, qui dit:

Les utilisateurs qui ont SHOWPLAN, ALTER TRACE, ou l'autorisation de VIEW SERVER STATE peut afficher des requêtes qui sont capturées dans showplan. ces requêtes peut contenir des informations sensibles telles que les mots de passe. Par conséquent, nous vous recommandez que ces autorisations n'accordez aux utilisateurs qui sont autorisés à afficher des informations sensibles, telles que les membres de la db_owner rôle de base de données fixe, ou des membres de la sysadmin serveur fixe rôle. Nous vous recommandons également de sauvegarder uniquement les fichiers Showplan ou trace les fichiers qui contiennent des événements liés Showplan-à un endroit qui utilise la système de fichiers NTFS, et que vous limitez l'accès aux utilisateurs qui sont autorisé pour afficher des informations sensibles.

Par exemple, considérez la requête suivante:

SELECT COUNT(*)  FROM table_1  WHERE column_1 < 10 

Si un utilisateur malveillant produit showplan pour un ensemble de requêtes comme cet exemple, et remplace la valeur « 10 » dans le prédicat différentes constantes à chaque fois, l'utilisateur peut en déduire une approximation la distribution des données des valeurs des colonnes column_1 table_1 par la lecture des comptes de ligne estimés.

Ce risque ne semble négligeable, d'autant plus que c'est un serveur de développement, où toutes les questions seraient de devs et les gens, pas les utilisateurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top