Mengonfigurasi dan mengelola autentikasi Microsoft Entra dengan Azure SQL
Berlaku untuk: Azure SQL Database Azure SQL Managed InstanceAzure Synapse Analytics
Artikel ini memperlihatkan kepada Anda cara menggunakan ID Microsoft Entra untuk autentikasi dengan Azure SQL Database, Azure SQL Managed Instance, dan Azure Synapse Analytics.
Catatan
ID Microsoft Entra sebelumnya dikenal sebagai Azure Active Directory (Azure AD).
Atau, Anda juga dapat mengonfigurasi autentikasi Microsoft Entra untuk SQL Server di Azure Virtual Machines.
Prasyarat
Untuk menggunakan autentikasi Microsoft Entra dengan sumber daya Azure SQL, Anda memerlukan prasyarat berikut:
- Penyewa Microsoft Entra yang diisi dengan pengguna dan grup.
- Sumber daya Azure SQL yang sudah ada, seperti Azure SQL Database, atau Azure SQL Managed Instance.
Membuat dan mengisi penyewa Microsoft Entra
Sebelum dapat mengonfigurasi autentikasi Microsoft Entra untuk sumber daya Azure SQL, Anda perlu membuat penyewa Microsoft Entra dan mengisinya dengan pengguna dan grup. Penyewa Microsoft Entra dapat dikelola sepenuhnya dalam Azure atau digunakan untuk federasi Active Directory lokal Domain Service.
Untuk informasi selengkapnya, lihat:
- Apa itu ID Microsoft Entra?
- Mengintegrasikan identitas lokal Anda dengan ID Microsoft Entra
- Menambahkan nama domain Anda ke ID Microsoft Entra
- Apa itu federasi dengan ID Microsoft Entra?
- Sinkronisasi direktori dengan ID Microsoft Entra
- Mengelola ID Microsoft Entra menggunakan Windows PowerShell
- Port dan Protokol yang Diperlukan Identitas Hibrid
Mengatur admin Microsoft Entra
Untuk menggunakan autentikasi Microsoft Entra dengan sumber daya Anda, perlu mengatur administrator Microsoft Entra. Meskipun secara konseptual langkah-langkahnya sama untuk Azure SQL Database, Azure Synapse Analytics, dan Azure SQL Managed Instance, bagian ini menjelaskan secara rinci berbagai API dan pengalaman portal untuk melakukannya per produk.
Admin Microsoft Entra juga dapat dikonfigurasi saat sumber daya Azure SQL dibuat. Jika admin Microsoft Entra sudah dikonfigurasi, lewati bagian ini.
Azure SQL Database dan Azure Synapse Analytics
Mengatur admin Microsoft Entra memungkinkan autentikasi Microsoft Entra untuk server logis Anda untuk Azure SQL Database dan Azure Synapse Analytics. Anda dapat mengatur admin Microsoft Entra untuk server Anda dengan menggunakan api portal Azure, PowerShell, Azure CLI, atau REST.
Di portal Azure, Anda dapat menemukan nama server logis
- Di bidang nama server pada halaman Gambaran Umum Azure SQL Database.
- Di bidang nama server di halaman Gambaran Umum kumpulan SQL khusus mandiri Anda di Azure Synapse Analytics.
- Di titik akhir SQL yang relevan di halaman Gambaran Umum ruang kerja Azure Synapse Analytics Anda.
Untuk mengatur admin Microsoft Entra untuk server logis Anda di portal Azure, ikuti langkah-langkah berikut:
Di panel portal Azure Direktori + langganan, pilih direktori yang berisi sumber daya Azure SQL Anda sebagai direktori Saat ini.
Cari server SQL lalu pilih server logis untuk sumber daya database Anda untuk membuka panel server SQL.
Pada panel server SQL untuk server logis Anda, pilih ID Microsoft Entra di bawah Pengaturan untuk membuka panel ID Microsoft Entra.
Pada panel ID Microsoft Entra, pilih Atur admin untuk membuka panel ID Microsoft Entra.
Panel ID Microsoft Entra memperlihatkan semua pengguna, grup, dan aplikasi di direktori Anda saat ini dan memungkinkan Anda mencari berdasarkan nama, alias, atau ID. Temukan identitas yang Anda inginkan untuk admin Microsoft Entra Anda dan pilih identitas tersebut, lalu klik Pilih untuk menutup panel.
Di bagian atas halaman ID Microsoft Entra untuk server logis Anda, pilih Simpan.
ID Objek ditampilkan di samping nama admin untuk pengguna dan grup Microsoft Entra. Untuk aplikasi (perwakilan layanan), ID Aplikasi ditampilkan.
Proses mengubah administrator mungkin memakan waktu beberapa menit. Kemudian administrator baru muncul di bidang admin Microsoft Entra.
Untuk menghapus admin, di bagian atas halaman ID Microsoft Entra, pilih Hapus admin, lalu pilih Simpan. Menghapus admin Microsoft Entra menonaktifkan autentikasi Microsoft Entra untuk server logis Anda.
Catatan
Admin Microsoft Entra disimpan dalam database server master
sebagai pengguna (prinsipal database). Karena nama utama database harus unik, nama tampilan admin tidak boleh sama dengan nama pengguna mana pun di database server master
. Jika pengguna dengan nama sudah ada, penyiapan admin Microsoft Entra gagal dan digulung balik, menunjukkan bahwa nama sudah digunakan.
Instans Terkelola Azure SQL
Mengatur admin Microsoft Entra memungkinkan autentikasi Microsoft Entra untuk Azure SQL Managed Instance. Anda dapat mengatur admin Microsoft Entra untuk instans terkelola SQL Anda dengan menggunakan api portal Azure, PowerShell, Azure CLI, atau REST.
Untuk memberikan izin baca instans terkelola SQL Anda ke MICROSOFT Entra ID dengan menggunakan portal Azure, masuk sebagai Administrator Global atau Administrator Peran Istimewa dan ikuti langkah-langkah berikut:
Di portal Azure, di sudut kanan atas pilih akun Anda, lalu pilih Alihkan direktori untuk mengonfirmasi direktori mana yang menjadi direktori Anda saat ini. Beralih direktori, jika perlu.
Di panel portal Azure Direktori + langganan, pilih direktori yang berisi instans terkelola Anda sebagai Direktori saat ini.'''
Cari instans terkelola SQL lalu pilih instans terkelola Anda untuk membuka panel instans terkelola SQL. Kemudian, pilih ID Microsoft Entra di bawah Pengaturan untuk membuka panel ID Microsoft Entra untuk instans Anda.
Pada panel admin Microsoft Entra, pilih Atur admin dari bilah navigasi untuk membuka panel ID Microsoft Entra.
Pada panel ID Microsoft Entra, cari pengguna, centang kotak di samping pengguna atau grup untuk menjadi administrator, lalu tekan Pilih untuk menutup panel dan kembali ke halaman admin Microsoft Entra untuk instans terkelola Anda.
Panel ID Microsoft Entra memperlihatkan semua anggota dan grup dalam direktori Anda saat ini. Pengguna atau grup berwarna abu-abu tidak dapat dipilih karena mereka tidak didukung sebagai administrator Microsoft Entra. Pilih identitas yang ingin Anda tetapkan sebagai administrator Anda.
Dari bilah navigasi halaman admin Microsoft Entra untuk instans terkelola Anda, pilih Simpan untuk mengonfirmasi administrator Microsoft Entra Anda.
Setelah operasi perubahan administrator selesai, administrator baru muncul di bidang admin Microsoft Entra.
ID Objek ditampilkan di samping nama admin untuk pengguna dan grup Microsoft Entra. Untuk aplikasi (perwakilan layanan), ID Aplikasi ditampilkan.
Tip
Untuk menghapus admin, pilih Hapus admin di bagian atas halaman ID Microsoft Entra, lalu pilih Simpan.
Menetapkan izin Microsoft Graph
SQL Managed Instance memerlukan izin untuk membaca ID Microsoft Entra untuk skenario seperti mengotorisasi pengguna yang terhubung melalui keanggotaan grup keamanan dan pembuatan pengguna baru. Agar autentikasi Microsoft Entra berfungsi, Anda perlu menetapkan identitas instans terkelola ke peran Pembaca Direktori. Anda dapat melakukan ini dengan menggunakan portal Microsoft Azure atau PowerShell.
Untuk beberapa operasi, Azure SQL Database dan Azure Synapse Analytics juga memerlukan izin untuk mengkueri Microsoft Graph, yang dijelaskan dalam izin Microsoft Graph. Azure SQL Database dan Azure Synapse Analytics mendukung izin Grafik terperindas untuk skenario ini, sedangkan SQL Managed Instance memerlukan peran Pembaca Direktori. Izin mendetail dan penugasannya dijelaskan secara rinci dalam mengaktifkan perwakilan layanan untuk membuat pengguna Microsoft Entra.
Peran Pembaca Direktori
Halaman ID Microsoft Entra untuk SQL Managed Instance di portal Azure menampilkan banner yang nyaman saat instans tidak diberi izin Pembaca Direktori.
Pilih banner di atas halaman ID Microsoft Entra dan berikan izin ke identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna yang mewakili instans Anda. Hanya Administrator Global atau Administrator Peran Istimewa di penyewa Anda yang dapat melakukan operasi ini.
Saat operasi berhasil, pemberitahuan Berhasil muncul di sudut kanan atas:
Admin Microsoft Entra sekarang dapat digunakan untuk membuat prinsipal server Microsoft Entra (masuk) dan prinsipal database (pengguna). Untuk informasi selengkapnya, lihat Integrasi Microsoft Entra dengan Azure SQL Managed Instance.
Membuat perwakilan Microsoft Entra di SQL
Untuk menyambungkan ke database di SQL Database atau Azure Synapse Analytics dengan autentikasi Microsoft Entra, prinsipal harus dikonfigurasi pada database untuk identitas tersebut CONNECT
dengan setidaknya izin.
Izin pengguna database
Saat pengguna database dibuat, pengguna tersebut menerima izin CONNECT ke database secara default. Pengguna database juga mewarisi izin dalam dua keadaan:
- Jika pengguna adalah anggota grup Microsoft Entra yang juga diberi izin di server.
- Jika pengguna dibuat dari login, pengguna akan mewarisi izin masuk yang ditetapkan server yang berlaku pada database.
Mengelola izin untuk server dan prinsipal database berfungsi sama terlepas dari jenis prinsipal (ID Microsoft Entra, autentikasi SQL, dll.). Sebaiknya berikan izin ke peran database alih-alih secara langsung memberikan izin kepada pengguna. Kemudian pengguna dapat ditambahkan ke peran dengan izin yang sesuai. Ini menyederhanakan manajemen izin jangka panjang dan mengurangi kemungkinan identitas mempertahankan akses sebelumnya jika sesuai.
Untuk informasi selengkapnya, lihat:
- Izin dan contoh mesin database
- Blog: Dasar-dasar izin Mesin Database
- Mengelola peran dan login database khusus di Azure SQL Database
Pengguna database mandiri
Pengguna database mandiri adalah jenis pengguna SQL yang tidak tersambung ke login dalam master
database. Untuk membuat pengguna database mandiri Microsoft Entra, sambungkan ke database dengan identitas Microsoft Entra yang memiliki setidaknya izin UBAH PENGGUNA APA PUN. Contoh T-SQL berikut membuat prinsipal Microsoft_Entra_principal_name
database dari ID Microsoft Entra.
CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;
Untuk membuat pengguna database mandiri untuk grup Microsoft Entra, masukkan nama tampilan grup:
CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;
Untuk membuat pengguna database mandiri untuk identitas terkelola atau perwakilan layanan, masukkan nama tampilan identitas:
CREATE USER [appName] FROM EXTERNAL PROVIDER;
Untuk membuat pengguna database mandiri untuk pengguna Microsoft Entra, masukkan nama prinsipal pengguna identitas:
CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;
Pengguna berbasis login
Catatan
Prinsipal server Microsoft Entra (login) saat ini berada dalam pratinjau publik untuk Azure SQL Database dan Azure Synapse Analytics. Login Microsoft Entra umumnya tersedia untuk Azure SQL Managed Instance dan SQL Server 2022.
Prinsipal server Microsoft Entra (atau login) didukung, yang berarti pengguna database yang terkandung tidak diperlukan. Prinsipal database (pengguna) dapat dibuat berdasarkan prinsipal server, yang berarti pengguna Microsoft Entra dapat mewarisi izin masuk tingkat server yang ditetapkan.
CREATE USER [appName] FROM LOGIN [appName];
Untuk informasi selengkapnya, lihat Ikhtisar SQL Managed Instance. Untuk sintaksis tentang membuat prinsipal server Microsoft Entra (masuk), lihat MEMBUAT LOGIN.
Pengguna eksternal
Anda tidak dapat langsung membuat pengguna database untuk identitas yang dikelola di penyewa Microsoft Entra yang berbeda dari yang terkait dengan langganan Azure Anda. Namun, pengguna di direktori lain dapat diimpor ke direktori terkait sebagai pengguna eksternal. Mereka kemudian dapat digunakan untuk membuat pengguna database mandiri yang dapat mengakses database. Pengguna eksternal juga dapat memperoleh akses melalui keanggotaan di grup Microsoft Entra.
Contoh: Untuk membuat pengguna database mandiri yang mewakili pengguna domain terfederasi atau terkelola Microsoft Entra:
CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;
Akun pengguna domain federasi yang diimpor ke domain terkelola sebagai pengguna eksternal, harus menggunakan identitas domain terkelola.
Pertimbangan penamaan
Karakter khusus seperti titik dua :
atau ampersand &
saat disertakan sebagai nama pengguna dalam T-SQL CREATE LOGIN
dan CREATE USER
pernyataan tidak didukung.
MICROSOFT Entra ID dan Azure SQL menyimpang dalam desain manajemen pengguna mereka dengan satu cara utama: MICROSOFT Entra ID memungkinkan nama tampilan diduplikasi dalam penyewa, sedangkan Azure SQL mengharuskan semua prinsipal server di server atau instans dan semua prinsip database pada database memiliki nama yang unik. Karena Azure SQL secara langsung menggunakan nama tampilan Microsoft Entra identitas saat membuat prinsipal, ini dapat mengakibatkan kesalahan saat membuat pengguna. Untuk mengatasi masalah ini, Azure SQL telah merilis WITH OBJECT_ID
peningkatan yang saat ini dalam pratinjau, yang memungkinkan pengguna menentukan ID objek Microsoft Entra identitas yang ditambahkan ke server atau instans.
Izin Microsoft Graph
Perintah ini CREATE USER ... FROM EXTERNAL PROVIDER
memerlukan akses Azure SQL ke ID Microsoft Entra ("penyedia eksternal") atas nama pengguna yang masuk. Terkadang, keadaan muncul yang menyebabkan MICROSOFT Entra ID mengembalikan pengecualian ke Azure SQL.
- Anda mungkin mengalami kesalahan SQL 33134, yang berisi pesan kesalahan khusus ID Microsoft Entra. Kesalahan biasanya mengatakan bahwa akses ditolak, bahwa pengguna harus mendaftar di MFA untuk mengakses sumber daya, atau bahwa akses antara aplikasi pihak pertama harus ditangani melalui praautorisasi. Dalam dua kasus pertama, masalah biasanya disebabkan oleh kebijakan Akses Bersyar yang diatur dalam penyewa Microsoft Entra pengguna: mereka mencegah pengguna mengakses penyedia eksternal. Memperbarui kebijakan Akses Bersyarat untuk memungkinkan akses ke aplikasi '00000003-0000-0000-c000-000000000000' (ID aplikasi API Microsoft Graph) harus menyelesaikan masalah. Jika kesalahan mengatakan akses antara aplikasi pihak pertama harus ditangani melalui praautorisasi, masalahnya adalah karena pengguna masuk sebagai perwakilan layanan. Perintah harus berhasil jika dijalankan oleh pengguna sebagai gantinya.
- Jika Anda menerima Batas Waktu Koneksi Kedaluwarsa, Anda mungkin perlu mengatur
TransparentNetworkIPResolution
parameter string koneksi ke false. Untuk informasi selengkapnya, lihat Masalah batas waktu koneksi dengan.NET Framework 4.6.1 - TransparentNetworkIPResolution.
Untuk informasi selengkapnya tentang membuat pengguna database mandiri berdasarkan identitas Microsoft Entra, lihat MEMBUAT PENGGUNA.
Mengonfigurasi autentikasi multifaktor
Untuk meningkatkan keamanan ke sumber daya Azure SQL Anda, pertimbangkan untuk mengonfigurasi autentikasi multifaktor (MFA), yang meminta pengguna untuk menggunakan metode alternatif kedua untuk mengautentikasi ke database, seperti panggilan telepon atau aplikasi pengautentikasi.
Untuk menggunakan autentikasi multifaktor dengan sumber daya Azure SQL Anda, pertama-tama aktifkan autentikasi multifaktor, lalu gunakan kebijakan akses bersyarah untuk memberlakukan MFA untuk sumber daya Azure SQL Anda.
Menyambungkan dengan Microsoft Entra
Setelah autentikasi Microsoft Entra dikonfigurasi, Anda dapat menggunakannya untuk menyambungkan ke sumber daya SQL Anda dengan alat Microsoft seperti SQL Server Management Studio dan SQL Server Data Tools, dan mengonfigurasi aplikasi klien untuk terhubung menggunakan identitas Microsoft Entra.
Memecahkan masalah autentikasi Microsoft Entra
Untuk panduan tentang pemecahan masalah, lihat Blog: Memecahkan masalah yang terkait dengan autentikasi Microsoft Entra dengan Azure SQL Database dan Azure Synapse.
Konten terkait
- Mengotorisasi akses database ke SQL Database, SQL Managed Instance, dan Azure Synapse Analytics
- Kepala sekolah
- Peran database
- Aturan firewall Azure SQL Database dan Azure Synapse IP
- Membuat pengguna tamu Microsoft Entra dan mengaturnya sebagai admin Microsoft Entra
- Tutorial: Membuat pengguna Microsoft Entra menggunakan aplikasi Microsoft Entra