Megosztás a következőn keresztül:


Csatlakozás az Azure SQL Database-be a Microsoft Entra többtényezős hitelesítésével

A következőre vonatkozik: Azure SQL Database

Ez a cikk egy C#-programot tartalmaz, amely az Azure SQL Database-hez csatlakozik. A program interaktív módú hitelesítést használ, amely támogatja a többtényezős hitelesítést a Microsoft Entra ID (korábbi nevén Azure Active Directory) használatával.

További információ az SQL-eszközök többtényezős hitelesítésének támogatásáról: A Microsoft Entra többtényezős hitelesítés használata.

Megjegyzés:

A Microsoft Entra ID az Azure Active Directory (Azure AD) új neve. Jelenleg frissítjük a dokumentációt.

Többtényezős hitelesítés az Azure SQL Database-hez

Active Directory InteractiveA hitelesítés támogatja a többtényezős hitelesítést a Microsoft.Data.SqlClient használatával az Azure SQL-adatforrásokhoz való csatlakozáshoz. Egy ügyfél C#-programban a számérték arra utasítja a rendszert, hogy a Microsoft Entra interaktív módot használja, amely támogatja a többtényezős hitelesítést az Azure SQL Database-hez való csatlakozáshoz. A programot futtató felhasználó a következő párbeszédpaneleket látja:

  • Egy párbeszédpanel, amely megjeleníti a Microsoft Entra felhasználónevet, és kéri a felhasználó jelszavát.

    Ha a felhasználó tartománya a Microsoft Entra-azonosítóval van összevonva, a párbeszédpanel nem jelenik meg, mert nincs szükség jelszóra.

    Ha a Microsoft Entra-szabályzat többtényezős hitelesítést ír elő a felhasználó számára, megjelenik egy párbeszédpanel, amelyen bejelentkezhet a fiókjába.

  • Amikor egy felhasználó először lép át többtényezős hitelesítésen, a rendszer megjelenít egy párbeszédpanelt, amely egy mobiltelefonszámot kér, amellyel szöveges üzeneteket küldhet. Minden üzenet tartalmazza az ellenőrző kódot , amelyet a felhasználónak be kell írnia a következő párbeszédpanelen.

  • Egy párbeszédpanel, amely egy többtényezős hitelesítési ellenőrző kódot kér, amelyet a rendszer mobiltelefonra küldött.

A Microsoft Entra ID többtényezős hitelesítésre való konfigurálásáról további információt a Microsoft Entra többtényezős hitelesítés használatának első lépései a felhőben című témakörben talál.

A párbeszédpanelek képernyőképeiért lásd a Microsoft Entra többtényezős hitelesítésének használatát.

Tipp.

A .NET API Browser eszközoldalon kereshet .NET-keretrendszer API-kban.

Közvetlenül is kereshet az opcionális ?term=<keresési érték> paraméterrel.

Előfeltételek

A kezdés előtt létre kell hoznia egy logikai SQL-kiszolgálót, és elérhetővé kell tenni.

Microsoft Entra-rendszergazda beállítása a kiszolgálóhoz

A C#-példa futtatásához a logikai kiszolgáló rendszergazdájának Microsoft Entra-rendszergazdát kell hozzárendelnie a Kiszolgáló Microsoft Entra-azonosítójától.

Az Azure PortalON az SQL Server oldalán válassza a Microsoft Entra-azonosítót az erőforrás menüjében, majd válassza a Rendszergazda beállítása lehetőséget.

Az Azure SQL Database Microsoft Entra-rendszergazdáival és felhasználóival kapcsolatos további információkért tekintse meg a Microsoft Entra-hitelesítés konfigurálása és kezelése az SQL Database-lel című témakör képernyőképeit.

Microsoft.Data.SqlClient

A C# példa a Microsoft.Data.SqlClient névtérre támaszkodik. További információ: Microsoft Entra-hitelesítés használata az SqlClient használatával.

Megjegyzés:

A System.Data.SqlClient az elavult Azure Active Directory Authentication Libraryt (ADAL) használja. Ha a System.Data.SqlClient névteret használja a Microsoft Entra-hitelesítéshez, migrálja az alkalmazásokat a Microsoft.Data.SqlClientbe és a Microsoft Authentication Librarybe (MSAL). A Microsoft Entra-hitelesítés SqlClienttel való használatáról további információt a Microsoft Entra-hitelesítés használata az SqlClient használatával című témakörben talál.

Ellenőrzés az SQL Server Management Studióval

A C# példa futtatása előtt érdemes ellenőrizni, hogy a beállítás és a konfiguráció helyes-e az SQL Server Management Studióban (SSMS). A C# programhibák ezután a forráskódra szűkíthetők.

Kiszolgálószintű tűzfal IP-címeinek ellenőrzése

Futtassa az SSMS-t ugyanabból a számítógépről ugyanabban az épületben, ahol a C# példát szeretné futtatni. Ebben a tesztben minden hitelesítési mód rendben van. Ha arra utal, hogy a kiszolgáló nem fogadja el az Ön IP-címét, segítségért tekintse meg a kiszolgálószintű és az adatbázisszintű tűzfalszabályokat .

A Microsoft Entra többtényezős hitelesítésének ellenőrzése

Futtassa újra az SSMS-t, ezúttal az Azure Active Directoryra beállított hitelesítéssel – univerzális az MFA-val. Ehhez a beállításhoz az SSMS 18.6-os vagy újabb verziója szükséges.

További információ: A Microsoft Entra többtényezős hitelesítés használata.

Megjegyzés:

A 18.x előtti SSMS-verziók esetében a vendégfelhasználóknak meg kell adniuk az adatbázis Microsoft Entra tartománynevét vagy bérlőazonosítóját: Válassza a Beállítások>AD-tartománynevet vagy a bérlőazonosítót. Az SSMS 18.x és újabb verziói automatikusan felismerik a bérlőt.

Ha meg szeretné keresni a tartománynevet az Azure Portalon, válassza a Microsoft Entra ID>Custom tartományneveket. A C# példaprogramban nincs szükség tartománynév megadására.

Példa C#-kódra

Megjegyzés:

Ha .NET Core-t használ, a Microsoft.Data.SqlClient névteret kell használnia. További információkért lásd a következő blogot.

Ez egy példa a C#-forráskódra.


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();

    }
}

 

Ez egy példa a C#-teszt kimenetére.

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

További lépések