Benutzer mit den meisten Antworten
Rolle zu Tabellen ermitteln

Frage
-
Hallo Forum,
mit welchem SELECT kann ich sehen welchen Tabellen, welche Rollen zugeordnet bekommen haben.
Ich wolle auf die "schnelle" sehen, ob ich Tabellen vergessen habe Rollen zuzuordnen. Über den Eigenschaftendialog ist das etwas umständlich und bei vielen Tabellen dann auch unübersichtlich. Mit einem passenden Select wäre es einfacher.
Danke und Gruß
Gerhard
Antworten
-
Hallo Gerhard,
Rollen zugeordnet? Ich vermute mal eher, Du meinst eher welche Datenbank-Rolle welche Berechtigung auf welche Objekte wie Tabellen haben? => List all Database Permissions
Olaf Helper
[ Blog] [ Xing] [ MVP]- Bearbeitet Olaf HelperMVP Donnerstag, 25. Januar 2018 14:31
- Als Antwort markiert Gerhard Ahrens Freitag, 26. Januar 2018 06:27
Alle Antworten
-
Hallo Gerhard,
Rollen zugeordnet? Ich vermute mal eher, Du meinst eher welche Datenbank-Rolle welche Berechtigung auf welche Objekte wie Tabellen haben? => List all Database Permissions
Olaf Helper
[ Blog] [ Xing] [ MVP]- Bearbeitet Olaf HelperMVP Donnerstag, 25. Januar 2018 14:31
- Als Antwort markiert Gerhard Ahrens Freitag, 26. Januar 2018 06:27
-
Noch ein Tipp:
Rollen Rechte auf Tabellen zu geben ist nebenbei bemerkt auch keine gute Praxis. Wie man jetzt merkt, vergisst man da schnell etwas und es fehlen Berechtigungen oder es sind zu viel.
Besser setzt man für Berechtigungsvergabe auf Schemas (und Prozeduren oder ggfls Sichten).
Andreas Wolter (Blog | Twitter)
MCSM: Microsoft Certified Solutions Master Data Platform/SQL Server 2012
MCM SQL Server 2008
MVP Data Platform MCSE Data Platform
MCSM Charter Member, MCITP Charter Member etc.
www.SarpedonQualityLab.com (Founder) -
Hallo Olaf,
danke für die schelle Antwort. Ja, das hatte ich gesucht.
Nun habe ich doch aber nochmal eine grundsätzliche Frage.
Der Select gibt "DATABASE_ROLE" und "WINDOWS_GROUP" für die Permission der Tabellen aus. Funktionieren tut es offensichtlich mit beidem. Was ist nun aber der richtige Weg. Mit "DATABASE_ROLE" oder "WINDOWS_GROUP" in der Datenbank zu arbeiten. In der Vergangenheit wurden beides Unterschiedlich den Datenbankobjekten zugewiesen.
Im Moment lasse ich mir AD-Rollen anlegen, nehme diese als Benutzer in die Datenbank und verknüpfe diese mit den "Datenbankrollen". Diese Datenbankrollen weise ich dann den jeweiligen Objekten zu.
Danke und Gruß
Gerhard -
Hallo Andreas,
ja, der Tip ist gut. Gibt es dazu etwas zum Lesen wie eine Datenbank am besten aufgebaut (Rechte, Views, Prozeduren usw.). Ist es von der Herangehensweise ein unterschied ob ich Web- oder Desktop Applikationen entwickle ?
Danke und Gruß
Gerhard -
...
ja, der Tip ist gut. Gibt es dazu etwas zum Lesen wie eine Datenbank am besten aufgebaut (Rechte, Views, Prozeduren usw.). Ist es von der Herangehensweise ein unterschied ob ich Web- oder Desktop Applikationen entwickle ?
...
Ja, dazu habe ich hatte ich vor 2 Jahren einen Artikel veröffentlicht: Schema-Design für SQL Server: Empfehlungen für Schema-Design mit Sicherheit im Blick
Ob Web- oder Desktop-App, das macht keinen prinzipiellen Unterschied. Eher in welchem Gesamtkonstrukt man sich befindet (was für andere Apps gibt es, die dort zugreifen). Wie man es genau aufzieht hängt natürlich am Einzelfall. Einige Beipiele finden sich im Artikel.
viel Erfolg
der Andreas
Andreas Wolter (Blog | Twitter)
MCSM: Microsoft Certified Solutions Master Data Platform/SQL Server 2012
MCM SQL Server 2008
MVP Data Platform MCSE Data Platform
MCSM Charter Member, MCITP Charter Member etc.
www.SarpedonQualityLab.com (Founder) -
Was ist nun aber der richtige Weg. Mit "DATABASE_ROLE" oder "WINDOWS_GROUP" in der Datenbank zu arbeiten.
Hallo Gerhard,
wie immer im Leben gibt es auch hier nicht das generell richtige oder beste; man kann aber beides gut miteinander kombinieren.
Über eine Windows Gruppe hat den Vorteil, das die IT das selbst regel kann, wenn es neue User gibt. Bei uns ist es so, das es ein Formular für neue User gibt, in der u.a. vermerkt ist, welche Applikationen derjenige nutzen soll; für jede App gibt es eine AD Gruppe, über die die Rechte auf OS und eben DB seitige eingerichtet sind; die IT muss nur den neuen User nur der AD Gruppe zuordnen.
Die DB Rechte selbst steuere ich über DB Rollen, die so ein bisschen nach den Tätigkeiten gegliedert sind, also Rollen wer was lesen oder schreiben darf. Die AD Gruppen sind dann den jeweiligen DB Rollen zugeordnet.
Gibt es mal neue SP o.ä., gebe ich einfach nur den jeweiligen DB Rollen, die diese brauchen, die Rechte und fertig; das reduziert den Verwaltungsaufwand ungemein und man behält den Überblick.
Olaf Helper
[ Blog] [ Xing] [ MVP]