none
IT Revision Benutzerverrechtung dokumentieren RRS feed

  • Frage

  • Hallo zusammen,

    es sollen für die IT Revision die Rechte aller User auf alle DBs (auch Tabellen, views, SPs, ...) der DBServer ausgelesen werden.
    Am besten Serverübergreifend.

    Gibt es dazu Erfahrungen? Vorschläge? Lösungsansätze?

    MfG

    Mittwoch, 22. August 2012 10:46

Antworten

  • Hi Susanne,

    irgendwie sind Olaf und Christoph immer schneller und ich kann nur im Nachgang noch einen Tipp loswerden.  :-)

    Schau mal hier nach: http://www.mssqltips.com/sqlservertip/1818/script-to-auto-generate-a-security-report-for-your-sql-server-instance/

    Mit der Prozedur wird eine Textausgabe inklusive HTML Tags generiert.

    Die Ausgabe als .html speichern und im Browser öffnen.  Ist aber nur schwarz auf weiß, also kein eye-candy. Aber hier hast Du sowohl Serverrollen, Datenbankzugriffe/rollen und Objekt-Berechtigungen erfasst.

    Ich hab die Proc in meiner AdminDB auf den Servern platziert. Wenn also mal die Frage kommt, wie es derzeit mit den Berechtigungen ausschaut, dann ist es für mich nur noch ein Prozedur-Aufruf.

    Server-übergreifend wäre ggf eine Powershell-Lösung denkbar (kommt halt auf die Anzahl der abzufragenden Server an) mit einem sqlcmd Aufruf und den output lässt man sich dann direkt wegschreiben.

    Gruß und schönen Abend

    Dirk


    May you never suffer the sentiment of spending a day without any purpose


    Mittwoch, 22. August 2012 19:53
  • Hi Susanne,

    wenn Du die Proc als SQL Agent Job laufen lässt, dann probier es mal als sqlcmd Aufruf.

    Also beim Job Step den Type auf CmdExec stellen und dann via sqlcmd  den Aufruf machen

    Ein Beispiel wäre dann:

    sqlcmd -E -S -d DeineDBwoDieProcLiegt -Q "Execute spAuditUsersPermissions" 

    Im Job Step output sollte dann kein SQLSTATE 01000 mehr zu finden sein.

    Gruß

    Dirk


    May you never suffer the sentiment of spending a day without any purpose

    • Als Antwort markiert Susanne Seiler Dienstag, 6. November 2012 10:12
    Dienstag, 6. November 2012 09:58
  • Hi,

    jupps, hab mir da nen kleinen Fehler geleistet

    Aus dem SQLAgent heraus kann man hinter dem -S ein $(ESCAPE_SQUOTE(SRVR)) setzen, dann sollte es wieder passen.

    SQL Agent akzeptiert hier Tokens.


    May you never suffer the sentiment of spending a day without any purpose

    • Als Antwort markiert Susanne Seiler Dienstag, 6. November 2012 14:24
    Dienstag, 6. November 2012 13:49
  • Hallo Susanne,

    das nicht so ganz trivial, die effektiven Benutzerrechte zu ermitteln, da die Rechte aus den diversen Rollen aggregiert werden müssen (beachte: Deny geht vor Grant).

    Im TechNet ScriptCenter findest Du 2 Skripte als Basis für eine Auswertungsmöglichkeit:
    List all Server Permissions
    List all Database Permissions


    Olaf Helper
    Blog Xing

    Mittwoch, 22. August 2012 11:03
  • Hallo Susanne,
    ich empfehle Dir auch mal meinen Artikel und Skript dazu:
    http://www.insidesql.org/blogs/cmu/sql_server/serverweite-berechtigungen-und-verwaiste-benutzer
    Serverweite Berechtigungen und verwaiste Benutzer

    Hier werden auch die effektiven Berechtigungen, welche über Rollen vergeben werden bei den einzelnen Usern angezeigt.

    Dafür habe ich die Berechtigungen auf Spaltenebene ausgelassen, die Olaf in seinem Skript hat.

    HTH!
     Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    www.insidesql.org/blogs/cmu

    Mittwoch, 22. August 2012 12:03
    Beantworter
  • Hallo Susanne,
    darüber habe ich sowohl beim SQL Saturday, als auch im Oktober in der PASS Regionalgruppe Köln/Bonn/Düsseldorf gesprochen.
    Scripte und Beispielberichte findest Du im PASS-Repository:
    http://www.sqlpass.de/Mitgliedsbereich.aspx

    Oder auf der Seite vom SQL Saturday:
    http://www.sqlsaturday.com/viewsession.aspx?sat=170&sessionid=10621
     Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    www.insidesql.org/blogs/cmu

    • Als Antwort markiert Susanne Seiler Dienstag, 13. November 2012 12:23
    Dienstag, 13. November 2012 12:12
    Beantworter

Alle Antworten