Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Im Beitrag „SQL Server: Sicherheit und Benutzerverwaltung“ haben wir gezeigt, wie Sie grundsätzlich mit Benutzern, Benutzergruppen und den Berechtigungen an den einzelnen Elementen einer SQL Server-Datenbank und dem SQL Server selbst umgehen. Dort sind wir allerdings nur auf den Zugriff per Windows-Authentifizierung eingegangen. Viele Szenarios erfordern es allerdings, dass Sie die SQL Server-Authentifizierung verwenden, was bedeutet, dass Sie unter dem SQL Server eigene Konten für Benutzergruppen und Benutzer anlegen – unabhängig von den Windows-Benutzergruppen und -Benutzern. Dieser Beitrag liefert die Grundlagen rund um die Verwendung der SQL Server-Authentifizierung.
Voraussetzung
Für die Beispiele in diesem Artikel benötigen Sie die Datenbank Suedsturm_SQL, die Sie im Download zu diesem Artikel finden und wie im Beitrag SQL Server-Datenbank kopieren (www.access-im-unternehmen.de/1153) beschrieben installieren können. Dazu benötigen Sie außerdem eine SQL Server-Instanz auf Ihrem Rechner sowie das SQL Server Management Studio.
Warum SQL Server-Authentifizierung
Die im Beitrag SQL Server: Sicherheit und Benutzerverwaltung (www.access-im-unternehmen.de/1154) beschriebene Windows-Authentifizierung setzt voraus, dass es für jedes im SQL Server eingerichtete Konto, sei es ein Benutzer- oder ein Benutzergruppenkonto, ein entsprechendes Konto unter Windows eingerichtet ist. Das ist in Umgebungen, wo der SQL Server auf der gleichen Maschine arbeitet, auf welcher der Benutzer angemeldet ist, ohne Problem möglich. Soll jedoch auch über das Netzwerk auf die Datenbank zugegriffen werden, gelingt dies unter der Windows-Authentifizierung nur, wenn der Zugriff im Kontext einer Windows-Domäne erfolgt. Dies ist jedoch nicht immer möglich. Keinesfalls ist dies der Fall, wenn der Zugriff etwa über das Internet erfolgt – dann und in anderen Fällen gibt es allerdings eine Alternative.
Dabei handelt es sich um die sogenannte SQL Server-Authentifizierung. Hier werden auf dem SQL Server von den Windows-Benutzern und -Benutzergruppen unabhängige Benutzer und Benutzergruppen angelegt (Sie kommen natürlich auch nur mit Benutzern aus). Im Unterschied zur Windows-Authentifizierung, wo es ausreicht, für die Mitglieder einer Windows-Gruppe eine entsprechende Anmeldung für die Gruppe im SQL Server einzurichten, müssen Sie bei der SQL Server-Authentifizierung für jeden Benutzer ein Konto anlegen. Sie können natürlich zusätzlich zum Benutzer auch Benutzergruppen anlegen und die Berechtigungen dann je nach Anforderung für den Benutzer oder auch für die Benutzergruppe eines Benutzers definieren.
Zweistufige Sicherheit
Wie auch bei der Windows-Authentifizierung bietet auch die SQL Server-Authentifizierung ein zweistufiges Sicherheitsverfahren an, bei dem der Benutzer zunächst über die Berechtigung für die Anmeldung am SQL Server und dann noch über die Berechtigungen für die gewünschte Datenbank verfügen muss.
Benutzergruppe im SQL Server anlegen
Wenn Sie eine neue Benutzergruppe im SQL Server anlegen möchten, öffnen Sie über den Kontextmenü-Eintrag Sicherheit|Neu|Anmeldung… den Dialog Anmeldung – Neu (siehe Bild 1). Hier aktivieren Sie zunächst die Option SQL Server-Authentifizierung. Daran, dass nun die Schaltflächen Suchen neben dem Feld Anmeldename verschwindet, erkennen Sie schon, dass wir hier nicht mehr auf die vorhandenen Windows-Benutzerkonten zugreifen können. Also geben wir hier einen benutzerdefinierten Anmeldenamen ein. Da wir im Beitrag SQL Server: Sicherheit und Benutzerverwaltung bereits die Benutzer namens Benutzer1 und Benutzer2 verwendet haben, nutzen wir nun zunächst Benutzer3. Unter der Option SQL Server-Authentifizierung geben Sie außerdem das Kennwort ein – hier haben wir schlicht password verwendet. Unten wählen wir wieder die Zieldatenbank als Standarddatenbank aus, also Suedsturm_SQL. Auf der nächsten Seite unter Serverrollen behalten wir die Serverrolle public bei, da der Benutzer keine weiteren Rechte für die Administration des SQL Servers erhalten soll.
Bild 1: Anlegen eines neuen Benutzers unter der SQL Server-Authentifizierung
Auf der Seite Benutzerzuordnung wählen wir schließlich die Datenbank Suedsturm_SQL aus, auf die der Benutzer zugreifen können soll (siehe Bild 2). Daraufhin erscheinen im unteren Bereich die verschiedenen allgemeinen Datenbankrollen für die Datenbank Suedsturm_SQL. Hier wählen wir zusätzlich zu public noch db_datareader und db_datawriter aus, damit der Benutzer in allen Tabellen lesen und schreiben darf.
Bild 2: Zuweisen der Datenbank und der Berechtigungen für diese Datenbank
Nur Benutzer, keine Gruppen
Hier wird auch gleich ein entscheidender Unterschied zwischen der Windows-Authentifizierung und der SQL Server-Authentifizierung deutlich: Bei der Windows-Authentifizierung können Sie sowohl Windows-Benutzer als auch Windows-Benutzergruppen mit dem Suchen-Dialog auffinden und als Anmeldungen anlegen.
Wenn Sie jedoch die Option SQL Server-Authentifizierung wählen, verschwindet mit dem Suchen-Button die Möglichkeit, Gruppen hinzuzufügen – und ein neuer Anmeldename ist bei der SQL Server-Authentifzierung immer ein neuer Benutzer, aber niemals eine Benutzergruppe.
Damit erhalten wir auch den Nachteil, dass wir bei SQL Server-Authentifizierung nicht den Vorzug genießen, Berechtigungen gleich für eine ganze Gruppe von Benutzern anlegen zu können.
Benutzerberechtigungen für eine Datenbank
Nachdem Sie die Anmeldung für den Benutzer für die SQL Server-Instanz erstellt haben, benötigen wir noch die zweite Stufe. Dazu wählen Sie aus dem Kontextmenü des Eintrags Datenbanken|Suedsturm_SQL|Sicherheit den Befehl Neu|Benutzer… aus (siehe Bild 3). Alternativ können Sie auch den Kontextmenü-Befehl Neuer Benutzer… des Eintrags …|Sicherheit|Benutzer wählen.
Bild 3: Hinzufügen des neuen Benutzers für die Datenbank
Aber Moment: Haben wir nicht weiter oben schon … doch, wir haben: Auf der Seite Benutzerzuordnung des Dialogs Anmeldung – Neu haben wir bereits die Datenbank Suedsturm_SQL ausgewählt. Ein Blick auf die Liste unterhalb des Eintrags Da-ten-banken|Sicherheit|Benutzer liefert dann auch den Benutzer namens Benutzer3 (siehe Bild 4).
Bild 4: Der Benutzer namens Benutzer3 ist schon in der Datenbank vorhanden.
Und weiter oben haben wir auch bereits die Berechtigungen für diesen Benutzer für die Datenbank Suedsturm_SQL eingerichtet.
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo