Ασφάλεια σε επίπεδο γραμμών (RLS) στον Power BI Report Server
Η ρύθμιση της ασφάλειας σε επίπεδο γραμμών (RLS) με το Power BI Report Server μπορεί να περιορίσει την πρόσβαση σε δεδομένα για συγκεκριμένους χρήστες. Τα φίλτρα περιορίζουν την πρόσβαση σε δεδομένα σε επίπεδο γραμμής και μπορείτε να ορίσετε φίλτρα μέσα σε ρόλους. Εάν χρησιμοποιείτε τα προεπιλεγμένα δικαιώματα στο Power BI Report Server, οποιοσδήποτε χρήστης με δικαιώματα εκδότη ή διαχειριστή περιεχομένου για την αναφορά Power BI μπορεί να αναθέσει μέλη σε ρόλους για αυτή την αναφορά.
Μπορείτε να ρυθμίσετε το RLS για αναφορές που έχουν εισαχθεί στο Power BI με το Power BI Desktop. Μπορείτε επίσης να ρυθμίσετε το RLS σε αναφορές που χρησιμοποιούν το DirectQuery, όπως ο SQL Server. Έχετε υπόψη ότι το RLS δεν τηρείται εάν η σύνδεση DirectQuery χρησιμοποιεί ενσωματωμένο έλεγχο ταυτότητας για τους αναγνώστες αναφορών. Για δυναμικές συνδέσεις των Υπηρεσιών ανάλυσης, ρυθμίζετε τις παραμέτρους της ασφάλειας σε επίπεδο γραμμών στο μοντέλο εσωτερικής εγκατάστασης. Η επιλογή ασφαλείας δεν εμφανίζεται για τα σύνολα δεδομένων δυναμικής σύνδεσης.
Ορισμός ρόλων και κανόνων στο Power BI Desktop
Μπορείτε να ορίσετε ρόλους και κανόνες στο Power BI Desktop. Με αυτό το πρόγραμμα επεξεργασίας, μπορείτε να κάνετε εναλλαγή μεταξύ της χρήσης της προεπιλεγμένης αναπτυσσόμενης διασύνδεσης και μιας διασύνδεσης DAX. Όταν δημοσιεύετε στο Power BI, δημοσιεύετε επίσης τους ορισμούς ρόλων.
Για να ορίσετε ρόλους ασφαλείας:
Εισαγάγετε δεδομένα στην αναφορά σας Power BI Desktop ή ρυθμίστε τις παραμέτρους μιας σύνδεσης DirectQuery.
Σημείωμα
Δεν μπορείτε να ορίσετε ρόλους στο Power BI Desktop για δυναμικές συνδέσεις των Υπηρεσιών ανάλυσης. Αυτό πρέπει να το κάνετε στο μοντέλο Υπηρεσιών ανάλυσης.
Από την καρτέλα Μοντελοποίηση , επιλέξτε Διαχείριση ρόλων.
Από το παράθυρο Διαχείριση ρόλων , επιλέξτε Δημιουργία για να δημιουργήσετε έναν νέο ρόλο.
Στην περιοχή Ρόλοι, δώστε ένα όνομα για τον ρόλο και επιλέξτε enter.
Σημείωμα
Δεν μπορείτε να ορίσετε έναν ρόλο με κόμμα, για παράδειγμα
London,ParisRole
.Στην περιοχή Επιλογή πινάκων, επιλέξτε τον πίνακα στον οποίο θέλετε να εφαρμόσετε ένα φίλτρο ασφάλειας σε επίπεδο γραμμών.
Στην περιοχή Φιλτράρισμα δεδομένων, χρησιμοποιήστε το προεπιλεγμένο πρόγραμμα επεξεργασίας για να ορίσετε τους ρόλους σας. Οι παραστάσεις που δημιουργήθηκαν επιστρέφουν μια τιμή true ή false.
Σημείωμα
Δεν μπορούν να οριστούν όλα τα φίλτρα ασφάλειας σε επίπεδο γραμμών που υποστηρίζονται στο Power BI χρησιμοποιώντας το προεπιλεγμένο πρόγραμμα επεξεργασίας. Οι περιορισμοί περιλαμβάνουν παραστάσεις που σήμερα μπορούν να οριστούν μόνο με χρήση του DAX, συμπεριλαμβανομένων δυναμικών κανόνων, όπως username() ή userprincipalname(). Για να ορίσετε ρόλους χρησιμοποιώντας αυτά τα φίλτρα, μεταβείτε για να χρησιμοποιήσετε το πρόγραμμα επεξεργασίας DAX.
Προαιρετικά, επιλέξτε Μετάβαση στο πρόγραμμα επεξεργασίας DAX για να μεταβείτε στη χρήση του προγράμματος επεξεργασίας DAX για να ορίσετε τον ρόλο σας. Οι παραστάσεις DAX επιστρέφουν μια τιμή true ή false. Για παράδειγμα:
[Entity ID] = “Value”
. Το πρόγραμμα επεξεργασίας DAX συμπληρώνεται με την αυτόματη συμπλήρωση για τύπους (intellisense). Μπορείτε να επιλέξετε το σημάδι ελέγχου πάνω από το πλαίσιο παράστασης για να επικυρώσετε την παράσταση και το κουμπί X πάνω από το πλαίσιο παράστασης για να επαναφέρετε τις αλλαγές.Σημείωμα
Μπορείτε να χρησιμοποιήσετε τη συνάρτηση username() μέσα σε αυτή την παράσταση. Να γνωρίζετε ότι η συνάρτηση username() έχει τη μορφή ΤΟΜΈΑΣ\όνομα χρήστη στο Power BI Desktop. Στην υπηρεσία Power BI και τον Power BI Report Server, έχει τη μορφή του κύριου ονόματος χρήστη (UPN). Επιπλέον, σε αυτό το πλαίσιο παράστασης, χρησιμοποιήστε κόμματα για να διαχωρίσετε ορίσματα συναρτήσεων DAX, ακόμα και αν χρησιμοποιείτε τοπικές ρυθμίσεις που συνήθως χρησιμοποιούν διαχωριστικά με ερωτηματικό, όπως Γαλλικά ή Γερμανικά.
Μπορείτε να επιστρέψετε στο προεπιλεγμένο πρόγραμμα επεξεργασίας, επιλέγοντας Μετάβαση στο προεπιλεγμένο πρόγραμμα επεξεργασίας. Όλες οι αλλαγές που πραγματοποιήθηκαν σε οποιοδήποτε από τα δύο περιβάλλοντα εργασίας του προγράμματος επεξεργασίας διατηρούνται κατά την εναλλαγή διασυνδέσεων, όποτε είναι δυνατό. Όταν ορίζετε έναν ρόλο χρησιμοποιώντας το πρόγραμμα επεξεργασίας DAX που δεν μπορεί να οριστεί στο προεπιλεγμένο πρόγραμμα επεξεργασίας, εάν επιχειρήσετε να μεταβείτε στο προεπιλεγμένο πρόγραμμα επεξεργασίας, θα σας ζητηθεί μια προειδοποίηση ότι η αλλαγή προγράμματος επεξεργασίας μπορεί να έχει ως αποτέλεσμα την απώλεια ορισμένων πληροφοριών. Για να διατηρήσετε αυτές τις πληροφορίες, επιλέξτε Ακύρωση και συνεχίστε να επεξεργάζεστε αυτόν τον ρόλο μόνο στο πρόγραμμα επεξεργασίας DAX.
Σημείωμα
Σε αυτό το πλαίσιο παράστασης, χρησιμοποιήστε κόμματα για να διαχωρίσετε ορίσματα συναρτήσεων DAX, ακόμα και αν χρησιμοποιείτε τοπικές ρυθμίσεις που συνήθως χρησιμοποιούν διαχωριστικά με ερωτηματικό, όπως Γαλλικά ή Γερμανικά.
Επιλέξτε Αποθήκευση.
Δεν μπορείτε να αναθέσετε χρήστες σε έναν ρόλο στο Power BI Desktop. Τις εκχωρείτε στην υπηρεσία Power BI. Μπορείτε να ενεργοποιήσετε τη δυναμική ασφάλεια στο Power BI Desktop κάνοντας χρήση των συναρτήσεων DAX username() ή userprincipalname() και έχοντας ρυθμίσει τις παραμέτρους των κατάλληλων σχέσεων.
Αμφίδρομο διασταυρούμενο φιλτράρισμα
Από προεπιλογή, το φιλτράρισμα ασφαλείας σε επίπεδο γραμμών χρησιμοποιεί φίλτρα μονής κατεύθυνσης, ανεξάρτητα από το αν οι σχέσεις έχουν οριστεί σε μονή ή αμφίδρομη κατεύθυνση. Μπορείτε να ενεργοποιήσετε με μη αυτόματο τρόπο το διασταυρούμενο φιλτράρισμα διπλής κατεύθυνσης με ασφάλεια σε επίπεδο γραμμών.
Επιλέξτε τη σχέση και επιλέξτε το πλαίσιο ελέγχου Εφαρμογή φίλτρων ασφαλείας και στις δύο κατευθύνσεις .
Επιλέξτε αυτό το πλαίσιο κατά την υλοποίηση δυναμικής ασφάλειας σε επίπεδο γραμμών με βάση το όνομα χρήστη ή το αναγνωριστικό σύνδεσης.
Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Διασταυρούμενο φιλτράρισμα διπλής κατεύθυνσης με χρήση του DirectQuery στο Power BI Desktop και της τεχνικής λευκής βίβλου Ασφάλιση του μοντέλου σημασιολογίας BI σε μορφή πίνακα.
Επικύρωση των ρόλων στο Power BI Desktop
Αφού δημιουργήσετε τους ρόλους σας, ελέγξτε τα αποτελέσματα των ρόλων στο Power BI Desktop.
Από την καρτέλα Μοντελοποίηση , επιλέξτε Προβολή ως.
Εμφανίζεται το παράθυρο Προβολή ως ρόλων , όπου βλέπετε τους ρόλους που έχετε δημιουργήσει.
Επιλέξτε έναν ρόλο που δημιουργήσατε. Στη συνέχεια, επιλέξτε OK για να εφαρμόσετε αυτόν τον ρόλο.
Η αναφορά αποδίδει τα δεδομένα που σχετίζονται με αυτόν τον ρόλο.
Μπορείτε επίσης να επιλέξετε Άλλος χρήστης και να παρέχετε έναν δεδομένο χρήστη.
Είναι προτιμότερο να καταχωρήσετε το κύριο όνομα χρήστη (UPN), επειδή αυτό χρησιμοποιούν η υπηρεσία Power BI και ο Power BI Report Server.
Στο Power BI Desktop, η επιλογή Άλλος χρήστης εμφανίζει διαφορετικά αποτελέσματα μόνο εάν χρησιμοποιείτε δυναμική ασφάλεια με βάση παραστάσεις DAX. Σε αυτή την περίπτωση, πρέπει να συμπεριλάβετε το όνομα χρήστη καθώς και τον ρόλο.
Επιλέξτε OK.
Η αναφορά αποδίδεται με βάση τα φίλτρα RLS που επιτρέπουν στον χρήστη να δει.
Σημείωμα
Η δυνατότητα Προβολή ως ρόλων δεν λειτουργεί για μοντέλα DirectQuery με ενεργοποιημένη την καθολική σύνδεση (SSO).
Προσθήκη μελών σε ρόλους
Αφού αποθηκεύσετε την αναφορά σας στο Power BI Report Server, μπορείτε να διαχειριστείτε την ασφάλεια και να προσθέσετε ή καταργήσετε μέλη στον διακομιστή. Μόνο οι χρήστες με δικαιώματα εκδότη ή διαχειριστή περιεχομένου για την αναφορά έχουν διαθέσιμη και μη απενεργοποιημένη την επιλογή ασφάλειας σε επίπεδο γραμμών.
Εάν η αναφορά δεν έχει τους ρόλους που χρειάζεται, πρέπει να την ανοίξετε στο Power BI Desktop, να προσθέσετε ή να τροποποιήσετε ρόλους και, στη συνέχεια, να την αποθηκεύσετε ξανά στο Power BI Report Server.
Στο Power BI Desktop, αποθηκεύστε την αναφορά στον Power BI Report Server. Πρέπει να χρησιμοποιήσετε την έκδοση του Power BI Desktop για τον Power BI Report Server.
Στην υπηρεσία αναφορών του Power BI, επιλέξτε τα αποσιωπητικά (...) δίπλα στην αναφορά.
Επιλέξτε Διαχείριση>ασφάλειας σε επίπεδο γραμμών.
Στη σελίδα Ασφάλεια σε επίπεδο γραμμών, προσθέτετε μέλη σε έναν ρόλο που δημιουργήσατε στο Power BI Desktop.
Για να προσθέσετε ένα μέλος, επιλέξτε Προσθήκη μέλους.
Εισαγάγετε τον χρήστη ή την ομάδα στο πλαίσιο κειμένου με τη μορφή ονόματος χρήστη (ΤΟΜΕΙΣ\χρήστης) και επιλέξτε τους ρόλους που θέλετε να αντιστοιχίσετε. Το μέλος πρέπει να είναι εντός του οργανισμού σας.
Ανάλογα με το πώς έχετε ρυθμίσει την υπηρεσία καταλόγου Active Directory, η εισαγωγή του κύριου ονόματος χρήστη εδώ λειτουργεί επίσης. Σε αυτή την περίπτωση, ο διακομιστής αναφορών εμφανίζει το αντίστοιχο όνομα χρήστη στη λίστα.
Κάντε κλικ στο κουμπί OK για να κάνετε εφαρμογή.
Για να καταργήσετε μέλη, επιλέξτε το πλαίσιο δίπλα στα ονόματά τους και επιλέξτε Διαγραφή. Μπορείτε να διαγράψετε πολλά μέλη ταυτόχρονα.
username() και userprincipalname()
Μπορείτε να εκμεταλλευτείτε τις συναρτήσεις DAX username() ή userprincipalname() εντός του συνόλου δεδομένων σας. Μπορείτε να τις χρησιμοποιήσετε σε παραστάσεις στο Power BI Desktop. Όταν δημοσιεύετε το μοντέλο σας, το Power BI Report Server τις χρησιμοποιεί.
Στο Power BI Desktop, η συνάρτηση username() επιστρέφει έναν χρήστη με τη μορφή ΤΟΜΈΑΣ\Χρήστης και userprincipalname() επιστρέφει έναν χρήστη με τη μορφή user@contoso.com.
Εντός του Power BI Report Server, οι παράμετροι username() και userprincipalname() επιστρέφουν και οι δύο το κύριο όνομα χρήστη (UPN), το οποίο είναι παρόμοιο με μια διεύθυνση ηλεκτρονικού ταχυδρομείου.
Εάν χρησιμοποιείτε προσαρμοσμένο έλεγχο ταυτότητας στο Power BI Report Server, επιστρέφει τη μορφή ονόματος χρήστη που έχετε ορίσει για τους χρήστες.
Ζητήματα προς εξέταση και περιορισμοί
Ακολουθούν οι τρέχοντες περιορισμοί για την ασφάλεια σε επίπεδο γραμμών σε μοντέλα Power BI.
Οι χρήστες που είχαν αναφορές που χρησιμοποιούσαν τη συνάρτηση DAX username() θα παρατηρήσουν νέα συμπεριφορά όταν το κύριο όνομα χρήστη (UPN) επιστρέφεται ΕΚΤΌΣ από τις περιπτώσεις που χρησιμοποιείται το DirectQuery με ενσωματωμένη ασφάλεια. Δεδομένου ότι το RLS δεν τηρείται σε αυτό το σενάριο, η συμπεριφορά σε αυτό το σενάριο δεν αλλάζει.
Μπορείτε να ορίσετε το RLS μόνο σε σύνολα δεδομένων που δημιουργούνται με το Power BI Desktop. Για να ενεργοποιήσετε το RLS για σύνολα δεδομένων που έχουν δημιουργηθεί με το Excel, πρέπει πρώτα να μετατρέψετε τα αρχεία σας σε αρχεία Power BI Desktop (PBIX). Μάθετε περισσότερα σχετικά με τη μετατροπή αρχείων του Excel.
Υποστηρίζονται μόνο οι συνδέσεις Εξαγωγή, Μετασχηματισμός, Φόρτωση (ETL) και DirectQuery που χρησιμοποιούν αποθηκευμένα διαπιστευτήρια. Ο χειρισμός των δυναμικών συνδέσεων υπηρεσιών ανάλυσης και DirectQuery που χρησιμοποιούν ενσωματωμένο έλεγχο ταυτότητας γίνεται στην υποκείμενη προέλευση δεδομένων.
Εάν χρησιμοποιείτε την ενσωματωμένη ασφάλεια με το DirectQuery, οι χρήστες σας ενδέχεται να παρατηρήσουν τα εξής:
- Το RLS είναι απενεργοποιημένο και όλα τα δεδομένα επιστρέφονται.
- Οι χρήστες δεν μπορούν να ενημερώσουν τις αναθέσεις ρόλων τους και λαμβάνουν ένα σφάλμα στη σελίδα Διαχείριση RLS.
- Για τη συνάρτηση DAX username, συνεχίζετε να λαμβάνετε το όνομα χρήστη ως ΤΟΜΕΑ\ΧΡΗΣΤΗ.
Οι συντάκτες αναφορών δεν έχουν πρόσβαση για προβολή των δεδομένων αναφοράς στο Power BI Report Server μέχρι να αντιστοιχίσουν στον εαυτό τους τους αντίστοιχους ρόλους μετά την αποστολή της αναφοράς.
Οι αναθέσεις ρόλων μέσω των μελών ομάδας υποστηρίζονται μόνο όταν ο Power BI Report Server έχει ρυθμιστεί για εκτέλεση με έλεγχο ταυτότητας NTLM ή Kerberos. Οι διακομιστές που εκτελούνται με προσαρμοσμένο έλεγχο ταυτότητας ή Windows Basic χρειάζονται χρήστες που έχουν εκχωρηθεί ρητά σε ρόλους.
Συνήθεις ερωτήσεις
Μπορώ να δημιουργήσω αυτούς τους ρόλους για προελεύσεις δεδομένων των Υπηρεσιών ανάλυσης;
Μπορείτε, εάν έχετε εισαγάγει τα δεδομένα στο Power BI Desktop. Εάν χρησιμοποιείτε δυναμική σύνδεση, δεν μπορείτε να ρυθμίσετε τις παραμέτρους RLS στην υπηρεσία Power BI. Το RLS ορίζεται στο μοντέλο Υπηρεσιών ανάλυσης εσωτερικής εγκατάστασης.
Μπορώ να χρησιμοποιήσω το RLS για να περιοριστώ τις στήλες ή τις μετρήσεις που είναι προσβάσιμες από τους χρήστες μου;
Όχι. Εάν ένας χρήστης έχει πρόσβαση σε μια συγκεκριμένη γραμμή δεδομένων, μπορεί να δει όλες τις στήλες δεδομένων για αυτήν τη γραμμή.
Το RLS μού επιτρέπει να αποκρύπτω λεπτομερή δεδομένα, αλλά να παρέχω πρόσβαση σε δεδομένα που συνοψίζονται σε απεικονίσεις;
Όχι, ασφαλίζετε μεμονωμένες γραμμές δεδομένων, αλλά οι χρήστες μπορούν πάντα να βλέπουν είτε τις λεπτομέρειες είτε τα συνοπτικά δεδομένα.
Μπορώ να προσθέσω νέους ρόλους στο Power BI Desktop εάν έχω ήδη υπάρχοντες ρόλους και μέλη;
Ναι, εάν έχετε ήδη υπάρχοντες ρόλους και εκχωρημένα μέλη στο Power BI Report Server, μπορείτε να δημιουργήσετε πρόσθετους ρόλους και να δημοσιεύσετε ξανά την αναφορά σας χωρίς καμία επίδραση στις τρέχουσες αναθέσεις σας.
Σχετικό περιεχόμενο
Περισσότερες ερωτήσεις; Δοκιμάστε να ρωτήσετε την κοινότητα του Power BI