Εφαρμογή ασφάλειας σε επίπεδο γραμμών σε ενσωματωμένες σελιδοποιημένες αναφορές
ΙΣΕΙ ΓΙΑ: Τα δεδομένα ανήκουν στην εφαρμογή, τα δεδομένα ανήκουν στον χρήστη
Αυτό το άρθρο εξηγεί τον τρόπο ενσωμάτωσης μιας σελιδοποιημένης αναφοράς που χρησιμοποιεί ασφάλεια σε επίπεδο γραμμών (ασφάλεια σε επίπεδο γραμμών) στην εφαρμογή δεδομένων της εφαρμογής σας.
Σημείωμα
Αυτό το άρθρο αφορά μόνο πελάτες δεδομένων που ανήκουν στην εφαρμογή.
Για να χρησιμοποιήσετε το RLS για τις σελιδοποιημένες αναφορές σας:
- Ρύθμιση του περιβάλλοντος για φιλτράρισμα της αναφοράς
- Φιλτράρισμα των δεδομένων σε επίπεδο αναφοράς ή ερωτήματος
- Διαβίβαση της παραμέτρου που έχει ρυθμιστεί με χρήση διακριτικού ενσωμάτωσης
Προαπαιτούμενα στοιχεία
Αυτό το άρθρο προϋποθέτει ότι γνωρίζετε πώς μπορείτε να ενσωματώσετε μια σελιδοποιημένη αναφορά Power BI. Εξηγεί πώς μπορείτε να δημιουργήσετε το διακριτικό ενσωμάτωσης, έτσι ώστε η αναφορά να εμφανίζει μόνο τι έχει δικαίωμα πρόσβασης ο χρήστης.
Οι σελιδοποιημένες αναφορές δημιουργούνται με τη μηχανή των Υπηρεσιών αναφοράς του SQL Server και όχι με τον μηχανισμό Power BI (Υπηρεσίες ανάλυσης), επομένως, το φιλτράρισμα RLS έχει ρυθμιστεί στο Εργαλείο δόμησης αναφορών του Power BI.
Ρύθμιση του περιβάλλοντος
Για να εφαρμόσετε ασφάλεια σε επίπεδο γραμμών σε μια σελιδοποιημένη αναφορά Power BI, χρησιμοποιήστε το ενσωματωμένο πεδίο UserID για να αντιστοιχίσετε μια παράμετρο. Αυτή η παράμετρος χρησιμοποιείται για το φιλτράρισμα ή την υποβολή ερωτημάτων στα δεδομένα σας.
Στη συνέχεια, διαβιβάστε το Αναγνωριστικό χρήστη στο Διακριτικό ενσωμάτωσης - Δημιουργία διακριτικού API για να λάβετε το διακριτικό ενσωμάτωσης.
Χρήση του UserID ως φίλτρου σε επίπεδο αναφοράς ή ερωτήματος
Μπορείτε να χρησιμοποιήσετε το UserId ως φίλτρο ή σε ένα ερώτημα προς την προέλευση δεδομένων.
Φιλτράρισμα των δεδομένων
Στο παράθυρο Ιδιότητες μοντέλου σημασιολογίας, από το αριστερό τμήμα παραθύρου, επιλέξτε Φίλτρο.
Από το αναπτυσσόμενο μενού Παράσταση , επιλέξτε την παράμετρο που θέλετε να χρησιμοποιήσετε για το φιλτράρισμα των δεδομένων.
Επιλέξτε το κουμπί Συνάρτηση Value .
Στο παράθυρο Παράσταση, από τη λίστα Κατηγορία, επιλέξτε Ενσωματωμένα πεδία.
Από τη λίστα Στοιχείο , επιλέξτε UserID και επιλέξτε OK.
Στο παράθυρο Ιδιότητες μοντέλου σημασιολογίας, επαληθεύστε ότι η παράσταση είναι η επιλεγμένη σας παράμετρος = UserID και επιλέξτε OK.
Χρήση ερωτήματος
Στο παράθυρο Ιδιότητες μοντέλου σημασιολογίας, από το αριστερό παράθυρο περιήγησης, επιλέξτε Παράμετροι και επιλέξτε Προσθήκη.
Στο πεδίο Όνομα παραμέτρου πληκτρολογήστε @UserID και στην Τιμή παραμέτρου προσθέστε [&UserID].
Από το αριστερό τμήμα παραθύρου, επιλέξτε Ερώτημα, προσθέστε την παράμετρο UserID ως μέρος του ερωτήματός σας και επιλέξτε OK.
Σημείωμα
Στο στιγμιότυπο οθόνης κάτω από την παράμετρο color χρησιμοποιείται ως παράδειγμα (WHERE FinalTable.Color = @UserID). Εάν είναι απαραίτητο, μπορείτε να δημιουργήσετε ένα πιο σύνθετο ερώτημα.
Δημιουργία διακριτικού ενσωμάτωσης
Όταν ενσωματώνετε μια σελιδοποιημένη αναφορά για τους πελάτες σας, χρησιμοποιήστε το API Reports GenerateTokenInGroup για να λάβετε το διακριτικό ενσωμάτωσης. Αυτό το διακριτικό μπορεί επίσης να χρησιμοποιηθεί για να φιλτράρετε ορισμένα δεδομένα από τη σελιδοποιημένη αναφορά.
Μπορείτε να δημιουργήσετε ένα διακριτικό μόνο χρησιμοποιώντας μια κύρια υπηρεσία. Δεν μπορείτε να δημιουργήσετε ένα διακριτικό ως κύριος χρήστης. Η κύρια υπηρεσία πρέπει να έχει τουλάχιστον δικαιώματα μέλους για τον χώρο εργασίας στην υπηρεσία Power BI. (Εάν η κύρια υπηρεσία είναι συμβάλλων ή θεατής, δεν είναι δυνατή η δημιουργία διακριτικού).
Για να δημιουργήσετε ένα διακριτικό, αντιστοιχίστε το username
πεδίο με τις πληροφορίες που θέλετε να εμφανίσετε. Για παράδειγμα, σε μια σελιδοποιημένη αναφορά που διαθέτει μια παράμετρο color, εάν εισαγάγετε πράσινο στο username
πεδίο, το διακριτικό ενσωμάτωσης περιορίζει τα ενσωματωμένα δεδομένα μόνο στα δεδομένα που έχουν πράσινο ως τιμή στη στήλη χρωμάτων.
{
"reports": [
{
"id": "8d57615e-cfed-4d60-bd21-7dc05727193c"
}
],
"identities": [
{
"username": "green",
"reports": [
"8d57615e-cfed-4d60-bd21-7dc05727193c"
]
}
]
}
Σημείωμα
Εάν δημιουργήσετε διακριτικό ενσωμάτωσης χωρίς να καθορίσετε ένα αναγνωριστικό-χρήστη, θα χρησιμοποιηθεί το αναγνωριστικό-αντικειμένου της κύριας υπηρεσίας.
Ζητήματα προς εξέταση και περιορισμοί
- Ο κύριος χρήστης δεν υποστηρίζεται με σελιδοποιημένες αναφορές για ενσωμάτωση για τους πελάτες σας. Ο κύριος χρήστης υποστηρίζεται για ενσωμάτωση για τον οργανισμό σας.
- Η κύρια υπηρεσία πρέπει να έχει δικαιώματα χώρου εργασίας τουλάχιστον μέλους ή (όχι θεατή ή συμβάλλοντα).