Κοινή χρήση μέσω


Υλοποίηση ασφάλειας σε επίπεδο γραμμών στην αποθήκευση δεδομένων Microsoft Fabric

Ισχύει για: Τελικό σημείο ανάλυσης SQL και Αποθήκη στο Microsoft Fabric

Η ασφάλεια σε επίπεδο γραμμών (RLS) στο τελικό σημείο Αποθήκης Fabric και ανάλυσης SQL σάς επιτρέπει να ελέγχετε την πρόσβαση σε γραμμές σε έναν πίνακα βάσης δεδομένων με βάση τους ρόλους και τα κατηγορήματα χρήστη. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Ασφάλεια σε επίπεδο γραμμών στην αποθήκη δεδομένων Fabric.

Αυτός ο οδηγός θα σας καθοδηγήσει στα βήματα για την υλοποίηση της ασφάλειας σε επίπεδο γραμμών στο Τελικό σημείο Microsoft Fabric Warehouse ή ανάλυσης SQL.

Προαπαιτούμενα στοιχεία

Προτού ξεκινήσετε, βεβαιωθείτε ότι έχετε τα εξής:

  1. Ένας χώρος εργασίας Fabric με ενεργούς εκχωρημένους πόρους ή εκχωρημένους πόρους δοκιμαστικής έκδοσης.
  2. Ένα τελικό σημείο ανάλυσης Fabric Warehouse ή SQL σε ένα Lakehouse.
  3. Είτε τα δικαιώματα Διαχειριστή, Μέλους ή Συμβάλλοντος στον χώρο εργασίας, είτε αναβαθμισμένου δικαιώματος στο τελικό σημείο της Αποθήκης ή της ανάλυσης SQL.

1. Σύνδεση

  1. Συνδεθείτε χρησιμοποιώντας έναν λογαριασμό με αυξημένη πρόσβαση στο τελικό σημείο της Αποθήκης ή της ανάλυσης SQL. (Ρόλος διαχειριστή/μέλους/συμβάλλοντος στον χώρο εργασίας ή δικαιωμάτων ελέγχου στο τελικό σημείο αποθήκης ή ανάλυσης SQL).
  2. Ανοίξτε τον χώρο εργασίας Fabric και μεταβείτε στο τελικό σημείο αποθήκης ή ανάλυσης SQL όπου θέλετε να εφαρμόσετε ασφάλεια σε επίπεδο γραμμών.

2. Ορισμός πολιτικών ασφαλείας

  1. Προσδιορίστε τους ρόλους και τα κατηγορήματα που θέλετε να χρησιμοποιήσετε για τον έλεγχο της πρόσβασης στα δεδομένα. Οι ρόλοι ορίζουν ποιος μπορεί να έχει πρόσβαση σε δεδομένα και τα κατηγορήματα ορίζουν τα κριτήρια πρόσβασης.

  2. Δημιουργήστε κατηγορήματα ασφαλείας. Τα κατηγορήματα ασφαλείας είναι συνθήκες που καθορίζουν τις γραμμές στις οποίες μπορεί να αποκτήσει πρόσβαση ένας χρήστης. Μπορείτε να δημιουργήσετε κατηγορήματα ασφαλείας ως ενσωματωμένες συναρτήσεις με τιμή πίνακα. Αυτή η απλή άσκηση προϋποθέτει ότι υπάρχει μια στήλη στον πίνακα δεδομένων σας, UserName_column, που περιέχει το σχετικό όνομα χρήστη, συμπληρωμένη από τη συνάρτηση συστήματος USER_NAME().

    -- 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();
    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 
    
  3. Αντικαταστήστε YourSecurityPolicy το με το όνομα της πολιτικής σας, tvf_securitypredicate με το όνομα της συνάρτησης κατηγόρησής σας, sampleschema με το όνομα του σχήματος και sampletable με το όνομα του πίνακα προορισμού.

  4. Αντικαταστήστε UserName_column με μια στήλη στον πίνακά σας που περιέχει ονόματα χρηστών.

  5. Αντικαταστήστε WHERE @UserName = USER_NAME(); με έναν WHERE όρο που συμφωνεί με το επιθυμητό φίλτρο ασφαλείας που βασίζεται στο κατηγόρημα. Για παράδειγμα, αυτό φιλτράρει τα δεδομένα όπου η UserName στήλη, αντιστοιχισμένη στην @UserName παράμετρο, συμφωνεί με το αποτέλεσμα της συνάρτησης συστήματος USER_NAME().

  6. Επαναλάβετε αυτά τα βήματα για να δημιουργήσετε πολιτικές ασφαλείας για άλλους πίνακες, εάν είναι απαραίτητο.

3. Δοκιμή ασφάλειας σε επίπεδο γραμμών

  1. Συνδεθείτε στο Fabric ως χρήστης που είναι μέλος ενός ρόλου με μια συσχετισμένη πολιτική ασφαλείας. Χρησιμοποιήστε το παρακάτω ερώτημα για να επαληθεύσετε την τιμή που πρέπει να συμφωνεί στον πίνακα.

    SELECT USER_NAME() 
    
  2. Υποβάλετε ερώτημα στους πίνακες βάσης δεδομένων για να επαληθεύσετε ότι η ασφάλεια σε επίπεδο γραμμών λειτουργεί όπως αναμένεται. Οι χρήστες θα πρέπει να βλέπουν μόνο τα δεδομένα που ικανοποιούν το κατηγόρημα ασφαλείας που ορίζεται στον ρόλο τους. Για παράδειγμα:

    SELECT * FROM sampleschema.sampletable
    
  3. Παρόμοια φιλτραρισμένη αποτελέσματα για το χρήστη θα φιλτραριστεί με άλλες εφαρμογές που χρησιμοποιούν έλεγχο ταυτότητας Microsoft Entra για πρόσβαση στη βάση δεδομένων.

4. Παρακολούθηση και διατήρηση ασφάλειας σε επίπεδο γραμμών

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