Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Aplikasi ke:✅SQL database di Microsoft Fabric
Artikel ini menjelaskan autentikasi untuk database SQL.
Seperti jenis item Microsoft Fabric lainnya, database SQL mengandalkan autentikasi Microsoft Entra.
Agar berhasil mengautentikasi ke database SQL, pengguna Microsoft Entra, principal layanan, atau grup mereka, harus memiliki izin Baca Item untuk database di Fabric. Untuk informasi tentang cara memberikan akses identitas Microsoft Entra ke ruang kerja Fabric atau database tertentu, lihat kontrol akses Fabric.
Untuk menemukan connection string ke database SQL Anda di Fabric, lihat Koneksikan ke database SQL Anda di Microsoft Fabric.
Catatan
Untuk mengaktifkan perwakilan layanan agar terhubung ke Fabric dan ke database SQL, Anda juga perlu mengaktifkan perwakilan Layanan dapat menggunakan pengaturan penyewa Fabric API Fabric. Untuk mempelajari cara mengaktifkan pengaturan penyewa, lihat Pengaturan Penyewa Fabric.
Menyambungkan ke database SQL menggunakan autentikasi Microsoft Entra
Anda bisa menyambungkan ke database menggunakan autentikasi Microsoft Entra dengan:
- Alat SQL yang mendukung autentikasi Microsoft Entra, termasuk SQL Server Management Studio dan ekstensi MSSQL untuk Visual Studio Code.
- Aplikasi yang menggunakan driver klien SQL yang mendukung autentikasi Microsoft Entra, termasuk SqlClient, JDBC, ODBC, dan OLE DB.
Aplikasi dan alat harus meningkatkan driver ke versi yang mendukung autentikasi Microsoft Entra dan menambahkan kata kunci mode autentikasi di SQL connection string, seperti ActiveDirectoryInteractive, ActiveDirectoryServicePrincipal, atau ActiveDirectoryPassword.
Buat pengguna basis data untuk identitas Microsoft Entra
Jika Anda berencana untuk mengonfigurasi kontrol akses SQL dengan Transact-SQL, Pertama-tama Anda perlu membuat pengguna database yang sesuai dengan identitas Microsoft Entra Anda - pengguna, perwakilan layanan, atau grup mereka - dengan BUAT PENGGUNA (Transact-SQL).
Membuat pengguna database tidak diperlukan jika Anda menggunakan kontrol akses Fabric (peran dalam ruang kerja atau izin untuk item). Anda tidak perlu membuat pengguna ketika Anda mengelola peran tingkat database SQL dari portal Fabric - portal akan secara otomatis membuat pengguna saat diperlukan.
Membuat pengguna database saat tersambung sebagai pengguna Microsoft Entra
Saat tersambung ke database Anda sebagai pengguna Microsoft Entra, Anda harus menggunakan CREATE USER dengan klausul DARI PENYEDIA EKSTERNAL untuk membuat pengguna untuk prinsipal Microsoft Entra.
FROM EXTERNAL PROVIDER memvalidasi nama utama yang ditentukan dengan Microsoft Entra, mengambil pengidentifikasi utama (ID objek pengguna atau grup, ID aplikasi, atau ID klien), dan menyimpan pengidentifikasi sebagai pengidentifikasi keamanan pengguna (SID) dalam metadata SQL. Anda harus menjadi anggota peran Directory Readers di Microsoft Entra saat menggunakan klausa FROM EXTERNAL PROVIDER. Contoh skrip T-SQL berikut menggunakan FROM EXTERNAL PROVIDER untuk membuat pengguna berdasarkan pengguna Microsoft Entra, perwakilan layanan di Microsoft Entra, atau grup di 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;
Buat pengguna basis data saat terhubung sebagai perwakilan layanan Microsoft Entra
Ketika sebuah aplikasi terhubung ke database dengan perwakilan layanan, aplikasi harus mengeluarkan CREATE USER dengan klausa SID dan TYPE untuk membuat pengguna bagi prinsipal Microsoft Entra. Nama utama yang ditentukan tidak divalidasi dalam Microsoft Entra. Ini adalah tanggung jawab aplikasi (pengembang aplikasi) untuk memberikan nama yang valid dan SID yang valid dan jenis objek pengguna.
Jika prinsipal yang ditentukan adalah pengguna atau grup di Microsoft Entra, SID harus menjadi ID objek pengguna atau grup tersebut di Microsoft Entra. Jika perwakilan yang ditentukan adalah perwakilan layanan dalam Microsoft Entra, SID harus berupa ID aplikasi (ID klien) dari perwakilan layanan di Microsoft Entra. ID objek dan ID aplikasi (ID klien) yang diperoleh dari Microsoft Entra harus dikonversi ke binary(16).
Nilai TYPE argumen harus:
-
E- jika perwakilan Microsoft Entra yang ditentukan adalah pengguna atau perwakilan layanan. -
X- jika prinsipal Microsoft Entra yang ditentukan adalah suatu grup.
Contoh skrip T-SQL berikut membuat pengguna database untuk pengguna Microsoft Entra, bernama bob@contoso.com, mengatur SID pengguna baru ke ID objek pengguna Microsoft Entra. Pengidentifikasi unik ID objek pengguna dikonversi lalu digabungkan menjadi CREATE USER pernyataan. Ganti <unique identifier sid> dengan ID objek pengguna di 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);
Contoh berikut membuat pengguna database untuk perwakilan layanan Microsoft Entra, bernama HRApp, mengatur SID pengguna baru ke ID klien perwakilan layanan di 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);
Contoh berikut membuat pengguna database untuk grup Microsoft Entra, bernama HR, mengatur SID pengguna baru ke ID objek grup.
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 [' + @group_name + '] WITH SID = ' + @castObjectId + ', TYPE = X;'
EXEC (@cmd);
Batasan
- Microsoft Entra ID adalah satu-satunya database SQL penyedia identitas di Fabric yang mendukung. Secara khusus, autentikasi SQL tidak didukung.
- Login (prinsipal server) tidak didukung.
- Saat ini, satu-satunya kebijakan koneksi yang didukung untuk database SQL di Microsoft Fabric adalah Default. Untuk informasi selengkapnya, lihat kebijakan Koneksi .
Konten terkait
- Buat PENGGUNA (Transact-SQL)
- ALTER USER (Transact-SQL)
- DROP USER (Transact-SQL)
- Membuat pengguna database
- Login masuk Microsoft Entra dan pengguna dengan nama tampilan tidak unik (pratinjau)
- Authorization dalam database SQL di Microsoft Fabric
- Hubungkan ke database SQL Anda di Microsoft Fabric