none
Report auf Cube mit Dimensionssicherheit und Abonnements RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,

    wir haben diverse Berichte, die auf SSAS-Cubes basieren und über das SSRS-Webportal bereitgestellt werden. Um den Datenschutz zu gewährleisten, arbeiten wir mit Dimensionssicherheit/Windowsauthentifizierung und alles ist okay. (SQL Server 2016)

    Hier die Fragestellung: Diese Berichte sollen nun auch als Abo verfügbar gemacht werden. Was ist Best-Practice?

    Meine Idee zur Lösung ist folgende:

    - Die bisherigen Berichte so lassen, wie sie sind.

    - Zu jedem Bericht eine zusätzliche Berichtskopie erstellen. Diese Kopie dann mit einem gespeicherten Windowskonto ausstatten (um sie als Abo einrichten zu können) und in den Bericht einen kundenspezifischen Parameter aufnehmen (z.B. @prmKundenID). Diese @prmKundenID im MDX nutzen, um die Daten mandantengerecht zu selektieren. Diesen Bericht dann als datengesteuertes Abo durch Admin einrichten und die jeweiligen @prmKundenID's übergeben.

    Was mich natürlich an meiner Idee stört, ist, dass ich dann jeden Bericht 2x fast in identischer Form vorliegen habe: 1) im SSRS-WebPortal und 2) für die Abosteuerung. Schöner wäre ein einziger Bericht.

    Wie macht Ihr sowas? Freu mich über jede Idee ;-)

    Danke, lG, Andrea

    • Typ geändert AndreaAtWork Freitag, 30. November 2018 11:41
    Mittwoch, 14. November 2018 09:12

Alle Antworten

  • Den Bericht über eine Bedingung bzgl. des Parameters in der Whereklausel erweitern:

    where .... and (@Parameter is null or @Parameter = FeldName)

    Wenn der Parameter nicht übergeben wird, ist er i.d.R. NULL, somit hast du nur noch einen Bericht.

    Mittwoch, 14. November 2018 12:39
  • Danke. Eine gute Idee. Aber vielleicht hast Du noch ein paar Details für mich?

    Ich frage mich: Wie klappt dann dann der Datenschutz? Sichtbarer Parameter? Unsichtbar? Interner? Die sichtbaren/unsichtbaren kann ich doch von außen in den Bericht geben, oder? Und die internen Parameter kann ich wiederum nicht im Abo befüllen.

    Und was ist denn mit der Anmeldung? Die alten Berichte laufen ja unter Windowsauthentifizierung des jeweiligen Benutzers. Ein Abo kann ich somit doch nicht einrichten - die verlangen nach einem im Bericht gespeicherten Benutzer.

    Oder hab ich was übersehen?

    Mittwoch, 14. November 2018 12:56
  • Hallo Andrea,

    nutzt Du im Report eine eingebettet Datenquelle? Dann kannst Du es vielleicht so lösen, hab's nicht ausprobiert:

    - Unsichtbaren Parameter für den Windows Account Namen anlegen; Default Wert = User!UserId für den interaktiven Abruf
    - Die Verbindungszeichenfolge für die Datenquelle in eine Ausdruck umwandelt, dort die Eigenschaft EffectiveUserName zusammen mit den Parameter für den Namen hinzufügen; siehe Connection String Properties (Analysis Services) ; damit erreicht man ein Impersonate auf den User.
    - Im Report Subscription dann im Parameter den jeweiligen User hinterlegen.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Donnerstag, 15. November 2018 09:59
  • Hallo Olaf,

    ich werde es gleich mal versuchen...melde mich.

    Lieben Dank, Andrea

    Montag, 19. November 2018 09:04
  • Hallo Olaf,

    danke für Deine Antwort...ich hab mich gerade mal damit beschäftigt.

    Habe ich auf diese Weise dann nicht eine Sicherheitslücke bei der interaktiven Anzeige im SSRS-Portal? Der unsichtbare Parameter kann über die URL befüllt werden und somit kann dann über den Identitätswechsel im ConnectionString die Datensätze jedes beliebigen Kunden angezeigt werden.

    ...Oder habe ich hier einen Denkfehler?


    Mittwoch, 21. November 2018 09:32
  • Hallo Andrea,

    da hast Du durchaus Rechte, über die Url geht das. Da habe ich aber auch keine Idee, wie man das absichern könnte.


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Mittwoch, 21. November 2018 10:14
  • hm...trotzdem danke für Deine Mühe.

    Dann bleibt mir wohl nicht anderes, als für jedes Abo einen zweiten eigenständigen Bericht anzulegen.

    Hätte gedacht, dass es das noch eine andere Lösung gibt...ich werde ja nicht die einzige sein, die interaktiven Bericht UND Abo braucht ;-)

    LG, Andrea


    Mittwoch, 21. November 2018 10:42
  • Verwende für den Parameter einen kryptischen Namen, den der Endanwender nicht erraten kann; zudem müsste eh erst mal wissen, wie man den Parameter per URL übergeben kann (gut, das kann man g**geln)

    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Mittwoch, 21. November 2018 11:58
  • ...wir haben hier MultiTenant und "Hochsicherheitstrakt"... bin sicher, in anderem Umfeld ist das sicher genug.

    Ich werde dann bei aber wohl bei meinen zwei Berichte bleiben.

    Lieben Dank, Andrea

    Mittwoch, 21. November 2018 12:06