Menonaktifkan autentikasi SQL untuk SQL Server yang diaktifkan oleh Azure Arc

Berlaku untuk: SQL Server 2025 (17.x)

Artikel ini menjelaskan cara menonaktifkan autentikasi SQL untuk SQL Server yang diaktifkan oleh Azure Arc yang menjalankan SQL Server 2025 (17.x) di Windows. Saat Anda menonaktifkan autentikasi SQL, instans hanya menerima autentikasi Microsoft Entra dan Windows authentication. Anda dapat dengan mudah membalikkan pengaturan ini, dan itu berlaku tanpa memulai ulang instans SQL Server. Pengaturan ini adalah setara SQL Server dengan autentikasi khusus Microsoft Entra untuk Azure SQL Database dan Azure SQL Managed Instance.

Cara kerja menonaktifkan autentikasi SQL

Saat Anda menonaktifkan autentikasi SQL di SQL Server:

  • Mesin memblokir semua upaya login autentikasi SQL baru dan hanya menerima Microsoft Entra dan Windows authentication.
  • Login SQL yang diblokir menerima kesalahan 18456 (login gagal).
  • Login dan pengguna yang ada tetap di tempatnya. Login SQL dan pengguna database mandiri yang menggunakan autentikasi SQL tetap mempertahankan definisi dan izin aksesnya. Mereka tidak dapat masuk sampai Anda mengaktifkan kembali autentikasi SQL.
  • Sesi autentikasi SQL aktif yang ada tidak terpengaruh. Pengaturan hanya memblokir koneksi baru.
  • Pengaturan berlaku di tingkat instans (server), untuk semua database pada instans.
  • Pengaturan ini berlaku tanpa memulai ulang, setelah ekstensi Azure untuk SQL Server selesai menerapkan perubahan. Seperti pengaturan lain di halaman Microsoft Entra ID, ekstensi membutuhkan waktu beberapa menit untuk menerapkan konfigurasi. Portal Azure menampilkan pesan pemrosesan selama ekstensi bekerja dan mengonfirmasi dengan Saved successfully saat perubahan diterapkan. Untuk mempelajari cara ekstensi menerapkan properti server ke instans, lihat Mengonfigurasi SQL Server yang diaktifkan oleh Azure Arc.

Prerequisites

  • SQL Server yang diaktifkan oleh instans Azure Arc yang menjalankan SQL Server 2025 (17.x) di Windows. Versi SQL Server yang lebih lama tidak mendukung penonaktifan autentikasi SQL.
  • Ekstensi Azure untuk SQL Server versi 1.1.3394.392 atau yang lebih baru. Untuk mengetahui informasi selengkapnya, lihat catatan rilis.
  • Identitas terkelola utama yang dikonfigurasi untuk instans SQL Server. SQL Server menggunakan identitas terkelola untuk memvalidasi token Microsoft Entra. Untuk informasi selengkapnya, lihat Autentikasi Microsoft Entra untuk SQL Server.

Permissions

Untuk mengaktifkan atau menonaktifkan autentikasi SQL, Anda memerlukan izin untuk mengelola ekstensi Azure untuk SQL Server pada sumber daya SQL Server di portal Azure. Peran Azure dengan hak istimewa tinggi seperti Pemilik dan Kontributor pada sumber daya dapat mengelola pengaturan. Izin yang sama yang memungkinkan Anda menetapkan administrator Microsoft Entra untuk instans juga memungkinkan Anda mengonfigurasi pengaturan ini.

Menyiapkan lingkungan Anda

Menonaktifkan autentikasi SQL memblokir semua koneksi login SQL, termasuk sa login.

Sebelum Anda menonaktifkan autentikasi SQL:

  • Pastikan setidaknya satu login Microsoft Entra dapat melakukan tugas administratif yang Anda butuhkan pada instans.
  • Perbarui aplikasi Anda untuk menggunakan Microsoft Entra atau Windows authentication.

Ikuti prinsip hak istimewa paling sedikit saat Anda memberikan izin ke login Microsoft Entra administratif dengan hanya memberikan izin yang diperlukan. Misalnya, berikan izin ALTER ANY LOGIN dan ALTER ANY USER tertentu, atau keanggotaan dalam peran server, bukan hak sysadmin penuh, kecuali diperlukan administrasi yang lebih luas.

Jika Anda kehilangan akses sarana data, aktifkan kembali autentikasi SQL dari portal Azure. Kontrol akses berbasis peran Azure, bukan koneksi SQL Server, mengontrol pengaturan ini.

Memigrasikan login sebelum Anda menonaktifkan autentikasi SQL

Menonaktifkan autentikasi SQL berarti pemutusan akses total bagi setiap login SQL dan setiap pengguna mandiri yang menggunakan kata sandi, jadi migrasikan metode autentikasi login terlebih dahulu.

