none
Rolle zu Tabellen ermitteln RRS feed

  • 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

    Donnerstag, 25. Januar 2018 14:00

Antworten

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]


    Donnerstag, 25. Januar 2018 14:30
  • 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)

    Donnerstag, 25. Januar 2018 17:37
  • 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

    Freitag, 26. Januar 2018 06:37
  • 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

    Freitag, 26. Januar 2018 06:41
  • ...

    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)

    Freitag, 26. Januar 2018 12:56
  • 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]

    Samstag, 27. Januar 2018 02:18