Aktueller Benutzer im BI Publisher

Seit einigen Tagen beschäftige ich mich nebenbei ein wenig mit dem Oracle BI Publisher. Die ersten Versuche aus des Sicht des Administrators gelten natürlich zunächst der Sicherheit. Einen zentralen Reportingserver mit gespeicherten Zugängen zu produktiven Datenquellen sollte man nicht leichtfertig aufbauen. Während die Umstellung der Authentifizierung auf LDAP einwandfrei funktioniert hat, bin ich bei der Einschränkung der Daten auf größere Probleme gestoßen. Wie kann ich dem Benutzer – abhängig von seinen applikationsseitigen Rechten – nur gefilterte Daten zur Verfügung stellen?

Aus der vorherigen Frage ergab sich schnell die nächste… Welcher Benutzer ist eigentlich gerade am BI Publisher angemeldet?

Um es kurz zu machen: Die Dokumentation half hier nicht weiter, allerdings wurde ich im OTN Forum fündig. Die Bind Variable :xdo_user_name steht bei der Definition der Datenquelle in den SQL Statements zur Verfügung. Somit können die Daten über den Benutzernamen eingeschränkt werden.

SELECT  *
FROM    my_secret_table
WHERE   username = :xdo_user_name;

Es wäre spannend zu wissen, ob weitere :xdo… Variablen existieren die z.B. die Gruppenzugehörigkeigt oder ähnliches erkennen lassen.

Schlagworte: , ,

1 Kommentar zu „Aktueller Benutzer im BI Publisher“

  1. J. Menge sagt:

    Für die Einstellung der Security (Autorisierung) gibt es beim BIP zwei Ebenen:
    - Rechte zum Ausführen von Berichten (Applikation)
    - Rechte zum Zugriff auf Daten (Datenbank).
    Die Rechte der ersten Ebene steuere ich über die Zuordnung von Usern, Rollen und Verzeichnissen, in den sich die Berichtsdefinitionen befinden.
    Die Rechte der zweiten Ebene steuere ich zunächst über die Authentifizierung beim Zugriff auf die Data Source. Man kann auch spezielle Rollen definieren und diesen Rollen explizit Data Sources zuweisen. Damit lässt sich für Entwickler der Zugriff auf bestimmte Data Sources beschränken.
    Innerhalb einer Data Source kann man mit dynamischen Elementen in der Query arbeiten. Eine Variante wäre die erwähnte Variable für den Benutzer, eine andere Variante ist in diesem Papier beschrieben (http://www.oracle.com/global/de/community/bip/documents/wp_rls.pdf).
    Eine Variable für die Gruppe gibt es nicht, denn es gibt im BI Publisher auch keine Gruppe im eigentlichen Sinne, nur Rollen und Folder.

Kommentieren