Dynamische Ermittlung von Mitgliedern einer AD-Gruppe per SQL

Die Ver­gabe von Benut­zer­rech­ten in einer OLAP-Daten­bank auf einem Micro­soft Ana­ly­sis Ser­ver (SSAS) kann auf unter­schied­li­che Weise gelöst wer­den. Es kön­nen Lese- oder Schreib­be­rech­ti­gun­gen auf die ganze Daten­bank, auf einen oder meh­rere Wür­fel und Mea­su­res­groups ver­ge­ben, oder ein­zelne Ele­mente einer Dimen­sion oder Mea­su­res für den Zugriff gesperrt wer­den. Diese Berech­ti­gun­gen wer-den für Rol­len defi­niert. In Rol­len wer­den Benut­zer mit glei­chen Benut­zer­rech­ten zusam­men­ge­fasst. Somit muss nicht für jeden ein­zel­nen Anwen­der die Berech­ti­gung sepa­rat gesetzt wer­den. Bei weni­ger kom­ple­xen Berech­ti­gungs­sze­na­rien kön­nen so mit eini­gen Maus­klicks die Berech­ti­gun­gen erstellt und gepflegt wer­den. Sieht das Berech­ti­gungs­sze­na­rio jedoch vor, dass jeder Anwen­der sepa­rat berech­tigt wer­den muss, weil jeder von ihnen z. B. nur seine Region oder seine Kos­ten­stelle sehen darf, muss für jeden Anwen­der eine eigene Rolle mit den ent­spre­chen­den Berech­ti­gun­gen erstellt wer­den. Wird beim Reporting der SQL-Durch­griff zur Ana­lyse von Beleg­da­ten genutzt, müs­sen diese Berech­ti­gun­gen auch auf der rela­tio­na­len Daten­bank Berück­sich­ti­gung fin­den. Um sich dabei dop­pel­ten Pfle­ge­auf­wand bei der Ver­gabe der Berech­ti­gun­gen zu erspa­ren, emp­fiehlt es sich die Berech­ti­gung gleich auf der rela­tio­na­len Schicht zu pfle­gen und diese anschlie­ßend auto­ma­ti­sch an einen Berech­ti­gungs­wür­fel auf der OLAP-Daten­bank zu über­ge­ben (siehe Bei­trag Rech­te­ver­wal­tung in SSAS – Teil 2). Oft wird die Ver­ant­wor­tung für die Berech­ti­gungs­pflege an die Fach­ab­tei­lung dele­giert. Die IT-Abtei­lung stellt eine spe­zi­ell benannte Benut­zer­gruppe im Active-Direc­tory (AD) zur Ver­fü­gung, der alle Benut­zer mit Zugriff auf die BI-Anwen­dung zuge­ord­net wur­den. Die Ver­gabe der Berech­ti­gun­gen der ein­zel­nen Benut­zer inner­halb die­ser AD-Gruppe muss anschlie­ßend von der Fach­ab­tei­lung vor­ge­nom­men wer­den. Hier­für wer­den oft Pfle­ge­an­wen­dun­gen in Delta­Master genutzt, in denen man jedem ein­zel­nen Benut­zer z. B. seine berech­tigte Kos­ten­stelle zuwei­sen kann. Damit die Berech­ti­gun­gen wir­ken, muss der kor­rekte Name der Kos­ten­stelle und der kor­rekte Benut­zer­name ange­ge­ben wer­den. Dies stellt aber oft ein Pro­blem dar, da nicht immer bekannt ist, wie der genaue Benut­zer­name im Active-Direc­tory lau­tet. Um dem Pfle­gen­den bei die­ser Arbeit zu unter­stüt­zen, wäre es hilf­reich, wenn alle in der AD-Gruppe befind­li­chen Benut­zer in einer Pfle­ge­an­wen­dung ange­zeigt wür­den und anschlie­ßend nur noch“ die berech­tig­ten Kos­ten­stel­len zuge­ord­net wer­den müss­ten. Wie eine sol­che Liste mit­tels einer SQL-Abfrage ermit­telt wer­den kann, soll die­ser Bei­trag ver­deut­li­chen.

Den gesam­ten Arti­kel kön­nen Sie hier abru­fen.

Schreibe einen Kommentar