Bagikan melalui


Autentikasi Microsoft Entra sebagai alternatif untuk autentikasi SQL

Berlaku untuk:✅ Titik akhir analitik SQL dan Gudang di Microsoft Fabric

Artikel ini membahas metode teknis yang dapat digunakan pengguna dan pelanggan untuk beralih dari autentikasi SQL ke autentikasi Microsoft Entra dalam Microsoft Fabric. Autentikasi Microsoft Entra adalah alternatif untuk nama pengguna dan kata sandi melalui autentikasi SQL untuk masuk ke titik akhir analitik SQL lakehouse atau Gudang di Microsoft Fabric. Autentikasi Microsoft Entra disarankan dan penting untuk membuat platform data yang aman.

Artikel ini berfokus pada autentikasi Microsoft Entra sebagai alternatif untuk autentikasi SQL dalam item Microsoft Fabric seperti titik akhir analitik Warehouse atau Lakehouse SQL.

Manfaat autentikasi Microsoft Entra di Fabric

Salah satu prinsip inti Microsoft Fabric adalah aman berdasarkan desain. Microsoft Entra terintegrasi dengan keamanan Microsoft Fabric dengan memastikan perlindungan, tata kelola, dan kepatuhan data yang kuat.

Microsoft Entra memainkan peran penting dalam keamanan Microsoft Fabric karena beberapa alasan:

  • Autentikasi: Verifikasi pengguna dan perwakilan layanan menggunakan ID Microsoft Entra, yang memberikan token akses untuk operasi dalam Fabric.
  • Akses aman: Sambungkan dengan aman ke aplikasi cloud dari perangkat atau jaringan apa pun, melindungi permintaan yang dibuat ke Fabric.
  • Akses bersyarat: Admin dapat mengatur kebijakan yang menilai konteks pengguna, mengontrol akses, atau menerapkan langkah-langkah verifikasi tambahan.
  • Integrasi: MICROSOFT Entra ID bekerja dengan mulus dengan semua penawaran Microsoft SaaS, termasuk Fabric, memungkinkan akses mudah di seluruh perangkat dan jaringan.
  • Platform luas: Dapatkan akses ke Microsoft Fabric dengan MICROSOFT Entra ID melalui metode apa pun, baik melalui portal Fabric, SQL string koneksi, REST API, atau titik akhir XMLA.

Microsoft Entra mengadopsi kebijakan Zero Trust lengkap, menawarkan alternatif unggul untuk autentikasi SQL tradisional terbatas pada nama pengguna dan kata sandi. Pendekatan ini:

  • Mencegah peniruan identitas pengguna.
  • Memungkinkan kontrol akses menenangkan mengingat identitas pengguna, lingkungan, perangkat, dll.
  • Mendukung keamanan tingkat lanjut seperti autentikasi multifaktor Microsoft Entra.

Konfigurasi fabric

Autentikasi Microsoft Entra untuk digunakan dengan titik akhir analitik Warehouse atau Lakehouse SQL memerlukan konfigurasi di pengaturan Penyewa dan Ruang Kerja.

Pengaturan penyewa

Admin Fabric di penyewa Anda harus mengizinkan akses nama prinsipal layanan (SPN) ke FABRIC API, yang diperlukan agar SPN dapat berinteraksi untuk string koneksi SQL ke item titik akhir gudang Fabric atau analitik SQL.

Pengaturan ini terletak di bagian Pengaturan pengembang dan diberi label Perwakilan layanan dapat menggunakan FABRIC API. Pastikan diaktifkan.

Cuplikan layar dari portal Fabric halaman Pengaturan Pengembang di Pengaturan Penyewa.

Pengaturan ruang kerja

Admin Fabric di ruang kerja Anda harus memberikan akses bagi pengguna atau SPN untuk mengakses item Fabric.

Ada dua cara di mana Pengguna atau SPN dapat diberikan akses:

  • Memberikan keanggotaan pengguna atau SPN ke peran: Peran ruang kerja apa pun (Admin, Anggota, Kontributor, atau Penampil) cukup untuk terhubung ke item gudang atau lakehouse dengan string koneksi SQL.

    1. Di opsi Kelola akses di Ruang Kerja, tetapkan peran Kontributor. Untuk informasi selengkapnya, lihat Peran layanan.
  • Menetapkan pengguna atau SPN ke item tertentu: Memberikan akses ke titik akhir analitik Gudang atau SQL tertentu dari Lakehouse. Admin Fabric dapat memilih dari tingkat izin yang berbeda.

    1. Navigasikan ke item titik akhir analitik Gudang atau SQL yang relevan.
    2. Pilih Opsi lainnya, lalu Kelola Izin. Pilih Tambahkan Pengguna.
    3. Tambahkan Pengguna atau SPN di halaman Beri orang akses.
    4. Tetapkan izin yang diperlukan untuk Pengguna atau SPN. Pilih tidak ada Izin tambahan untuk memberikan izin sambungkan saja.

    Cuplikan layar dari portal Fabric dari halaman Akses beri orang.

