Bagikan melalui


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:

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:

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:

  1. Di panel portal Azure Direktori + langganan, pilih direktori yang berisi sumber daya Azure SQL Anda sebagai direktori Saat ini.

  2. Cari server SQL lalu pilih server logis untuk sumber daya database Anda untuk membuka panel server SQL.

    Cuplikan layar memperlihatkan cara mencari dan memilih server SQL.

  3. Pada panel server SQL untuk server logis Anda, pilih ID Microsoft Entra di bawah Pengaturan untuk membuka panel ID Microsoft Entra.

  4. Pada panel ID Microsoft Entra, pilih Atur admin untuk membuka panel ID Microsoft Entra.

    Cuplikan layar memperlihatkan opsi untuk mengatur admin Microsoft Entra untuk server SQL.

  5. 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.

  6. Di bagian atas halaman ID Microsoft Entra untuk server logis Anda, pilih Simpan.

    Cuplikan layar memperlihatkan opsi untuk menyimpan admin Microsoft Entra.

    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:

  1. 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.

    Cuplikan layar portal Azure memperlihatkan tempat untuk mengalihkan direktori Anda.

  2. Di panel portal Azure Direktori + langganan, pilih direktori yang berisi instans terkelola Anda sebagai Direktori saat ini.'''

  3. 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.

    Cuplikan layar portal Azure memperlihatkan halaman admin Microsoft Entra terbuka untuk instans terkelola SQL yang dipilih.

  4. Pada panel admin Microsoft Entra, pilih Atur admin dari bilah navigasi untuk membuka panel ID Microsoft Entra.

    Cuplikan layar memperlihatkan perintah Atur admin yang disorot di halaman admin Microsoft Entra untuk instans terkelola SQL yang dipilih.

  5. 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.

  6. Dari bilah navigasi halaman admin Microsoft Entra untuk instans terkelola Anda, pilih Simpan untuk mengonfirmasi administrator Microsoft Entra Anda.

    Cuplikan layar halaman admin Microsoft Entra dengan tombol Simpan di baris atas di samping tombol Atur admin dan Hapus admin.

    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.

  1. 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.

    Cuplikan layar dialog untuk memberikan izin ke instans terkelola SQL untuk mengakses ID Microsoft Entra dengan tombol Berikan izin dipilih.

  2. Saat operasi berhasil, pemberitahuan Berhasil muncul di sudut kanan atas:

    Cuplikan layar pemberitahuan yang mengonfirmasi bahwa izin baca ID Microsoft Entra berhasil diperbarui untuk instans terkelola.

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:

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.