SQL Server: Was ist der Grund, benutzerdefinierte Datenbankrollen gegenüber festen Rollen zu bevorzugen?

8

Dies mag etwas vage sein, aber ich habe darüber nachgedacht, wie oft DBAs feste Datenbankrollen verwenden, um die Sicherheit von Datenbanken zu steuern. Die Frage ist also, gibt es einen Grund, angepasste Datenbankrollen gegenüber festen Datenbankrollen (db_datareader usw.) zu bevorzugen?

jrara
quelle

Antworten:

12

Feste Datenbankrollen bieten Berechtigungen für die gesamte Datenbank. Benutzerdefinierte Rollen kommen ins Spiel, wenn Sie Benutzern nicht die Berechtigung für die gesamte Datenbank erteilen möchten, sondern nur für einen Teil davon.

Beispielsweise stellt db_datareader SELECT-Berechtigungen für jede Tabelle, Ansicht usw. in dieser Datenbank bereit. Aus Compliance-Gründen kann es einige Tabellen oder Ansichten geben, aus denen HR-Mitarbeiter nur AUSWÄHLEN können sollten, andere Mitarbeiter jedoch nicht. Hier kommen normalerweise benutzerdefinierte Rollen ins Spiel.


quelle
3

Standarddatenbankrollen eignen sich hervorragend für Datenbanken, in denen nur wenige Benutzer vorhanden sind oder in denen kein Team von Datenbankadministratoren für die Verwaltung der Berechtigungen vorhanden ist. Wenn es jedoch mehrere Benutzer mit einem großen Datenbankteam und vertraulichen Daten gibt, ist es ratsam, benutzerdefinierte Rollen zu erstellen, damit Sie wissen, wer was betrachtet.

Wenn es um Daten- (und Datenbank-) Sicherheit geht, möchten Sie die Dinge so weit wie möglich sperren und trotzdem jedem ermöglichen, seine Arbeit ohne größere Herausforderungen zu erledigen. Benutzerdefinierte Rollen passen sehr gut zu dieser Rechnung.

Richard
quelle
2

Nein, ich glaube nicht, dass es einen Grund gibt, benutzerdefinierte Datenbankrollen zu bevorzugen, AUSSER, dass sie spezialisierter und auf Ihre Umgebung und Anforderungen zugeschnitten sind. Entwickler werden sich das Standardangebot ansehen und ob es zum Job passt - perfekt! Wenn dies nicht der Fall ist, ist es Zeit zum Anpassen!

Peter Schofield
quelle
2

Praktische Gründe, insbesondere mit db_datareader und db_datawriter

  • Endbenutzer können Verlaufs- und Überwachungstabellen manipulieren
  • PCI / SOX / Adit-Konformität
  • Sie haben Tabellenkalkulationen, die eine Verbindung zu Ihrer Datenbank herstellen
  • ... was Ihnen auch unbekannte Abhängigkeiten von Tabellen und Ansichten gibt
  • Benutzer verstehen Normalisierung oder Datenbankdesign nicht
  • Nicht alle Daten sind für alle Benutzer
  • ...

Die anderen DB-Rollen werden nicht wirklich verwendet, die ich gefunden habe

gbn
quelle
Ja, PCI / SOX / Adit sind heutzutage heiße Themen. Das kann ein guter Grund sein, feste Rollen zu verlassen.
Stanley Johns