Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Οι ρόλοι ασφαλείας OneLake ελέγχουν ποιος μπορεί να έχει πρόσβαση στα δεδομένα στα στοιχεία Fabric. Μερικές φορές η παραχώρηση ή η άρνηση πρόσβασης σε ένα ολόκληρο αντικείμενο είναι πολύ χονδροειδής. Ίσως χρειαστεί να αποκρύψετε ευαίσθητες στήλες, να περιορίσετε τις γραμμές που βλέπει ένας χρήστης ή να εκθέσετε μόνο συγκεκριμένους πίνακες. Μέσα σε έναν ρόλο, μπορείτε να περιορίσετε την πρόσβαση σε τρία επίπεδα υποδιαίρεσης: ασφάλεια σε επίπεδο αντικειμένου για πίνακες και φακέλους, ασφάλεια σε επίπεδο στήλης (CLS) για μεμονωμένες στήλες και ασφάλεια σε επίπεδο γραμμών (RLS) για μεμονωμένες γραμμές.
Αυτό το άρθρο εξηγεί τι κάνει κάθε στοιχείο ελέγχου και πώς το επιβάλλει το OneLake. Για να συντάξετε αυτά τα στοιχεία ελέγχου, ανατρέξτε στο θέμα Δημιουργία και διαχείριση ρόλων ασφαλείας OneLake.
Οι ρόλοι ασφαλείας OneLake χρησιμοποιούν ένα μοντέλο εκχώρησης για να παρέχουν πρόσβαση σε δεδομένα. Δεν μπορείτε να αρνηθείτε την πρόσβαση που εκχωρείται μέσω διαφορετικού ρόλου ή μοντέλου δικαιωμάτων. Για αυτόν τον λόγο, αυτά τα στοιχεία ελέγχου δεν περιορίζουν την πρόσβαση για χρήστες στους ρόλους Διαχειριστής, Μέλος και Συμβάλλων σε επίπεδο χώρου εργασίας.
Ασφάλεια πινάκων και φακέλων
Η ασφάλεια σε επίπεδο πίνακα και φακέλου, που ονομάζεται επίσης ασφάλεια σε επίπεδο αντικειμένου (OLS), σας επιτρέπει να εκχωρήσετε πρόσβαση σε συγκεκριμένους πίνακες ή φακέλους σε ένα στοιχείο δεδομένων. Με την OLS, δημιουργείτε δικαιώματα τόσο για δομημένα όσο και για μη δομημένα δεδομένα σε επίπεδο φακέλου. Επειδή οι πίνακες Delta Parquet στο OneLake αναπαρίστανται ως φάκελοι, μπορείτε να ασφαλίσετε τους πίνακες με τον ίδιο τρόπο που προστατεύετε τους φακέλους. Τα σχήματα είναι επίσης φάκελοι, ώστε να μπορείτε να τα ασφαλίσετε με τον ίδιο τρόπο.
Ασφάλεια σε επίπεδο στηλών και γραμμών
Η ασφάλεια OneLake επιβάλλει την ασφάλεια σε επίπεδο στηλών και γραμμών με έναν από τους εξής δύο τρόπους:
- Πίνακες φίλτρων: Ένας χρήστης που υποβάλλει ερώτημα σε έναν πίνακα χρησιμοποιώντας έναν μηχανισμό Fabric, όπως σημειωματάρια Spark, ή έναν εξουσιοδοτημένο μηχανισμό τρίτου κατασκευαστή βλέπει μόνο τις στήλες ή τις γραμμές που επιτρέπουν οι κανόνες CLS ή RLS.
- Πίνακες μπλοκ: Ένας χρήστης που υποβάλλει ερώτημα σε έναν πίνακα χρησιμοποιώντας έναν μη εξουσιοδοτημένο μηχανισμό τρίτων δεν μπορεί να διαβάσει τον πίνακα.
Η ασφάλεια OneLake μπορεί να επιβάλει κανόνες CLS και RLS για πίνακες Delta Parquet ή εικονικοποιημένους πίνακες Iceberg. Οι κανόνες που εφαρμόζονται σε άλλους τύπους πινάκων αποκλείουν την πρόσβαση σε ολόκληρο τον πίνακα για τα μέλη του ρόλου.
Εάν ένας κανόνας CLS ή RLS έχει αναντιστοιχία με τον πίνακα στον οποίο έχει οριστεί, το ερώτημα αποτυγχάνει και δεν επιστρέφει δεδομένα. Για παράδειγμα, μια ασυμφωνία προκύπτει όταν ένας κανόνας αναφέρεται σε μια στήλη που δεν υπάρχει στον πίνακα.
Ασφάλεια σε επίπεδο στηλών
Η ασφάλεια σε επίπεδο στήλης (CLS) εκχωρεί πρόσβαση σε επιλεγμένες στήλες σε έναν πίνακα αντί για τον πλήρη πίνακα. Τα δεδομένα στις στήλες που καταργείτε από τη λίστα επιτρεπόμενων δεν είναι ορατά στους χρήστες.
Για πίνακες φιλτραρισμένους με CLS, ισχύουν οι ακόλουθες συμπεριφορές:
- Εάν ένας χρήστης εκτελεί ένα
select *ερώτημα σε έναν πίνακα όπου έχει πρόσβαση μόνο σε ορισμένες από τις στήλες, οι κανόνες CLS συμπεριφέρονται διαφορετικά ανάλογα με τον μηχανισμό Fabric:- Σημειωματάρια Spark: Το ερώτημα είναι επιτυχές και εμφανίζει μόνο τις επιτρεπόμενες στήλες.
- Τελικό σημείο ανάλυσης SQL: Το ερώτημα επιστρέφει ένα σφάλμα και αποκλείει την πρόσβαση στις στήλες στις οποίες δεν μπορεί να έχει πρόσβαση ο χρήστης.
- Σημασιολογικά μοντέλα: Το ερώτημα επιστρέφει ένα σφάλμα και αποκλείει την πρόσβαση στις στήλες στις οποίες δεν μπορεί να έχει πρόσβαση ο χρήστης.
- Το όνομα μιας ασφαλούς στήλης μπορεί να είναι ορατό σε ορισμένες εμπειρίες, αλλά οι τιμές δεδομένων δεν εμφανίζονται ποτέ.
Ασφάλεια σε επίπεδο γραμμών
Η ασφάλεια σε επίπεδο γραμμών (RLS) ορίζει περιορισμούς δεδομένων σε επίπεδο γραμμών για δεδομένα σε μορφή πίνακα που είναι αποθηκευμένα στο OneLake. Ορίζετε ρόλους που περιέχουν κανόνες για το φιλτράρισμα γραμμών δεδομένων για τα μέλη του ρόλου. Όταν ένα μέλος ενός ρόλου RLS υποβάλλει ερώτημα στα δεδομένα, το OneLake αξιολογεί τους κανόνες RLS και επιστρέφει μόνο τις επιτρεπόμενες γραμμές. Οι γραμμές είναι μια έννοια που σχετίζεται μόνο με δεδομένα σε μορφή πίνακα, επομένως δεν μπορείτε να ορίσετε RLS για φακέλους χωρίς πίνακα ή μη δομημένα δεδομένα.
Για πίνακες φιλτραρισμένους με RLS, ισχύουν οι ακόλουθες συμπεριφορές:
- Η πρόσβαση σε έναν πίνακα μπορεί να αποκλειστεί εάν η πρόταση RLS περιέχει σφάλματα σύνταξης που εμποδίζουν την αξιολόγησή του.
Για τη σύνταξη που χρησιμοποιείται για τη σύνταξη κανόνων RLS, ανατρέξτε στο θέμα Αναφορά σύνταξης ασφαλείας σε επίπεδο γραμμών.
Συνδυασμός ασφάλειας σε επίπεδο γραμμών και επιπέδου στήλης
Η ασφάλεια σε επίπεδο γραμμών και επιπέδου στήλης μπορεί να χρησιμοποιηθεί μαζί για τον περιορισμό της πρόσβασης των χρηστών σε έναν πίνακα. Ωστόσο, οι δύο πολιτικές πρέπει να εφαρμοστούν χρησιμοποιώντας έναν μοναδικό ρόλο ασφαλείας OneLake. Σε αυτό το σενάριο, η πρόσβαση στα δεδομένα περιορίζεται σύμφωνα με τους κανόνες που ορίζονται στον μοναδικό ρόλο.
Η ασφάλεια OneLake δεν υποστηρίζει τον συνδυασμό δύο ή περισσότερων ρόλων όπου ο ένας περιέχει κανόνες RLS και ένας άλλος περιέχει κανόνες CLS. Οι χρήστες που προσπαθούν να αποκτήσουν πρόσβαση σε πίνακες που αποτελούν μέρος ενός μη υποστηριζόμενου συνδυασμού ρόλων λαμβάνουν σφάλματα ερωτήματος.