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


Ασφάλεια σε επίπεδο στηλών στην αποθήκη δεδομένων Fabric

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

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

Ασφάλεια σε επίπεδο στηλών στο επίπεδο δεδομένων

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

Η ασφάλεια σε επίπεδο στηλών ισχύει μόνο για ερωτήματα σε ένα τελικό σημείο ανάλυσης Αποθήκης ή SQL στο Fabric. Τα ερωτήματα Power BI σε μια αποθήκη σε λειτουργία Direct Lake θα επιστρέψουν στη λειτουργία Direct Query για να συμμορφώνονται με την ασφάλεια σε επίπεδο στηλών.

Περιορισμός πρόσβασης σε συγκεκριμένες στήλες σε συγκεκριμένους χρήστες

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

Υλοποιήστε την ασφάλεια σε επίπεδο στηλών με την πρόταση GRANT T-SQL. Για λόγους ευκολίας διαχείρισης, η εκχώρηση δικαιωμάτων σε ρόλους προτιμάται από τη χρήση ατόμων.

Η ασφάλεια σε επίπεδο στηλών εφαρμόζεται σε κοινόχρηστη αποθήκη ή λίμνη, επειδή η υποκείμενη προέλευση δεδομένων δεν έχει αλλάξει.

Υποστηρίζεται μόνο ο έλεγχος ταυτότητας Microsoft Entra.

Παραδείγματα

Αυτό το παράδειγμα θα δημιουργήσει έναν πίνακα και θα περιορίσει τις στήλες που charlie@contoso.com μπορούν να δουν στον customers πίνακα.

CREATE TABLE dbo.Customers
  (CustomerID int,
   FirstName varchar(100) NULL,
   CreditCard char(16) NOT NULL,
   LastName varchar(100) NOT NULL,
   Phone varchar(12) NULL,
   Email varchar(100) NULL);

Θα επιτρέψουμε στον Τσάρλι να έχει πρόσβαση μόνο στις στήλες που σχετίζονται με τον πελάτη, αλλά όχι στην ευαίσθητη CreditCard στήλη:

GRANT SELECT ON Customers(CustomerID, FirstName, LastName, Phone, Email) TO [Charlie@contoso.com];

Τα ερωτήματα που εκτελούνται ως charlie@contoso.com θα αποτύχουν εάν περιλαμβάνουν τη CreditCard στήλη:

SELECT * FROM Customers;
Msg 230, Level 14, State 1, Line 12
The SELECT permission was denied on the column 'CreditCard' of the object 'Customers', database 'ContosoSales', schema 'dbo'.

Επόμενο βήμα