Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

SQL Server: Sicherheit für Entwickler

Rollen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Das Gruppenkonzept des SQL Servers ist mit Hilfe von Rollen realisiert. Es gibt Rollen auf Serverebene und innerhalb jeder Datenbank. Eine Rolle kann über Mitglieder in Form von Logins/Usern und anderen Rollen verfügen. SQL Server verfügt über eine Reihe vordefinierter Serverrollen, die nicht verändert werden können. Sie können jedoch eigene Rollen anlegen.
04:05

Transkript

Rollen nennt sich das Gruppenkonzept vom SQL Server und es gibt sowohl Rollen auf Server-Ebene als auch Rollen in jeder einzelnen Datenbank. Es gibt vordefinierte Rollen sowohl auf Server- als auch auf Datenbank-Ebene und diese sind unveränderlich. Das heißt, Sie können die nicht in irgendeiner Form modifizieren, löschen oder Ähnliches. Sie können jedoch eigene benutzerdefinierte Rollen erstellen, das sowohl auf Server- als auch auf Datenbank-Ebene. Es gibt eine spezielle Rolle, auch die auf Server- und Datenbank-Ebene, die heißt PUBLIC. Und jeder Login beziehungsweise jeder User in der Datenbank ist Mitglied dieser PUBLIC-Gruppe. Das ist quasi der Everyone des SQL Servers. Das heißt, wenn Sie Rechte vergeben wollen, die alle Logins betreffen oder alle User betreffen, so können Sie das über diese spezielle PUBLIC-Rolle tun. Rollen lassen sich auf dem SQL Server verschachteln. Das heißt, Sie können Rollen haben, die wiederum Mitglieder haben, die selber Rollen sind und somit eine gewisse Hierarchie aufbauen. Was nicht funktioniert, sind natürlich Zirkulationen. Das heißt, Rolle A beinhaltet Rolle B und Rolle B beinhaltet Rolle A. Das durchschaut der SQL Server. Da gibt es eine entsprechende Warnung beziehungsweise eine Fehlermeldung, wenn Sie versuchen, so etwas einzurichten. Leider zeig die GUI verschachtelten Rollen etwas unglücklich an, nichtsdestotrotz können Sie die Verschachtelung von Rollen oder die Mitgliedschaft von Rollen generell relativ leicht abfragen. Es gibt dafür eine Funktion IS_MEMBER () auf Datenbank und IS_SRVROLEMEMBER () auf Server-Ebene. Der SQL Server verfügt über eine ganze Reihe vordefinierte Server-Rollen. Ich habe Ihnen hier eine kleine Übersicht zusammengestellt. Bulkadmin darf BULK INSERTs ausführen. Der DBCreator darf Datenbank erstellen, löschen und auch wieder aus einem Backup wiederherstellen. Der DiskAdmin darf die Datenbankmedien verwalten, das heißt, definieren, wo welche Datenbank ihre physikalischen Medien ablegt. Der ProcessAdmin darf Prozesse verwalten, was im Wesentlichen bedeutet, unliebsame Verbindungen zu eliminieren. Der SecurityAdmin darf Anmeldungen, Kennwörter und Berechtigungen verwalten, also letztendlich Logins und die Berichtigung auf Server-Ebene. Der ServerAdmin darf serverweit konfigurieren und auch den Server stoppen. Der SetupAdmin darf die Verbindungsserver aufsetzen, es gibt so etwas wie Linked-Server, so heißt es im Englischen, wo ein Server direkt mit einem anderen kommunizieren darf und das darf der SetupAdmin festlegen. Und SysAdmin darf alles auf der SQL Server/ Instanz, der ist quasi der Herr im Haus. Dann gibt es eine ganze Reihe von vordefinierten Datenbankrollen in jeder einzelnen Datenbank. Und zwar einmal die Rolle db_Owner, der darf alles in der Datenbank, der ist der Hausherr in der Datenbank. Dann gibt es den db_SecurityAdmin, der darf Rollenmitgliedschaften und Berechtigungen ändern. Dann gibt es den db_AccessAdmin, der darf Zugriff auf die Datenbank, sprich, das Mapping von Login hin zu Usern administrieren. Es gibt den db_BackupOperator, der darf Datenbanken sichern, nicht wiederherstellen, aber sichern. Es gibt den db_DDLAdmin, der darf DDL-Anweisungen, also Data-Definition-Anweisungen für das Erstellen und Ändern von Objekten ausführen. Es gibt den db_DataReader und db_DataWriter, das sind zwei Rollen, die alle Daten lesen beziehungsweise in alle Daten schreiben dürfen. Ja, das heißt, ich habe damit uneingeschränktes Lese- oder Schreibrecht, das macht Sinn für Exporte oder Importe zum Beispiel. Und ich habe das genaue Gegenteil, nämlich db_DenyDataReader und db_DenyDataWriter, entsprechend diese Server-Rollen dürfen auf gar keinen Fall Daten lesen beziehungsweise schreiben. Dies wird durch ein entsprechendes Verbot beziehungsweise ein negatives Recht durchgesetzt. So, nach so viel Theorie, haben Sie sich ein bisschen Praxis verdient. Ich zeige Ihnen, wie das in der Praxis im SQL Server Management Studio aussieht, was wir gerade besprochen haben.

SQL Server: Sicherheit für Entwickler

Lernen Sie, wie sich das Thema Sicherheit im Entickleralltag mit Microsofts Datenbankserver umsetzen lässt.

2 Std. 31 min (25 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:15.01.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!