Anda dapat mengubah izin default yang diberikan kepada Pengguna atau SPN oleh sistem. Gunakan perintah T-SQL GRANT dan DENY untuk mengubah izin sesuai kebutuhan, atau UBAH PERAN untuk menambahkan keanggotaan ke peran.

Saat ini, SPN tidak memiliki kemampuan sebagai akun pengguna untuk konfigurasi izin terperinci dengan GRANT/DENY.

Dukungan untuk identitas pengguna dan nama perwakilan layanan (SPN)

Fabric secara asli mendukung autentikasi dan otorisasi untuk pengguna Microsoft Entra dan nama perwakilan layanan (SPN) dalam koneksi SQL ke item titik akhir analitik gudang dan SQL.

  • Identitas pengguna adalah kredensial unik untuk setiap pengguna dalam organisasi.
  • SPN mewakili objek aplikasi dalam penyewa dan bertindak sebagai identitas untuk instans aplikasi, mengambil peran mengautentikasi dan mengotorisasi aplikasi tersebut.

Dukungan untuk aliran data tabular (TDS)

Fabric menggunakan protokol Tabular Data Stream (TDS), sama seperti SQL Server, saat Anda terhubung dengan string koneksi.

Fabric kompatibel dengan aplikasi atau alat apa pun yang dapat terhubung ke produk dengan SQL Database Engine. Mirip dengan koneksi instans SQL Server, TDS beroperasi pada port TCP 1433. Untuk informasi selengkapnya tentang konektivitas Fabric SQL dan menemukan string koneksi SQL, lihat Konektivitas.

Contoh string koneksi SQL terlihat seperti: <guid_unique_your_item>.datawarehouse.fabric.microsoft.com.

Aplikasi dan alat klien dapat mengatur Authentication properti koneksi di string koneksi untuk memilih mode autentikasi Microsoft Entra. Tabel berikut merinci berbagai mode autentikasi Microsoft Entra, termasuk dukungan untuk autentikasi multifaktor (MFA) Microsoft Entra.

Mode autentikasi Skenario Komentar
Microsoft Entra Interactive Digunakan oleh aplikasi atau alat dalam situasi di mana autentikasi pengguna dapat terjadi secara interaktif, atau ketika dapat diterima untuk memiliki intervensi manual untuk verifikasi kredensial. Aktifkan kebijakan MFA dan Microsoft Entra Conditional Access untuk menegakkan aturan organisasi.
Perwakilan Layanan Microsoft Entra Digunakan oleh aplikasi untuk autentikasi aman tanpa intervensi manusia, paling cocok untuk integrasi aplikasi. Disarankan untuk mengaktifkan kebijakan Microsoft Entra Conditional Access.
Kata Sandi Microsoft Entra Ketika aplikasi tidak dapat menggunakan autentikasi berbasis SPN karena ketidaksesuaian, atau memerlukan nama pengguna dan kata sandi generik untuk banyak pengguna, atau jika metode lain tidak layak. MFA harus nonaktif, dan tidak ada kebijakan akses bersyarah yang dapat ditetapkan. Sebaiknya validasi dengan tim keamanan pelanggan sebelum memilih solusi ini.

Diagram Alir memperlihatkan mode autentikasi Microsoft Entra dan titik keputusan.

Dukungan driver untuk autentikasi Microsoft Entra

Meskipun sebagian besar driver SQL awalnya datang dengan dukungan untuk autentikasi Microsoft Entra, pembaruan terbaru telah memperluas kompatibilitas untuk menyertakan autentikasi berbasis SPN. Peningkatan ini menyederhanakan pergeseran ke autentikasi Microsoft Entra untuk berbagai aplikasi dan alat melalui peningkatan driver dan menambahkan dukungan untuk autentikasi Microsoft Entra.

Namun, terkadang perlu untuk menyesuaikan pengaturan tambahan seperti mengaktifkan port atau firewall tertentu untuk memfasilitasi autentikasi Microsoft Entra pada komputer host.

Aplikasi dan alat harus meningkatkan driver ke versi yang mendukung autentikasi Microsoft Entra dan menambahkan kata kunci mode autentikasi di string koneksi SQL mereka, seperti ActiveDirectoryInteractive, ActiveDirectoryServicePrincipal, atau ActiveDirectoryPassword.

