Ασφάλεια σε επίπεδο γραμμών (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. Όταν δημοσιεύετε στο Power BI, δημοσιεύετε επίσης τους ορισμούς ρόλων.

Για να ορίσετε ρόλους ασφαλείας:

  1. Εισαγάγετε δεδομένα στην αναφορά σας Power BI Desktop ή ρυθμίστε τις παραμέτρους μιας σύνδεσης DirectQuery.

    Σημείωμα

    Δεν μπορείτε να ορίσετε ρόλους στο Power BI Desktop για δυναμικές συνδέσεις των Υπηρεσιών ανάλυσης. Αυτό πρέπει να το κάνετε στο μοντέλο Υπηρεσιών ανάλυσης.

  2. Από την καρτέλα Μοντελοποίηση , επιλέξτε Διαχείριση ρόλων.

    Στιγμιότυπο οθόνης της καρτέλας Μοντελοποίηση, με επισήμανση στη Διαχείριση ρόλων.

  3. Από το παράθυρο Διαχείριση ρόλων , επιλέξτε Δημιουργία.

    Στιγμιότυπο οθόνης του παραθύρου Διαχείριση ρόλων, με επισήμανση στη Δημιουργία.

  4. Στην περιοχή Ρόλοι, δώστε ένα όνομα για τον ρόλο.

    Σημείωμα

    Δεν μπορείτε να ορίσετε έναν ρόλο με κόμμα, για παράδειγμα London,ParisRole.

  5. Στην περιοχή Πίνακες, επιλέξτε τον πίνακα στον οποίο θέλετε να εφαρμόσετε έναν κανόνα DAX (Παράσταση ανάλυσης δεδομένων).

  6. Στο πλαίσιο Παράσταση DAX φίλτρου πίνακα, πληκτρολογήστε τις παραστάσεις DAX. Αυτή η παράσταση επιστρέφει μια τιμή true ή false. Για παράδειγμα: [Entity ID] = “Value”.

    Στιγμιότυπο οθόνης του παραθύρου Διαχείριση ρόλων, που επισημαίνει ένα παράδειγμα παράστασης DAX.

    Σημείωμα

    Μπορείτε να χρησιμοποιήσετε τη συνάρτηση username() μέσα σε αυτή την παράσταση. Να γνωρίζετε ότι η συνάρτηση username() έχει τη μορφή ΤΟΜΈΑΣ\όνομα χρήστη στο Power BI Desktop. Εντός του Υπηρεσία Power BI και του Power BI Report Server, έχει τη μορφή του κύριου ονόματος χρήστη (UPN). Εναλλακτικά, μπορείτε να χρησιμοποιήσετε τη συνάρτηση userprincipalname(), η οποία επιστρέφει πάντα τον χρήστη με τη μορφή του κύριου ονόματος χρήστη, username@contoso.com.

  7. Αφού δημιουργήσετε την παράσταση DAX, επιλέξτε το σημάδι ελέγχου επάνω από την παράσταση για να επικυρώσετε την παράσταση.

    Στιγμιότυπο οθόνης του παραθύρου παράστασης DAX φίλτρου πίνακα, που επισημαίνει το σημάδι ελέγχου.

    Σημείωμα

    Σε αυτό το πλαίσιο παράστασης, χρησιμοποιήστε κόμματα για να διαχωρίσετε ορίσματα συναρτήσεων DAX, ακόμα και αν χρησιμοποιείτε τοπικές ρυθμίσεις που συνήθως χρησιμοποιούν διαχωριστικά με ερωτηματικό (π.χ. Γαλλικά ή Γερμανικά).

  8. Επιλέξτε Αποθήκευση.

Δεν μπορείτε να αναθέσετε χρήστες σε έναν ρόλο στο Power BI Desktop. Τις αναθέτετε στην Υπηρεσία Power BI. Μπορείτε να ενεργοποιήσετε τη δυναμική ασφάλεια στο Power BI Desktop κάνοντας χρήση των συναρτήσεων DAX username() ή userprincipalname() και έχοντας ρυθμίσει τις παραμέτρους των κατάλληλων σχέσεων.

Αμφίδρομο διασταυρούμενο φιλτράρισμα

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

  • Επιλέξτε τη σχέση και επιλέξτε το πλαίσιο ελέγχου Εφαρμογή φίλτρων ασφαλείας και στις δύο κατευθύνσεις .

    Εφαρμογή φίλτρου ασφαλείας

Επιλέξτε αυτό το πλαίσιο κατά την υλοποίηση δυναμικής ασφάλειας σε επίπεδο γραμμών με βάση το όνομα χρήστη ή το αναγνωριστικό σύνδεσης.

Για να μάθετε περισσότερα, ανατρέξτε στο θέμα Διασταυρούμενο φιλτράρισμα διπλής κατεύθυνσης με χρήση του DirectQuery στο Power BI Desktop και της τεχνικής λευκής βίβλου Ασφάλιση του μοντέλου σημασιολογίας BI σε μορφή πίνακα.

Επικύρωση των ρόλων στο Power BI Desktop

Αφού δημιουργήσετε τους ρόλους σας, ελέγξτε τα αποτελέσματα των ρόλων στο Power BI Desktop.

  1. Από την καρτέλα Μοντελοποίηση , επιλέξτε Προβολή ως.

    Στιγμιότυπο οθόνης της καρτέλας Μοντελοποίηση, με επισήμανση της προβολής ως.

    Εμφανίζεται το παράθυρο Προβολή ως ρόλων , όπου βλέπετε τους ρόλους που έχετε δημιουργήσει.

    Στιγμιότυπο οθόνης του παραθύρου

  2. Επιλέξτε έναν ρόλο που δημιουργήσατε. Στη συνέχεια, επιλέξτε OK για να εφαρμόσετε αυτόν τον ρόλο.

    Η αναφορά αποδίδει τα δεδομένα που σχετίζονται με αυτόν τον ρόλο.

  3. Μπορείτε επίσης να επιλέξετε Άλλος χρήστης και να παρέχετε έναν δεδομένο χρήστη.

    Στιγμιότυπο οθόνης του παραθύρου Προβολή ως ρόλων με ένα παράδειγμα χρήστη να έχει εισαχθεί.

    Είναι προτιμότερο να καταχωρήσετε το κύριο όνομα χρήστη (UPN), επειδή αυτό χρησιμοποιούν οι Υπηρεσία Power BI και Power BI Report Server.

    Στο Power BI Desktop, η επιλογή Άλλος χρήστης εμφανίζει διαφορετικά αποτελέσματα μόνο εάν χρησιμοποιείτε δυναμική ασφάλεια με βάση παραστάσεις DAX. Σε αυτή την περίπτωση, πρέπει να συμπεριλάβετε το όνομα χρήστη καθώς και τον ρόλο.

  4. Επιλέξτε OK.

    Η αναφορά αποδίδεται με βάση τα φίλτρα RLS που επιτρέπουν στον χρήστη να δει.

    Σημείωμα

    Η δυνατότητα Προβολή ως ρόλων δεν λειτουργεί για μοντέλα DirectQuery με ενεργοποιημένη την καθολική σύνδεση (SSO).

Προσθήκη μελών σε ρόλους

Αφού αποθηκεύσετε την αναφορά σας στο Power BI Report Server, μπορείτε να διαχειριστείτε την ασφάλεια και να προσθέσετε ή καταργήσετε μέλη στον διακομιστή. Μόνο οι χρήστες με δικαιώματα εκδότη ή διαχειριστή περιεχομένου για την αναφορά έχουν διαθέσιμη και μη απενεργοποιημένη την επιλογή ασφάλειας σε επίπεδο γραμμών.

Εάν η αναφορά δεν έχει τους ρόλους που χρειάζεται, πρέπει να την ανοίξετε στο Power BI Desktop, να προσθέσετε ή να τροποποιήσετε ρόλους και, στη συνέχεια, να την αποθηκεύσετε ξανά στο Power BI Report Server.

  1. Στο Power BI Desktop, αποθηκεύστε την αναφορά στον Power BI Report Server. Πρέπει να χρησιμοποιήσετε την έκδοση του Power BI Desktop για τον Power BI Report Server.

  2. Στην υπηρεσία αναφορών του Power BI, επιλέξτε τα αποσιωπητικά (...) δίπλα στην αναφορά.

  3. Επιλέξτε Διαχείριση>ασφάλειας σε επίπεδο γραμμών.

    Διαχείριση ασφάλειας σε επίπεδο γραμμών

    Στη σελίδα Ασφάλεια σε επίπεδο γραμμών, προσθέτετε μέλη σε έναν ρόλο που δημιουργήσατε στο Power BI Desktop.

  4. Για να προσθέσετε ένα μέλος, επιλέξτε Προσθήκη μέλους.

  5. Εισαγάγετε τον χρήστη ή την ομάδα στο πλαίσιο κειμένου με τη μορφή ονόματος χρήστη (ΤΟΜΕΙΣ\χρήστης) και επιλέξτε τους ρόλους που θέλετε να αντιστοιχίσετε. Το μέλος πρέπει να είναι εντός του οργανισμού σας.

    Προσθήκη μέλους στον ρόλο

    Ανάλογα με το πώς έχετε ρυθμίσει την υπηρεσία καταλόγου Active Directory, η εισαγωγή του κύριου ονόματος χρήστη εδώ λειτουργεί επίσης. Σε αυτή την περίπτωση, ο διακομιστής αναφορών εμφανίζει το αντίστοιχο όνομα χρήστη στη λίστα.

  6. Κάντε κλικ στο κουμπί OK για να κάνετε εφαρμογή.

  7. Για να καταργήσετε μέλη, επιλέξτε το πλαίσιο δίπλα στα ονόματά τους και επιλέξτε Διαγραφή. Μπορείτε να διαγράψετε πολλά μέλη ταυτόχρονα.

    Διαγραφή μελών

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