Koneksi ke Azure SQL Database dengan autentikasi multifaktor Microsoft Entra

Berlaku untuk:Azure SQL Database

Artikel ini menyajikan tentang program C# yang tersambung ke Azure SQL Database. Program ini menggunakan autentikasi mode interaktif, yang mendukung autentikasi multifaktor menggunakan ID Microsoft Entra (sebelumnya Azure Active Directory).

Untuk informasi selengkapnya tentang dukungan autentikasi multifaktor untuk alat SQL, lihat Menggunakan autentikasi multifaktor Microsoft Entra.

Catatan

ID Microsoft Entra sebelumnya dikenal sebagai Azure Active Directory (Azure AD).

Autentikasi multifaktor untuk Azure SQL Database

Active Directory Interactive autentikasi mendukung autentikasi multifaktor menggunakan Microsoft.Data.SqlClient untuk menyambungkan ke sumber data Azure SQL. Dalam program C# klien, nilai enum mengarahkan sistem untuk menggunakan mode interaktif Microsoft Entra yang mendukung autentikasi multifaktor untuk menyambungkan ke Azure SQL Database. Pengguna yang menjalankan program akan melihat kotak dialog berikut ini:

  • Kotak dialog yang menampilkan nama pengguna Microsoft Entra dan meminta kata sandi pengguna.

    Jika domain pengguna digabungkan dengan MICROSOFT Entra ID, kotak dialog tidak muncul, karena tidak diperlukan kata sandi.

    Jika kebijakan Microsoft Entra memberlakukan autentikasi multifaktor pada pengguna, kotak dialog untuk masuk ke akun Anda akan ditampilkan.

  • Pertama kali pengguna melewati autentikasi multifaktor, sistem menampilkan kotak dialog yang meminta nomor telepon seluler untuk mengirim pesan teks. Setiap pesan berisi kode verifikasi yang harus dimasukkan oleh pengguna di kotak dialog berikutnya.

  • Kotak dialog yang meminta kode verifikasi autentikasi multifaktor, yang telah dikirim sistem ke ponsel.

Untuk informasi tentang cara mengonfigurasi ID Microsoft Entra untuk memerlukan autentikasi multifaktor, lihat Mulai menggunakan autentikasi multifaktor Microsoft Entra di cloud.

Untuk cuplikan layar kotak dialog ini, lihat Menggunakan autentikasi multifaktor Microsoft Entra.

Tip

Anda dapat mencari API .NET Framework dengan halaman alat Browser .NET API.

Anda juga dapat mencari langsung dengan parameter<nilai pencarian>?term= opsional.

Prasyarat

Sebelum memulai, Anda harus memiliki server SQL logis dan memastikannya tersedia.

Mengatur admin Microsoft Entra untuk server Anda

Agar contoh C# berjalan, admin server logis perlu menetapkan admin Microsoft Entra dari ID Microsoft Entra untuk server Anda.

Di portal Azure, pada halaman server SQL, pilih ID Microsoft Entra dari menu sumber daya, lalu pilih Atur admin.

Untuk informasi selengkapnya tentang admin dan pengguna Microsoft Entra untuk Azure SQL Database, lihat cuplikan layar di Mengonfigurasi dan mengelola autentikasi Microsoft Entra dengan SQL Database.

Microsoft.Data.SqlClient

Contoh C# bergantung pada namespace layanan Microsoft.Data.SqlClient. Untuk informasi selengkapnya, lihat Menggunakan autentikasi Microsoft Entra dengan SqlClient.

Catatan

System.Data.SqlClient menggunakan Azure Active Directory Authentication Library (ADAL), yang tidak digunakan lagi. Jika Anda menggunakan namespace System.Data.SqlClient untuk autentikasi Microsoft Entra, migrasikan aplikasi ke Microsoft.Data.SqlClient dan Microsoft Authentication Library (MSAL). Untuk informasi selengkapnya tentang menggunakan autentikasi Microsoft Entra dengan SqlClient, lihat Menggunakan autentikasi Microsoft Entra dengan SqlClient.

Memverifikasi dengan SQL Server Management Studio

Sebelum Anda menjalankan contoh C#, sebaiknya pastikan bahwa penyiapan dan konfigurasi Anda sudah benar di SQL Server Management Studio (SSMS). Kegagalan program C# dapat kemudian dipersempit ke kode sumber.

Memverifikasi alamat IP firewall tingkat server

Menjalankan Management Studio dari komputer yang sama, di gedung yang sama, di mana Anda berencana untuk menjalankan contoh C#. Untuk pengujian ini, mode Autentikasi apa pun tidak masalah. Jika ada indikasi bahwa server tidak menerima alamat IP Anda, lihat aturan firewall tingkat server dan tingkat database untuk mendapatkan bantuan.

Memverifikasi autentikasi multifaktor Microsoft Entra

Jalankan Management Studio lagi, kali ini dengan Autentikasi diatur ke Azure Active Directory - Universal dengan MFA. Opsi ini memerlukan SSMS versi 18.6 atau yang lebih baru.

Untuk informasi selengkapnya, lihat Menggunakan autentikasi multifaktor Microsoft Entra.

Catatan

Untuk versi SSMS sebelum 18.x, pengguna tamu harus memberikan nama domain Microsoft Entra atau ID penyewa untuk database: Pilih Opsi>nama domain AD atau ID penyewa. SSMS 18.x dan yang lebih baru secara otomatis mengenali penyewa.

Untuk menemukan nama domain di portal Azure, pilih Nama domain Kustom Microsoft Entra ID>. Dalam program contoh C#, tidak diperlukan untuk menyediakan nama domain.

Contoh kode C#

Catatan

Jika Anda menggunakan .NET Core, Anda perlu menggunakan kumpulan nama Microsoft.Data.SqlClient. Untuk informasi lebih lanjut, lihat blog berikut.

Ini adalah contoh kode sumber C#.


using System;
using Microsoft.Data.SqlClient;

public class Program
{
    public static void Main(string[] args)
    {
        // Use your own server, database, and user ID.
        // Connetion string - user ID is not provided and is asked interactively.
        string ConnectionString = @"Server=<your server>.database.windows.net; Authentication=Active Directory Interactive; Database=<your database>";


        using (SqlConnection conn = new SqlConnection(ConnectionString))

        {
            conn.Open();
            Console.WriteLine("ConnectionString2 succeeded.");
            using (var cmd = new SqlCommand("SELECT @@Version", conn))
            {
                Console.WriteLine("select @@version");
                var result = cmd.ExecuteScalar();
                Console.WriteLine(result.ToString());
            }

        }
        Console.ReadKey();

    }
}

 

Ini adalah contoh dari hasil pengujian C#.

ConnectionString2 succeeded.
select @@version
Microsoft SQL Azure (RTM) - 12.0.2000.8
   ...

Langkah berikutnya