Untuk memigrasikan autentikasi login, ikuti urutan langkah ini:

  1. Identifikasi prinsipal mana yang benar-benar terhubung. Metadata memberi tahu Anda apa yang ada; Audit memberi tahu Anda apa yang digunakan. Aktifkan SQL Server Audit dengan grup tindakan SUCCESSFUL_LOGIN_GROUP untuk melihat login dan pengguna mandiri mana yang masih diautentikasi menggunakan autentikasi SQL. Untuk mencantumkan login SQL yang ada pada instans, jalankan kueri berikut:

    SELECT name, type_desc, is_disabled, create_date
    FROM sys.server_principals
    WHERE type_desc = 'SQL_LOGIN'
    ORDER BY name;
    

    Kemudian jalankan kueri berikut di setiap database pengguna untuk menemukan pengguna yang terkandung berbasis kata sandi, yang juga diblokir:

    SELECT name, type_desc
    FROM sys.database_principals
    WHERE type = 'S' AND authentication_type_desc = 'DATABASE'
    ORDER BY name;
    
  2. Buat padanan Microsoft Entra dan berikan izin yang sesuai. Untuk setiap login SQL atau pengguna mandiri yang masih diperlukan, buat login atau pengguna Microsoft Entra yang bersesuaian dan berikan izin yang setara. Untuk informasi selengkapnya, lihat Autentikasi Microsoft Entra untuk SQL Server.

  3. Perbarui semua yang terhubung dengan autentikasi SQL. Konfigurasikan ulang aplikasi, pekerjaan SQL Server Agent, server tertaut, replikasi, dan skrip pemeliharaan untuk menggunakan autentikasi Microsoft Entra atau Windows authentication, dan tingkatkan ke versi driver klien yang mendukung autentikasi Microsoft Entra. Semua fitur ini mendukung autentikasi Microsoft Entra, jadi pindahkan daripada membiarkannya pada autentikasi SQL.

  4. Validasi bahwa tidak ada lalu lintas autentikasi SQL yang tersisa. Periksa kembali data audit Anda dan konfirmasikan setiap koneksi yang dipindahkan ke Microsoft Entra atau Windows authentication sebelum Anda menonaktifkan autentikasi SQL.

Panduan berikut mengonfigurasi autentikasi tanpa kata sandi untuk Azure SQL Database tetapi langkah-langkah untuk inventaris, pembuatan ulang izin, dan validasi berlaku sama untuk SQL Server: Mengamankan Azure SQL Database dengan autentikasi tanpa kata sandi Microsoft Entra: panduan migrasi

Nonaktifkan autentikasi SQL

Nonaktifkan autentikasi SQL untuk instans SQL Server 2025 (17.x) Anda di Windows langsung dari portal Azure dengan mengikuti langkah-langkah berikut:

  1. Buka sumber daya instans SQL Server Anda di portal Azure.

  2. Di bawah Pengaturan, pilih Microsoft Entra ID untuk membuka panel Microsoft Entra ID.

    1. Pilih kotak untuk Menggunakan identitas terkelola utama, jika belum dipilih.
    2. Pilih kotak centang Nonaktifkan Autentikasi SQL untuk menonaktifkan autentikasi SQL.
    3. Pilih Simpan untuk menyimpan setelan baru Anda:

    Cuplikan layar panel Microsoft Entra ID di portal Azure dengan kotak centang Nonaktifkan Autentikasi SQL dipilih dan tombol Simpan disorot.

Setelah Anda menyimpan, ekstensi Azure untuk SQL Server menerapkan pengaturan ke instans. Proses ini memerlukan beberapa menit: portal menampilkan pesan pemrosesan saat ekstensi bekerja dan mengonfirmasi dengan Saved successfully saat perubahan diterapkan. Tidak diperlukan hidupkan ulang. Jika Anda melihat Panggilan diperpanjang gagal, tunggu beberapa menit dan pilih Simpan lagi.

Untuk mengaktifkan kembali autentikasi SQL, kosongkan kotak centang Nonaktifkan Autentikasi SQL dan pilih Simpan.

Untuk mengonfirmasi perubahan diterapkan, lihat Memeriksa status autentikasi.

Periksa status autentikasi

Gunakan fungsi IsExternalAuthenticationOnly untuk memeriksa apakah autentikasi SQL dinonaktifkan pada instans. Nilai 1 menunjukkan autentikasi SQL dinonaktifkan (hanya Microsoft Entra dan Windows authentication); 0 menunjukkan autentikasi SQL diaktifkan.

SELECT SERVERPROPERTY('IsExternalAuthenticationOnly');

Remarks

Perhatikan komentar berikut:

  • Pengaturan Nonaktifkan Autentikasi SQL memerlukan identitas terkelola utama pada instans.
  • Anda tidak dapat menghapus identitas terkelola utama saat autentikasi SQL dinonaktifkan. Aktifkan kembali autentikasi SQL terlebih dahulu.
  • Nonaktifkan Autentikasi SQL dihapus secara default, sehingga autentikasi SQL diizinkan.

Keterbatasan

Anda dapat menonaktifkan autentikasi SQL hanya untuk instans SQL Server 2025 (17.x) yang diaktifkan oleh Azure Arc di Windows.