Έλεγχος ταυτότητας σε βάση δεδομένων SQL στο Microsoft Fabric
Ισχύει για:✅Βάση δεδομένων SQL στο Microsoft Fabric
Αυτό το άρθρο εξηγεί τον έλεγχο ταυτότητας για βάσεις δεδομένων SQL.
Όπως και με άλλους τύπους στοιχείων του Microsoft Fabric, οι βάσεις δεδομένων SQL βασίζονται στον έλεγχο ταυτότητας του Microsoft Entra.
Για τον επιτυχή έλεγχο ταυτότητας σε μια βάση δεδομένων SQL, ένας χρήστης Του Microsoft Entra, μια κύρια υπηρεσία ή η ομάδα τους, πρέπει να έχουν δικαιώματα ανάγνωσης στοιχείου για τη βάση δεδομένων στο Fabric. Για πληροφορίες σχετικά με τον τρόπο εκχώρησης μιας ταυτότητας του Microsoft Entra σε έναν χώρο εργασίας Fabric ή σε μια συγκεκριμένη βάση δεδομένων, ανατρέξτε στο θέμα Στοιχεία ελέγχου πρόσβασης Fabric.
Για να βρείτε τη συμβολοσειρά σύνδεσης στη βάση δεδομένων SQL σας στο Fabric, ανατρέξτε στο θέμα Σύνδεση στη βάση δεδομένων SQL στο Microsoft Fabric.
Σημείωμα
Για να ενεργοποιήσετε τις οντότητες υπηρεσίας για να συνδεθείτε στο Fabric και σε βάσεις δεδομένων SQL, χρειάζεται επίσης να ενεργοποιήσετε τις αρχές υπηρεσίας μπορεί να χρησιμοποιήσει τη ρύθμιση μισθωτή Fabric API Fabric. Για να μάθετε πώς μπορείτε να ενεργοποιήσετε τις ρυθμίσεις μισθωτή, ανατρέξτε στο θέμα Ρυθμίσεις μισθωτή Fabric.
Σύνδεση σε βάση δεδομένων SQL με χρήση ελέγχου ταυτότητας Microsoft Entra
Μπορείτε να συνδεθείτε σε μια βάση δεδομένων χρησιμοποιώντας τον έλεγχο ταυτότητας Microsoft Entra με:
- Εργαλεία SQL που υποστηρίζουν έλεγχο ταυτότητας Microsoft Entra, συμπεριλαμβανομένου του SQL Server Management Studio και της επέκτασης mssql με Visual Studio Code.
- Εφαρμογές που χρησιμοποιούν προγράμματα οδήγησης προγράμματος-πελάτη SQL που υποστηρίζουν έλεγχο ταυτότητας Microsoft Entra, συμπεριλαμβανομένων των SqlClient, JDBC, ODBC και OLE DB.
Οι εφαρμογές και εργαλεία πρέπει να αναβαθμίσουν τα προγράμματα οδήγησης σε εκδόσεις που υποστηρίζουν έλεγχο ταυτότητας Microsoft Entra και να προσθέσουν μια λέξη-κλειδί για τη λειτουργία ελέγχου ταυτότητας στη συμβολοσειρά σύνδεσης SQL, όπως ActiveDirectoryInteractive
, ActiveDirectoryServicePrincipal
ή ActiveDirectoryPassword
.
Δημιουργία χρηστών βάσης δεδομένων για ταυτότητες Microsoft Entra
Εάν σκοπεύετε να ρυθμίσετε τις παραμέτρους των στοιχείων ελέγχου πρόσβασης SQL με το Transact-SQL, πρέπει πρώτα να δημιουργήσετε χρήστες βάσης δεδομένων που αντιστοιχούν στις ταυτότητες Microsoft Entra - χρήστες, οντότητες υπηρεσίας ή τις ομάδες τους - με ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ (Transact-SQL).
Η δημιουργία χρηστών βάσης δεδομένων δεν απαιτείται εάν χρησιμοποιείτε στοιχεία ελέγχου πρόσβασης Fabric (ρόλοι χώρου εργασίας ή δικαιώματα στοιχείου). Δεν χρειάζεται να δημιουργήσετε χρήστες όταν διαχειρίζεστε ρόλους επιπέδου βάσης δεδομένων SQL από την πύλη Fabric - η πύλη δημιουργεί αυτόματα χρήστες όταν χρειάζεται.
Δημιουργία χρηστών βάσης δεδομένων κατά τη σύνδεση ως χρήστης Microsoft Entra
Όταν είστε συνδεδεμένοι στη βάση δεδομένων σας ως χρήστης του Microsoft Entra, θα πρέπει να χρησιμοποιήσετε CREATE USER
τον όρο FROM EXTERNAL PROVIDER για να δημιουργήσετε χρήστες για τις οντότητες Microsoft Entra. FROM EXTERNAL PROVIDER
Επικυρώνει το καθορισμένο κύριο όνομα με το Microsoft Entra, ανακτά το κύριο αναγνωριστικό (αναγνωριστικό αντικειμένου χρήστη ή ομάδας, αναγνωριστικό εφαρμογής ή αναγνωριστικό προγράμματος-πελάτη) και αποθηκεύει το αναγνωριστικό ως αναγνωριστικό ασφαλείας (SID) του χρήστη στα μετα-δεδομένα SQL. Πρέπει να είστε μέλος του ρόλου Directory Readers στο Microsoft Entra όταν χρησιμοποιείτε τον FROM EXTERNAL PROVIDER
όρο . Τα παρακάτω δείγματα δεσμών ενεργειών T-SQL χρησιμοποιούν FROM EXTERNAL PROVIDER
το για τη δημιουργία ενός χρήστη που βασίζεται σε έναν χρήστη Microsoft Entra, μια κύρια υπηρεσία στο Microsoft Entra ή μια ομάδα στο Microsoft Entra.
-- Create a user for a Microsoft Entra user
CREATE USER [alice@contoso.com] FROM EXTERNAL PROVIDER;
-- Create a user for a service principal in Microsoft Entra
CREATE USER [HRApp] FROM EXTERNAL PROVIDER;
-- Create a user for a group in Microsoft Entra
CREATE USER [HR] FROM EXTERNAL PROVIDER;
Δημιουργία χρηστών βάσης δεδομένων κατά τη σύνδεση ως κύρια υπηρεσία Microsoft Entra
Όταν μια εφαρμογή συνδέεται σε μια βάση δεδομένων με μια κύρια υπηρεσία, η εφαρμογή πρέπει να εκδώσει CREATE USER
τους όρους SID και TYPE για να δημιουργήσει χρήστες για τις οντότητες Microsoft Entra. Το καθορισμένο κύριο όνομα δεν επικυρώνεται στο Microsoft Entra. Είναι ευθύνη της εφαρμογής (προγραμματιστής εφαρμογών) να παρέχει ένα έγκυρο όνομα και ένα έγκυρο SID και έναν τύπο αντικειμένου χρήστη.
Εάν η καθορισμένη αρχή είναι χρήστης ή ομάδα στο Microsoft Entra, το SID πρέπει να είναι ένα αναγνωριστικό αντικειμένου αυτού του χρήστη ή της ομάδας στο Microsoft Entra. Εάν η καθορισμένη αρχή είναι μια κύρια υπηρεσία στο Microsoft Entra, το SID πρέπει να είναι ένα αναγνωριστικό εφαρμογής (αναγνωριστικό προγράμματος-πελάτη) της κύριας υπηρεσίας στο Microsoft Entra. Τα αναγνωριστικά αντικειμένων και τα αναγνωριστικά εφαρμογών (αναγνωριστικά προγράμματος-πελάτη) που λαμβάνονται από το Microsoft Entra πρέπει να μετατραπούν σε δυαδικά (16).
Η τιμή του ορίσματος TYPE
πρέπει να είναι:
E
- εάν η καθορισμένη αρχή Microsoft Entra είναι χρήστης ή κύρια υπηρεσία.X
- εάν η καθορισμένη αρχή Microsoft Entra είναι ομάδα.
Το παρακάτω παράδειγμα δέσμης ενεργειών T-SQL δημιουργεί έναν χρήστη βάσης δεδομένων για τον χρήστη Microsoft Entra, με το όνομα bob@contoso.com
, ορίζοντας το SID του νέου χρήστη στο αναγνωριστικό αντικειμένου του χρήστη Microsoft Entra. Το μοναδικό αναγνωριστικό του αναγνωριστικού αντικειμένου του χρήστη μετατρέπεται και, στη συνέχεια, συνενώνεται σε μια CREATE USER
πρόταση. Αντικαταστήστε <unique identifier sid>
το με το αναγνωριστικό αντικειμένου του χρήστη στο Microsoft Entra.
DECLARE @principal_name SYSNAME = 'bob@contoso.com';
DECLARE @objectId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- user's object ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castObjectId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @objectId), 1);
-- Construct command: CREATE USER [@principal_name] WITH SID = @castObjectId, TYPE = E;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @principal_name + '] WITH SID = ' + @castObjectId + ', TYPE = E;'
EXEC (@cmd);
Το παρακάτω παράδειγμα δημιουργεί έναν χρήστη βάσης δεδομένων για την κύρια υπηρεσία Microsoft Entra, με την ονομασία HRApp
, ορίζοντας το SID του νέου χρήστη στο αναγνωριστικό προγράμματος-πελάτη της κύριας υπηρεσίας στο Microsoft Entra.
DECLARE @principal_name SYSNAME = 'HRApp';
DECLARE @clientId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- principal's client ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castClientId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @clientId), 1);
-- Construct command: CREATE USER [@principal_name] WITH SID = @castClientId, TYPE = E;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @principal_name + '] WITH SID = ' + @castClientId + ', TYPE = E;'
EXEC (@cmd);
Το παρακάτω παράδειγμα δημιουργεί έναν χρήστη βάσης δεδομένων για την ομάδα Microsoft Entra, με το όνομα HR
, ορίζοντας το SID του νέου χρήστη στο αναγνωριστικό αντικειμένου της ομάδας.
DECLARE @group_name SYSNAME = 'HR';
DECLARE @objectId UNIQUEIDENTIFIER = '<unique identifier sid>'; -- principal's object ID in Microsoft Entra
-- Convert the guid to the right type
DECLARE @castObjectId NVARCHAR(MAX) = CONVERT(VARCHAR(MAX), CONVERT (VARBINARY(16), @objectId), 1);
-- Construct command: CREATE USER [@groupName] WITH SID = @castObjectId, TYPE = X;
DECLARE @cmd NVARCHAR(MAX) = N'CREATE USER [' + @principal_name + '] WITH SID = ' + @castObjectId + ', TYPE = X;'
EXEC (@cmd);
Περιορισμοί
- Το Microsoft Entra ID είναι η μοναδική βάση δεδομένων SQL υπηρεσίας παροχής ταυτότητας που υποστηρίζεται από το Fabric. Συγκεκριμένα, ο έλεγχος ταυτότητας SQL δεν υποστηρίζεται.
- Οι συνδέσεις (οντότητες διακομιστή) δεν υποστηρίζονται.
Σχετικό περιεχόμενο
- ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ (Transact-SQL)
- ΑΛΛΑΞΕΤΕ ΧΡΗΣΤΗ (Transact-SQL)
- ΧΡΗΣΤΗ ΑΠΟΘΕΣΗΣ (Transact-SQL)
- Δημιουργία χρήστη βάσης δεδομένων
- Συνδέσεις microsoft Entra και χρήστες με μη δυναμικά εμφανιζόμενα ονόματα (προεπισκόπηση)
- Εξουσιοδότηση στη βάση δεδομένων SQL στο Microsoft Fabric
- Σύνδεση στη βάση δεδομένων SQL σας στο Microsoft Fabric