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


Δυναμική απόκρυψη δεδομένων στην αποθήκη δεδομένων Fabric

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

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

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

  • Μια κεντρική πολιτική απόκρυψης δεδομένων λειτουργεί απευθείας σε ευαίσθητα πεδία στη βάση δεδομένων.
  • Υποδείξτε χρήστες ή ρόλους με δικαιώματα που έχουν πρόσβαση στα ευαίσθητα δεδομένα.
  • Η δυναμική απόκρυψη δεδομένων διαθέτει πλήρεις συναρτήσεις απόκρυψης και μερικής απόκρυψης, καθώς και τυχαία μάσκα για αριθμητικά δεδομένα.
  • Οι απλές εντολές Transact-SQL ορίζουν και διαχειρίζονται μάσκες.

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

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

Ορισμός δυναμικής μάσκας δεδομένων

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

Function Περιγραφή Παραδείγματα
Προεπιλεγμένος Πλήρης απόκρυψη σύμφωνα με τους τύπους δεδομένων των καθορισμένων πεδίων.

Για τους τύπους δεδομένων συμβολοσειράς, χρησιμοποιήστε XXXX (ή λιγότερο) εάν το μέγεθος του πεδίου είναι λιγότερο από 4 χαρακτήρες (char, nchar, varchar, nvarchar, text, ntext).

Για τους αριθμητικούς τύπους δεδομένων χρησιμοποιείτε μηδενική τιμή (bigint, bit, δεκαδικά, int, money, αριθμητικά, smallint, smallmoney, tinyint, κινητής υποδιαστολής, πραγματικά).

Για τους τύπους δεδομένων ημερομηνίας και ώρας, χρησιμοποιήστε 1900-01-01 00:00:00.0000000 το (ημερομηνία, ημερομηνία/ώρα2, ημερομηνία/ώρα, ημερομηνία/ώρα_ ώρας, ώρα).

Για τους δυαδικούς τύπους δεδομένων χρησιμοποιήστε ένα μόνο byte της τιμής ASCII 0 (δυαδικό, varbinary, image).
Παράδειγμα σύνταξης ορισμού στήλης: Phone# varchar(12) MASKED WITH (FUNCTION = 'default()') NULL

Παράδειγμα αλλαγής σύνταξης: ALTER COLUMN Gender ADD MASKED WITH (FUNCTION = 'default()')
Email Μέθοδος απόκρυψης που εκθέτει το πρώτο γράμμα μιας διεύθυνσης ηλεκτρονικού ταχυδρομείου και το επίθημα σταθεράς ".com", με τη μορφή μιας διεύθυνσης ηλεκτρονικού ταχυδρομείου. aXXX@XXXX.com. Παράδειγμα σύνταξης ορισμών: Email varchar(100) MASKED WITH (FUNCTION = 'email()') NULL

Παράδειγμα αλλαγής σύνταξης: ALTER COLUMN Email ADD MASKED WITH (FUNCTION = 'email()')
Τυχαίος Μια τυχαία συνάρτηση απόκρυψης για χρήση σε οποιονδήποτε αριθμητικό τύπο για να αποκρύψετε την αρχική τιμή με μια τυχαία τιμή μέσα σε μια καθορισμένη περιοχή. Παράδειγμα σύνταξης ορισμών: Account_Number bigint MASKED WITH (FUNCTION = 'random([start range], [end range])')

Παράδειγμα αλλαγής σύνταξης: ALTER COLUMN [Month] ADD MASKED WITH (FUNCTION = 'random(1, 12)')
Προσαρμοσμένη συμβολοσειρά Μέθοδος απόκρυψης που εκθέτει το πρώτο και το τελευταίο γράμμα και προσθέτει μια προσαρμοσμένη συμβολοσειρά αναπλήρωσης στο μέσον. prefix,[padding],suffix

Εάν η αρχική τιμή είναι πολύ μικρή για να ολοκληρώσετε ολόκληρη τη μάσκα, μέρος του προθέματος ή του επιθήματος δεν εκτίθεται.
Παράδειγμα σύνταξης ορισμών: FirstName varchar(100) MASKED WITH (FUNCTION = 'partial(prefix,[padding],suffix)') NULL

Παράδειγμα αλλαγής σύνταξης: ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(1,"XXXXXXX",0)')

Αυτό μετατρέπει έναν αριθμό τηλεφώνου όπως 555.123.1234 σε 5XXXXXXX.

Πρόσθετο παράδειγμα:

ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(5,"XXXXXXX",0)')

Αυτό μετατρέπει έναν αριθμό τηλεφώνου όπως 555.123.1234 σε 555.1XXXXXXX.

Για περισσότερα παραδείγματα, ανατρέξτε στο θέμα Τρόπος εφαρμογής δυναμικής απόκρυψης δεδομένων στην Αποθήκη δεδομένων Synapse.

Δικαιώματα

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

Δεν χρειάζεστε κανένα ειδικό δικαίωμα για να δημιουργήσετε έναν πίνακα με δυναμική μάσκα δεδομένων, μόνο τα τυπικά CREATE TABLE δικαιώματα και ALTER τα δικαιώματα σχήματος.

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

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

Το CONTROL δικαίωμα στη βάση δεδομένων περιλαμβάνει αμφότερα τα ALTER ANY MASK δικαιώματα και UNMASK που επιτρέπουν στον χρήστη να προβάλλει δεδομένα που δεν έχουν αποκαλυφθεί. Οι χρήστες ή ρόλοι διαχειριστή, όπως "Διαχειριστής", "Μέλος" ή "Συμβάλλων" έχουν δικαίωμα CONTROL στη βάση δεδομένων από τη σχεδίαση και μπορούν να προβάλουν δεδομένα που έχουν αποκαλυφθεί από προεπιλογή. Τα αναβαθμισμένου δικαιώματος στην Αποθήκη περιλαμβάνουν CONTROL δικαιώματα.

Ζητήματα ασφάλειας: παράκαμψη της απόκρυψης με χρήση συμπερασμών ή τεχνικών ωμής δύναμης

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

Για παράδειγμα, εξετάστε έναν χρήστη που διαθέτει επαρκή δικαιώματα για την εκτέλεση ερωτημάτων στην Αποθήκη και προσπαθεί να "μαντέψει" τα υποκείμενα δεδομένα και, τελικά, να συναγάγει τις πραγματικές τιμές. Ας υποθέσουμε ότι έχουμε μια μάσκα που έχει οριστεί στη [Employee].[Salary] στήλη και αυτός ο χρήστης συνδέεται απευθείας με τη βάση δεδομένων και αρχίζει να μαντέψει τις τιμές, συνάγοντας τελικά την [Salary] τιμή στον Employees πίνακα:

SELECT ID, Name, Salary FROM Employees
WHERE Salary > 99999 and Salary < 100001;

Τα αποτελέσματα σε:

Αναγνωριστικό Ονομασία Μισθός
62543 Jane Doe 0
91245 Γιάννης Γρηγουργός 0

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

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

Επόμενο βήμα