Připojení ke službě Azure SQL Database pomocí vícefaktorového ověřování Microsoft Entra
Platí pro: Azure SQL Database SQL Database v prostředcích infrastruktury
Tento článek obsahuje program jazyka C#, který se připojuje ke službě Azure SQL Database. Program používá ověřování v interaktivním režimu, které podporuje vícefaktorové ověřování pomocí ID Microsoft Entra (dříve Azure Active Directory).
Další informace o podpoře vícefaktorového ověřování pro nástroje SQL naleznete v tématu Použití vícefaktorového ověřování Microsoft Entra.
Poznámka:
ID Microsoft Entra se dříve označovalo jako Azure Active Directory (Azure AD).
Vícefaktorové ověřování pro Azure SQL Database
Active Directory Interactive
ověřování podporuje vícefaktorové ověřování pomocí Microsoft.Data.SqlClient pro připojení ke zdrojům dat Azure SQL. Hodnota výčtu v klientském programu jazyka C# směruje systém tak, aby používal interaktivní režim Microsoft Entra, který podporuje vícefaktorové ověřování pro připojení ke službě Azure SQL Database. Uživatel, který program spouští, uvidí následující dialogová okna:
Dialogové okno s uživatelským jménem Microsoft Entra a dotazem na heslo uživatele.
Pokud je doména uživatele federovaná s ID Microsoft Entra, dialogové okno se nezobrazí, protože není potřeba žádné heslo.
Pokud zásady Microsoft Entra pro uživatele ukládají vícefaktorové ověřování, zobrazí se dialogové okno pro přihlášení k vašemu účtu.
Když uživatel poprvé projde vícefaktorovým ověřováním, systém zobrazí dialogové okno s žádostí o číslo mobilního telefonu k odeslání textových zpráv. Každá zpráva obsahuje ověřovací kód , který musí uživatel zadat v dalším dialogovém okně.
Dialogové okno s žádostí o ověřovací kód pro vícefaktorové ověřování, které systém odeslal na mobilní telefon.
Informace o tom, jak nakonfigurovat ID Microsoft Entra tak, aby vyžadovalo vícefaktorové ověřování, najdete v tématu Začínáme s vícefaktorovým ověřováním Microsoft Entra v cloudu.
Snímky obrazovky s těmito dialogovými okny najdete v tématu Použití vícefaktorového ověřování Microsoft Entra.
Tip
Rozhraní API rozhraní .NET Framework můžete prohledávat pomocí stránky nástroje pro prohlížeč rozhraní .NET API.
Můžete také hledat přímo pomocí volitelného parametru ?term=<search value>.
Požadavek
Než začnete, měli byste mít vytvořený a dostupný logický SQL server .
Nastavení správce Microsoft Entra pro váš server
Aby bylo možné spustit příklad jazyka C#, musí správce logického serveru přiřadit správce Microsoft Entra z ID Microsoft Entra pro váš server.
Na webu Azure Portal na stránce SQL Serveru vyberte v nabídce prostředků ID Microsoft Entra a pak vyberte Nastavit správce.
Další informace o správcích a uživatelích Microsoft Entra pro Azure SQL Database najdete na snímcích obrazovky v tématu Konfigurace a správa ověřování Microsoft Entra pomocí služby SQL Database.
Microsoft.Data.SqlClient
Příklad jazyka C# spoléhá na obor názvů Microsoft.Data.SqlClient . Další informace naleznete v tématu Použití ověřování Microsoft Entra s SqlClient.
Poznámka:
System.Data.SqlClient používá knihovnu Azure Active Directory Authentication Library (ADAL), která je zastaralá. Pokud pro ověřování Microsoft Entra používáte obor názvů System.Data.SqlClient, migrujte aplikace do Microsoft.Data.SqlClient a knihovny Microsoft Authentication Library (MSAL). Další informace o použití ověřování Microsoft Entra s SqlClient naleznete v tématu Použití ověřování Microsoft Entra s SqlClient.
Ověření pomocí aplikace SQL Server Management Studio
Než spustíte příklad jazyka C#, je vhodné zkontrolovat správnost nastavení a konfigurace v sadě SQL Server Management Studio (SSMS). Všechna selhání programu jazyka C# je pak možné zúžit na zdrojový kód.
Ověření IP adres brány firewall na úrovni serveru
Spusťte SSMS ze stejného počítače ve stejné budově, ve které plánujete spustit příklad jazyka C#. Pro účely tohoto testu je jakýkoli režim ověřování v pořádku. Pokud se zobrazí nějaké informace o tom, že server nepřijímá vaši IP adresu, nápovědu najdete v pravidlech brány firewall na úrovni serveru a na úrovni databáze.
Ověření vícefaktorového ověřování Microsoft Entra
Spusťte SSMS znovu, tentokrát s ověřováním nastaveným na Azure Active Directory – Univerzální s MFA. Tato možnost vyžaduje SSMS verze 18.6 nebo novější.
Další informace naleznete v tématu Použití vícefaktorového ověřování Microsoft Entra.
Poznámka:
U verzí SSMS starších než 18.x musí uživatelé typu host zadat název domény Nebo ID tenanta Microsoft Entra pro databázi: Vyberte možnosti >názvu domény AD nebo ID tenanta. SSMS 18.x a novější automaticky rozpozná tenanta.
Pokud chcete najít název domény na webu Azure Portal, vyberte vlastní názvy domén Microsoft Entra ID>. V ukázkovém programu jazyka C# není poskytnutí názvu domény nutné.
Příklad kódu jazyka C#
Poznámka:
Pokud používáte .NET Core, budete chtít použít obor názvů Microsoft.Data.SqlClient . Další informace najdete v následujícím blogu.
Toto je příklad zdrojového kódu jazyka 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();
}
}
Toto je příklad výstupu testu jazyka C#.
ConnectionString2 succeeded.
select @@version
Microsoft SQL Azure (RTM) - 12.0.2000.8
...