Εφαρμογή ασφάλειας σε επίπεδο γραμμών σε ενσωματωμένες σελιδοποιημένες αναφορές

ΙΣΕΙ ΓΙΑ: Τα δεδομένα ανήκουν στην εφαρμογή, τα δεδομένα ανήκουν στον χρήστη

Αυτό το άρθρο εξηγεί τον τρόπο ενσωμάτωσης μιας σελιδοποιημένης αναφοράς που χρησιμοποιεί ασφάλεια σε επίπεδο γραμμών (ασφάλεια σε επίπεδο γραμμών) στην εφαρμογή δεδομένων της εφαρμογής σας.

Σημείωμα

Αυτό το άρθρο αφορά μόνο πελάτες δεδομένων που ανήκουν στην εφαρμογή.

Για να χρησιμοποιήσετε το RLS για τις σελιδοποιημένες αναφορές σας:

  1. Ρύθμιση του περιβάλλοντος για φιλτράρισμα της αναφοράς
  2. Φιλτράρισμα των δεδομένων σε επίπεδο αναφοράς ή ερωτήματος
  3. Διαβίβαση της παραμέτρου που έχει ρυθμιστεί με χρήση διακριτικού ενσωμάτωσης

Προαπαιτούμενα στοιχεία

  • Αυτό το άρθρο προϋποθέτει ότι γνωρίζετε πώς μπορείτε να ενσωματώσετε μια σελιδοποιημένη αναφορά Power BI. Εξηγεί πώς μπορείτε να δημιουργήσετε το διακριτικό ενσωμάτωσης, έτσι ώστε η αναφορά να εμφανίζει μόνο τι έχει δικαίωμα πρόσβασης ο χρήστης.

  • Οι σελιδοποιημένες αναφορές δημιουργούνται με τη μηχανή Υπηρεσίες αναφοράς του SQL Server και όχι με τον μηχανισμό Power BI (Υπηρεσίες ανάλυσης), επομένως, το φιλτράρισμα RLS έχει ρυθμιστεί στο Power BI Εργαλείο δόμησης αναφορών.

Ρύθμιση του περιβάλλοντος

Για να εφαρμόσετε ασφάλεια σε επίπεδο γραμμών σε μια σελιδοποιημένη αναφορά Power BI, χρησιμοποιήστε το ενσωματωμένο πεδίο UserID για να αντιστοιχίσετε μια παράμετρο. Αυτή η παράμετρος θα χρησιμοποιηθεί για το φιλτράρισμα ή την υποβολή ερωτημάτων στα δεδομένα σας.

Στη συνέχεια, διαβιβάστε το Αναγνωριστικό χρήστη στο Διακριτικό ενσωμάτωσης - Δημιουργία διακριτικού API για να λάβετε το διακριτικό ενσωμάτωσης.

Χρήση του UserID ως φίλτρου σε επίπεδο αναφοράς ή ερωτήματος

Μπορείτε να χρησιμοποιήσετε το UserId ως φίλτρο ή σε ένα ερώτημα προς την προέλευση δεδομένων.

Φιλτράρισμα των δεδομένων

  1. Στο παράθυρο Ιδιότητες μοντέλου σημασιολογίας, από το αριστερό τμήμα παραθύρου, επιλέξτε Φίλτρο.

    Screenshot of the Power BI Report Builder filter.

  2. Από το αναπτυσσόμενο μενού Παράσταση , επιλέξτε την παράμετρο που θέλετε να χρησιμοποιήσετε για το φιλτράρισμα των δεδομένων.

    Screenshot shows the value Color selected from the Expression menu.

  3. Κάντε κλικ στο κουμπί Συνάρτηση Value .

    Power BI Report Builder value

  4. Στο παράθυρο Παράσταση, από τη λίστα Κατηγορία, επιλέξτε Ενσωματωμένα πεδία.

    Screenshot shows the Expression window with Built-in Fields selected as Category and ExecutionTime selected as Item.

  5. Από τη λίστα Στοιχείο , επιλέξτε UserID και κάντε κλικ στο ΚΟΥΜΠΊ OK.

    Power BI Report Builder UserID

  6. Στο παράθυρο Ιδιότητες μοντέλου σημασιολογίας, επαληθεύστε ότι η παράσταση είναι η επιλεγμένη σας παράμετρος = UserID και κάντε κλικ στο κουμπί OK.

    Power BI Report Builder semantic model properties

