Υλοποίηση ασφάλειας σε επίπεδο γραμμών στην αποθήκευση δεδομένων Microsoft Fabric
Ισχύει για:✅ Τελικό σημείο ανάλυσης SQL και Αποθήκη στο Microsoft Fabric
Η ασφάλεια σε επίπεδο γραμμών (RLS) στο τελικό σημείο Αποθήκης Fabric και ανάλυσης SQL σάς επιτρέπει να ελέγχετε την πρόσβαση σε γραμμές σε έναν πίνακα βάσης δεδομένων με βάση τους ρόλους και τα κατηγορήματα χρήστη. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Ασφάλεια σε επίπεδο γραμμών στην αποθήκη δεδομένων Fabric.
Αυτός ο οδηγός θα σας καθοδηγήσει στα βήματα για την υλοποίηση της ασφάλειας σε επίπεδο γραμμών στο Τελικό σημείο Microsoft Fabric Warehouse ή ανάλυσης SQL.
Προαπαιτούμενα στοιχεία
Προτού ξεκινήσετε, βεβαιωθείτε ότι έχετε τα εξής:
- Ένας χώρος εργασίας Fabric με ενεργούς εκχωρημένους πόρους ή εκχωρημένους πόρους δοκιμαστικής έκδοσης.
- Ένα τελικό σημείο ανάλυσης Fabric Warehouse ή SQL σε ένα Lakehouse.
- Είτε τα δικαιώματα Διαχειριστή, Μέλους ή Συμβάλλοντος στον χώρο εργασίας, είτε αναβαθμισμένου δικαιώματος στο τελικό σημείο της Αποθήκης ή της ανάλυσης SQL.
1. Σύνδεση
- Συνδεθείτε χρησιμοποιώντας έναν λογαριασμό με αυξημένη πρόσβαση στο τελικό σημείο της Αποθήκης ή της ανάλυσης SQL. (Ρόλος διαχειριστή/μέλους/συμβάλλοντος στον χώρο εργασίας ή δικαιωμάτων ελέγχου στο τελικό σημείο αποθήκης ή ανάλυσης SQL).
- Ανοίξτε τον χώρο εργασίας Fabric και μεταβείτε στο τελικό σημείο αποθήκης ή ανάλυσης SQL όπου θέλετε να εφαρμόσετε ασφάλεια σε επίπεδο γραμμών.
2. Ορισμός πολιτικών ασφαλείας
Προσδιορίστε τους ρόλους και τα κατηγορήματα που θέλετε να χρησιμοποιήσετε για τον έλεγχο της πρόσβασης στα δεδομένα. Οι ρόλοι ορίζουν ποιος μπορεί να έχει πρόσβαση σε δεδομένα και τα κατηγορήματα ορίζουν τα κριτήρια πρόσβασης.
Δημιουργήστε κατηγορήματα ασφαλείας. Τα κατηγορήματα ασφαλείας είναι συνθήκες που καθορίζουν τις γραμμές στις οποίες μπορεί να αποκτήσει πρόσβαση ένας χρήστης. Μπορείτε να δημιουργήσετε κατηγορήματα ασφαλείας ως ενσωματωμένες συναρτήσεις με τιμή πίνακα.
-- Creating schema for Security CREATE SCHEMA Security; GO -- Creating a function for the SalesRep evaluation CREATE FUNCTION Security.tvf_securitypredicate(@UserName AS varchar(50)) RETURNS TABLE WITH SCHEMABINDING AS RETURN SELECT 1 AS tvf_securitypredicate_result WHERE @UserName = USER_NAME() OR USER_NAME() = 'BatchProcess@contoso.com'; GO -- Using the function to create a Security Policy CREATE SECURITY POLICY YourSecurityPolicy ADD FILTER PREDICATE Security.tvf_securitypredicate(UserName_column) ON sampleschema.sampletable WITH (STATE = ON); GO
Αντικαταστήστε
YourSecurityPolicy
το με το όνομα της πολιτικής σας,tvf_securitypredicate
με το όνομα της συνάρτησης κατηγόρησής σας,sampleschema
με το όνομα του σχήματος καιsampletable
με το όνομα του πίνακα προορισμού.Αυτή η άσκηση προϋποθέτει ότι υπάρχει μια στήλη στον πίνακα δεδομένων σας,
UserName_column
, που περιέχει το σχετικό όνομα χρήστη, συμπληρωμένη από τη συνάρτηση συστήματος USER_NAME(). ΑντικαταστήστεUserName_column
με μια στήλη στον πίνακά σας που περιέχει ονόματα χρηστών.Αντικαταστήστε
WHERE @UserName = USER_NAME();
με ένανWHERE
όρο που συμφωνεί με το επιθυμητό φίλτρο ασφαλείας που βασίζεται στο κατηγόρημα. Για παράδειγμα, αυτό φιλτράρει τα δεδομένα όπου ηUserName
στήλη, αντιστοιχισμένη στην@UserName
παράμετρο, συμφωνεί με το αποτέλεσμα της συνάρτησης συστήματος USER_NAME().- Προαιρετικά, η πρόταση
WHERE
περιλαμβάνει επίσης μια εξαίρεση για το όνομα χρήστη της διαχειριζόμενης ταυτότητας που χειρίζεται τη μετακίνηση δεδομένων, για παράδειγμα,BatchProcess@contoso.com
.
- Προαιρετικά, η πρόταση
Επαναλάβετε αυτά τα βήματα για να δημιουργήσετε πολιτικές ασφαλείας για άλλους πίνακες, εάν είναι απαραίτητο.
3. Δοκιμή ασφάλειας σε επίπεδο γραμμών
Συνδεθείτε στο Fabric ως χρήστης που είναι μέλος ενός ρόλου με μια συσχετισμένη πολιτική ασφαλείας. Χρησιμοποιήστε το παρακάτω ερώτημα για να επαληθεύσετε την τιμή που πρέπει να συμφωνεί στον πίνακα.
SELECT USER_NAME()
Υποβάλετε ερώτημα στους πίνακες βάσης δεδομένων για να επαληθεύσετε ότι η ασφάλεια σε επίπεδο γραμμών λειτουργεί όπως αναμένεται. Οι χρήστες θα πρέπει να βλέπουν μόνο τα δεδομένα που ικανοποιούν το κατηγόρημα ασφαλείας που ορίζεται στον ρόλο τους. Για παράδειγμα:
SELECT * FROM sampleschema.sampletable
Παρόμοια φιλτραρισμένη αποτελέσματα για το χρήστη θα φιλτραριστεί με άλλες εφαρμογές που χρησιμοποιούν έλεγχο ταυτότητας Microsoft Entra για πρόσβαση στη βάση δεδομένων. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Έλεγχος ταυτότητας Microsoft Entra ως εναλλακτική λύση στον έλεγχο ταυτότητας SQL στο Microsoft Fabric.
4. Παρακολούθηση και διατήρηση ασφάλειας σε επίπεδο γραμμών
Παρακολουθείτε και ενημερώνετε τακτικά τις πολιτικές ασφαλείας σε επίπεδο γραμμών καθώς εξελίσσονται οι απαιτήσεις ασφαλείας σας. Παρακολουθώ αναθέσεων ρόλων και να εξασφαλίσετε ότι οι χρήστες έχουν την κατάλληλη πρόσβαση.