Fabric kompatibel dengan driver asli Microsoft, termasuk OLE DB, Microsoft.Data.SqlClient, dan driver generik seperti ODBC dan JDBC. Transisi aplikasi untuk bekerja dengan Fabric dapat dikelola melalui konfigurasi ulang untuk menggunakan autentikasi berbasis ID Microsoft Entra.

Untuk informasi selengkapnya, lihat Konektivitas ke pergudangan data di Microsoft Fabric.

Microsoft OLE DB

Driver OLE DB untuk SQL Server adalah API akses data mandiri yang dirancang untuk OLE DB dan pertama kali dirilis dengan SQL Server 2005 (9.x). Karena, fitur yang diperluas termasuk autentikasi berbasis SPN dengan versi 18.5.0, menambahkan ke metode autentikasi yang ada dari versi sebelumnya.

Mode autentikasi String koneksi SQL
Microsoft Entra Interactive Autentikasi interaktif Microsoft Entra
Perwakilan Layanan Microsoft Entra Autentikasi Perwakilan Layanan Microsoft Entra
Kata Sandi Microsoft Entra Autentikasi nama pengguna dan kata sandi Microsoft Entra

Untuk cuplikan kode C# menggunakan OLE DB dengan autentikasi berbasis SPN, lihat System.Data.OLEDB.Connect.cs.

Microsoft ODBC Driver

Driver Microsoft ODBC untuk SQL Server adalah pustaka tautan dinamis tunggal (DLL) yang berisi dukungan run-time untuk aplikasi menggunakan API kode asli untuk terhubung ke SQL Server. Disarankan untuk menggunakan versi terbaru untuk aplikasi yang akan diintegrasikan dengan Fabric.

Untuk informasi selengkapnya tentang autentikasi Microsoft Entra dengan ODBC, lihat Menggunakan ID Microsoft Entra dengan kode sampel Driver ODBC.

Mode Autentikasi String Koneksi SQL
Microsoft Entra Interactive DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DB Name>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryInteractive
Perwakilan Layanan Microsoft Entra DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryServicePrincipal
Kata Sandi Microsoft Entra DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryPassword

Untuk cuplikan kode python menggunakan ODBC dengan autentikasi berbasis SPN, lihat pyodbc-dw-connectivity.py.

Microsoft JDBC Driver

Driver Microsoft JDBC untuk SQL Server adalah driver JDBC Tipe 4 yang menyediakan konektivitas database melalui antarmuka program aplikasi (API) JDBC standar yang tersedia di platform Java.

Mulai dari versi 9.2, mssql-jdbc memperkenalkan dukungan untuk ActiveDirectoryInteractive dan ActiveDirectoryServicePrincipal, dengan ActiveDirectoryPassword didukung dalam versi 12.2 ke atas. Driver ini memerlukan jar tambahan sebagai dependensi, yang harus kompatibel dengan versi yang mssql-driver digunakan dalam aplikasi Anda. Untuk informasi selengkapnya, lihat dependensi Fitur dari Driver Microsoft JDBC dan persyaratan penyiapan Klien .

Mode Autentikasi Informasi selengkapnya
Microsoft Entra Interactive Menyambungkan menggunakan mode autentikasi ActiveDirectoryInteractive
Perwakilan Layanan Microsoft Entra Menyambungkan menggunakan mode autentikasi ActiveDirectoryServicePrincipal
Kata Sandi Microsoft Entra Menyambungkan menggunakan mode autentikasi ActiveDirectoryPassword

Untuk cuplikan kode java menggunakan JDBC dengan autentikasi berbasis SPN, lihat fabrictoolbox/dw_connect.java dan sampel file pom pom.xml.

Microsoft.Data.SqlClient di .NET

Pustaka ini Microsoft.Data.SqlClient adalah penyedia data lintas platform yang lebih baru yang mendukung SQL Server, dirancang untuk menggantikan System.Data.SqlClient yang lebih lama yang hanya untuk Windows.

Platform yang didukung:

  • .NET 8.0 dan yang lebih baru
  • .NET Framework 4.6.2 dan yang lebih baru

Microsoft.Data.SqlClient adalah penyatuan dua komponen System.Data.SqlClient, menyediakan serangkaian kelas untuk mengakses database SQL Database Engine. Disarankan agar Microsoft.Data.SqlClient digunakan untuk semua pengembangan baru.

Mode Autentikasi Informasi selengkapnya
Microsoft Entra Interactive Menggunakan autentikasi interaktif
Perwakilan Layanan Microsoft Entra Menggunakan autentikasi perwakilan layanan
Kata Sandi Microsoft Entra Menggunakan Autentikasi Kata Sandi

Cuplikan kode menggunakan SPN: