5 Stimmen

SQL Server-Sicherheit über TSQL

Ich möchte ein Transact-Sql-Skript erstellen, das bestimmte Personen daran hindert, bestimmte Befehle für alle Datenbanken auszuführen:

drop database, drop table or preferbly drop *

delete

update

Ist dies möglich? Der Benutzer wird bereits Zugang zum Server haben.

Hinweis: Ich versuche nicht, ein Sicherheitsmodell für einen Server zu entwickeln oder einen bösartigen Angriff zu verhindern. Es handelt sich um einen bestehenden Server, auf dem Personen über verschiedene Windows-Gruppen, denen sie angehören, eine Reihe von Zugriffsrechten haben können. Ich möchte nur wissen, ob es einen schnellen Schutz gibt, um zu verhindern, dass jemand versehentlich einen Befehl auf dem falschen Server ausführt.

0voto

Alarion Punkte 407

Ich verwende zwar SQL Server, wo ich derzeit arbeite, aber ich habe nicht viel mit der Sicherheitsseite zu tun. Ich könnte mir vorstellen, dass Sie für SQL Server dasselbe tun können wie für Oracle (wo ich mehr Erfahrung habe).

Entziehen Sie den gesamten Zugang und fügen Sie dann nur den Zugang hinzu, den jeder Benutzer benötigt. Verwenden Sie Benutzergruppen, um sie zu gruppieren und die Verwaltung der Berechtigungen zu erleichtern.

sieht es so aus, als ob die Benutzer, die Sie einschränken wollen, nur haben sollten:

  • alle Berechtigungen, die für die Verbindung mit dem Server (und möglicherweise die Auswahl der Datenbank) erforderlich sind
  • selektiver Zugriff auf alle Tabellen und Ansichten in einem bestimmten Schema
  • Einfügezugriff auf alle Tabellen in einem bestimmten Schema
  • möglicherweise Ausführungsrechte für bestimmte gespeicherte Prozeduren in einer bestimmten Schema

sollte nichts anderes gewährt werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X