Ich möchte die integrierte Sicherheit für meine interne Anwendung verwenden, die sich ausschließlich in einer Domäne befindet. Leider habe ich das noch nie gut hinbekommen. Ich möchte einer gesamten Exchange-Gruppe (Active Directory) in SQL Server eine Rolle für den Lese- / Schreibzugriff auf bestimmte Tabellen zuweisen. Auf diese Weise müsste ich keinen Operator erstellen, wenn jemand eingestellt wird, oder einen Operator löschen, wenn jemand entlassen wird. Ist das möglich? Welche Schritte würde ich unternehmen, um dies zu tun?
sql-server
sql-server-2008
security
role
active-directory
Michael Hedgpeth
quelle
quelle
Das Gewähren der Berechtigungen in SQL Server für eine AD-Gruppe ist relativ einfach. Dies kann entweder über T-SQL oder Management Studio erfolgen.
Wenn Sie beispielsweise eine AD-Gruppe aufgerufen haben
MYDOMAIN\APPLICATION SUPPORT
, würden Sie die Anmeldung auf Serverebene erstellen und dann Zuordnungen zu einzelnen Datenbanken verwenden, um etwas detailliertere Berechtigungen wie Datenleser zu erteilen.Im Idealfall sollte der gesamte Anwendungszugriff über gespeicherte Prozeduren * erfolgen, sodass nur Berechtigungen für die in dieser Datenbank gespeicherten Prozeduren erforderlich sind.
* Um einem bestimmten Benutzer das Anzeigen bestimmter Daten zu ermöglichen, können Sie aus Sicherheitsgründen eine Prozedur erstellen und dem Benutzer die Ausführungsberechtigung für diese Prozedur erteilen . Das direkte Abfragen durch den Benutzer würde bedeuten, dass für alle betroffenen Tabellen eine Auswahlberechtigung erteilt wird. Es ist auch einfacher, mit Prozeduren zu arbeiten und leichter zu debuggen.
Gespeicherte Prozeduren extrahieren den Tabellenzugriff und begrenzen den Zugriff. Für DBA-Typen bedeutet dies: "Lassen Sie mich alle Ihre Instanzvariablen anzeigen: Ich möchte keine Methoden, Getter oder Setter verwenden."
quelle
Von marc_s Antwort "So fügen Sie eine Active Directory-Benutzergruppe als Login in SQL Server hinzu" :
Gehen Sie in SQL Server Management Studio zu
Object Explorer > (your server) > Security > Logins
und klicken Sie mit der rechten MaustasteNew Login
:Wählen Sie dann
Groups
im daraufhin angezeigten Dialogfeld die Arten von Objekten aus, die Sie sehen möchten ( standardmäßig deaktiviert - markieren Sie diese Option!), Und wählen Sie den Ort aus, an dem Sie nach Ihren Objekten suchen möchten (z. B. VerwendungEntire Directory
), und suchen Sie dann Ihre AD-Gruppe .Sie haben jetzt eine reguläre SQL Server-Anmeldung - genau wie beim Erstellen einer für einen einzelnen AD-Benutzer. Geben Sie diesem neuen Login die Berechtigungen für die Datenbanken, die es benötigt, und los geht's!
Jedes Mitglied dieser AD-Gruppe kann sich jetzt bei SQL Server anmelden und Ihre Datenbank verwenden.
quelle
Wenn der Benutzer Mitglied einer DOMAIN \ SecurityGroup ist, die über die Berechtigung Sysadmin in SQL verfügt, wird dies beim Zugriff auf Datenbanken verwendet. Andernfalls müssen Sie prüfen, welche DOMAIN \ SecurityGroup (s) in jeder Datenbank Berechtigungen erhalten haben. Wenn der Benutzer Mitglied von 2 Sicherheitsgruppen ist, wobei SecGroupA die Berechtigung zum Auswählen und SecGroupB die Berechtigung zum Einfügen hat, kann der Benutzer auswählen und einfügen.
quelle