it-swarm.com.de

Gibt es Risiken beim Erteilen der SQL Server SHOWPLAN-Berechtigung für Benutzer?

Ich mache eine Leistungsoptimierung für eine große SQL Server 2008-Datenbank, und die IT-Gruppe ist nicht bereit, SHOWPLAN-Berechtigungen zu erteilen. In der Vergangenheit war "Show Execution Plan" der effektivste Weg, um die Leistung einzelner Abfragen und Verfahren zu verstehen.

Welche Risiken sind mit der Erteilung dieser Genehmigung verbunden? Gibt es eine legitime Rechtfertigung für diese Einschränkung einer Entwicklungskopie der Datenbank?

Hinweis: Diese SQL IT-Gruppe verfügt über mehr als 200 Datenbanken unter einer einzelnen SQL Server-Instanz. Vielen Dank.

Antwort: Ich nehme die fehlende Antwort als Hinweis darauf, dass es keine wesentlichen Sicherheitsrisiken gibt, außer dem unten angegebenen. Grundsätzlich ist es kontraproduktiv, dies auf eine Entwicklungsdatenbank zu beschränken.

Ich werde dies aktualisieren, wenn jemand eine bessere Antwort findet. Danke für deine Kommentare!

23
RaoulRubin

Schauen Sie sich Showplan Security in Books Online an, in dem steht:

Benutzer mit SHOWPLAN, ALTER TRACE, oder VIEW SERVER STATE Berechtigung kann Abfragen anzeigen, die in der Showplan-Ausgabe erfasst werden. Diese Abfragen können vertrauliche Informationen wie Kennwörter enthalten. Wir empfehlen daher, diese Berechtigungen nur Benutzern zu erteilen, die zum Anzeigen vertraulicher Informationen berechtigt sind, z. B. Mitgliedern der festen Datenbankrolle db_owner oder Mitgliedern der festen Serverrolle sysadmin . Wir empfehlen außerdem, Showplan-Dateien oder Tracedateien, die Showplan-bezogene Ereignisse enthalten, nur an einem Speicherort zu speichern, der das NTFS-Dateisystem verwendet, und den Zugriff auf Benutzer zu beschränken, die zum Anzeigen vertraulicher Informationen berechtigt sind.

Betrachten Sie beispielsweise die folgende Abfrage:

SELECT COUNT(*)  FROM table_1  WHERE column_1 < 10 

Wenn ein böswilliger Benutzer eine Showplan-Ausgabe für eine Reihe von Abfragen wie in diesem Beispiel erstellt und den Wert "10" im Prädikat jedes Mal durch andere Konstanten ersetzt, kann der Benutzer eine ungefähre Datenverteilung der Spaltenwerte für Spalte_1 in Tabelle_1 durch Lesen der geschätzten Zeilenanzahl.

Dieses Risiko scheint vernachlässigbar, insbesondere da es sich um einen Entwicklungsserver handelt, bei dem alle Abfragen von Entwickler und IT-Mitarbeiter sind, nicht Benutzer.

19
user5094