Χρήση ερωτήματος

  1. Στο παράθυρο Ιδιότητες μοντέλου σημασιολογίας, από το αριστερό παράθυρο περιήγησης, επιλέξτε Παράμετροι και κάντε κλικ στην Προσθήκη.

    Power BI Report Builder parameters

  2. Στο πεδίο Όνομα παραμέτρου πληκτρολογήστε @UserID και στην Τιμή παραμέτρου προσθέστε [&UserID].

    Power BI Report Builder parameter name

  3. Από το αριστερό τμήμα παραθύρου, επιλέξτε Ερώτημα, προσθέστε την παράμετρο UserID ως μέρος του ερωτήματός σας και κάντε κλικ στο κουμπί OK.

    Σημείωμα

    Στο στιγμιότυπο οθόνης κάτω από την παράμετρο color χρησιμοποιείται ως παράδειγμα (WHERE FinalTable.Color = @UserID). Εάν είναι απαραίτητο, μπορείτε να δημιουργήσετε ένα πιο σύνθετο ερώτημα.

    Power BI Report Builder queries edit

Δημιουργία διακριτικού ενσωμάτωσης

Όταν ενσωματώνετε μια σελιδοποιημένη αναφορά για τους πελάτες σας, χρησιμοποιήστε το API Reports GenerateTokenInGroup για να λάβετε το διακριτικό ενσωμάτωσης. Αυτό το διακριτικό μπορεί επίσης να χρησιμοποιηθεί για να φιλτράρετε ορισμένα δεδομένα από τη σελιδοποιημένη αναφορά.

Μπορείτε να δημιουργήσετε ένα διακριτικό μόνο χρησιμοποιώντας μια κύρια υπηρεσία. Δεν μπορείτε να δημιουργήσετε ένα διακριτικό ως κύριος χρήστης. Η κύρια υπηρεσία πρέπει να έχει τουλάχιστον δικαιώματα μέλους στον χώρο εργασίας στον Υπηρεσία Power BI. (Εάν η κύρια υπηρεσία είναι συμβάλλων ή θεατής, δεν θα μπορεί να δημιουργήσει διακριτικό).

Για να δημιουργήσετε ένα διακριτικό, αντιστοιχίστε το username πεδίο με τις πληροφορίες που θέλετε να εμφανίσετε. Για παράδειγμα, σε μια σελιδοποιημένη αναφορά που διαθέτει μια παράμετρο color, εάν εισαγάγετε πράσινο στο username πεδίο, το διακριτικό ενσωμάτωσης θα περιορίσει τα ενσωματωμένα δεδομένα μόνο στα δεδομένα που έχουν πράσινο ως τιμή στη στήλη χρωμάτων.

{
 "reports": [
 {
  "id": "8d57615e-cfed-4d60-bd21-7dc05727193c"
 }
 ],
 "identities": [
 {
  "username": "green",
  "reports": [
  "8d57615e-cfed-4d60-bd21-7dc05727193c"
  ]
 }
 ]
}

Σημείωμα

Εάν δημιουργήσετε διακριτικό ενσωμάτωσης χωρίς να καθορίσετε ένα αναγνωριστικό-χρήστη, θα χρησιμοποιηθεί το αναγνωριστικό-αντικειμένου της κύριας υπηρεσίας.

Ζητήματα προς εξέταση και περιορισμοί

  • Ο κύριος χρήστης δεν υποστηρίζεται με σελιδοποιημένες αναφορές για ενσωμάτωση για τους πελάτες σας. Ο κύριος χρήστης υποστηρίζεται για ενσωμάτωση για τον οργανισμό σας.
  • Η κύρια υπηρεσία πρέπει να έχει δικαιώματα χώρου εργασίας μέλους ή παραπάνω (όχι θεατής ή συμβάλλων).

Δημιουργία διακριτικού ενσωμάτωσης