Berechtigungskonzept mithilfe von Linked Measuregroups

Bei Sicherheitskonzepten kann es vorkommen, dass Berechtigungen in Abhängigkeit von Kennzahlen vergeben werden sollen. Greifen zum Beispiel mehrere Tochtergesellschaften auf eine gemeinsame Analysesitzung zu, dann darf zwar die Absatzmenge, aber nicht der Umsatz der anderen Tochtergesellschaften gesehen werden. Hintergrund dabei ist, dass mit den beiden Kennzahlen der Preis berechnet und verglichen werden könnte. Zusätzlich sollen auch die Kennzahlen der Holding nicht sichtbar sein.

In diesem Beispielmodell gibt es die Standarddimensionen Periode, Wertart, Periodenansicht, Kumulation und zusätzlich die Kunden und Produkte. Als Kennzahlen sind Umsatz und Absatz angelegt.

Es gibt also zwei Anforderungen an das Berechtigungskonzept:

  1. Der Anwender darf nur einen Kunden sehen, von diesem aber den Umsatz und die Menge
  2. Der Anwender darf alle Kunden außer einen (z.B. Holding) sehen, davon aber nur die Menge und nicht den Umsatz

In einem Cube ist es nicht möglich diese beiden Anforderungen gleichzeitig zu realisieren. Deshalb wird der ursprüngliche Cube in zwei Würfel zerlegt. Dabei verwendet man die Möglichkeit der Linked Measuregroups im Business Intelligence Development Studio des SQL-Servers.

Es wird zuerst ein neuer leerer Cube erstellt. Die vorhandene Datenquellensicht wird nicht angebunden. Nach dem Öffnen des neuen Würfels kann nun eine Measuregroup verknüpft werden. Mit Rechtsklick auf den Würfel wählt man die Option Neues verknüpftes Objekt, überspringt wieder die Auswahl der Datenquellensicht und kann dann im Fenster Objekt auswählen die Measuregroup markieren.

Nach einer Vorschau kann dann die Verknüpfung erstellt werden. Man erkennt diese im Fenster der Dimensionsverwendung an der Kette im Symbol.

Nach Abspeichern und Verarbeitung der Würfel kann DeltaMaster nun auf insgesamt drei Cubes zugreifen.

Definition der Berechtigungen in der Rolle

Um die entsprechenden Daten nicht zu sehen, wird nun eine Rolle mit verschiedenen Rechten für beide Linked Cubes erstellt. Der User hat auf den ursprünglichen Würfel keinerlei Rechte, er kann sich nur auf die beiden neuen Cubes verbinden. Dafür werden spezielle Analysesitzungen erstellt und dem Anwender zugänglich gemacht.

Die Rolle Berechtigungen Chair hat in diesem Modell lediglich Leserechte. Diese sind auf dem jeweiligen Würfel entsprechend eingeschränkt.

Die Anwender des Tochterunternehmens werden unter Mitglieder eingetragen.
Auf die Datenquellen wird kein Zugriff benötigt.

Unter Cubes sind Leserechte nur für Linked_Cube1 und Linked_Cube2 gesetzt. Auf den ursprünglichen Cube Chair darf der User nicht zugreifen bzw. lesen.

Unter Dimensionen ist standardmäßig schon Lesen aktiviert. Die Einstellungen ändern sich entsprechend der Einschränkungen unter Dimensionsdaten.

Im Linked_Cube1 darf der Anwender nur einen Kunden sehen dafür aber beide Kennzahlen Umsatz und Absatz.

Unter Erweitert kann angegeben werden, welche Kunden zugelassen oder abgewiesen werden sollen. Der passende Kunde kann mithilfe des MDX-Generators aus der Kundendimension ausgewählt werden. Auf den anderen Ebenen muss die Markierung der Elemente entfernt werden.

Um auf dem All-Element nicht den Umsatz- und Absatzwert aller Kunden zu sehen muss im Fenster der erweiterten Einstellungen auf Kundenebene links unten ein Haken bei Sichtbare Gesamtwerte aktivieren gesetzt werden. Dadurch wird sichergestellt, dass auf den verschiedenen Ebenen nur der Wert des selektierten Kunden angezeigt wird und nicht der Gesamtwert.

Im Linked_Cube2 darf nur die Menge angezeigt werden, diese aber für alle Kunden. Einzige Ausnahme ist hier ein Kunde, der im anfangs erwähnten Anwendungsfall die Holding darstellen soll. Dazu muss in der Kundenebene das entsprechende Element abgewählt und der Haken zur Wertanpassung gesetzt werden.

Jetzt können neue Analysemodelle auf den beiden Linked Cubes erstellt werden. Um die Auswahlmöglichkeiten noch weiter einzuschränken empfiehlt es sich für Viewer-User die Kundendimension über den Sichtkontext einzuschränken.