Microsoft Entra çok faktörlü kimlik doğrulaması ile Azure SQL Veritabanı Bağlan
Şunlar için geçerlidir:Azure SQL Veritabanı
Bu makalede, Azure SQL Veritabanı bağlanan bir C# programı sağlanır. Program, Microsoft Entra Id (eski adıYla Azure Active Directory) kullanarak çok faktörlü kimlik doğrulamasını destekleyen etkileşimli mod kimlik doğrulamasını kullanır.
SQL araçları için çok faktörlü kimlik doğrulaması desteği hakkında daha fazla bilgi için bkz . Microsoft Entra çok faktörlü kimlik doğrulamasını kullanma.
Not
Microsoft Entra Id daha önce Azure Active Directory (Azure AD) olarak biliniyordu.
Azure SQL Veritabanı için çok faktörlü kimlik doğrulaması
Active Directory Interactive
kimlik doğrulaması, Azure SQL veri kaynaklarına bağlanmak için Microsoft.Data.SqlClient kullanarak çok faktörlü kimlik doğrulamasını destekler. İstemci C# programında numaralandırma değeri, sistemi Azure SQL Veritabanı bağlanmak için çok faktörlü kimlik doğrulamasını destekleyen Microsoft Entra etkileşimli modunu kullanmaya yönlendirir. Programı çalıştıran kullanıcı aşağıdaki iletişim kutularını görür:
Microsoft Entra kullanıcı adını görüntüleyen ve kullanıcının parolasını soran bir iletişim kutusu.
Kullanıcının etki alanı Microsoft Entra Kimliği ile birleştirilmişse, parola gerekmediğini için iletişim kutusu görünmez.
Microsoft Entra ilkesi kullanıcıya çok faktörlü kimlik doğrulaması uygularsa, hesabınızda oturum açmak için bir iletişim kutusu görüntülenir.
Bir kullanıcı ilk kez çok faktörlü kimlik doğrulamasından geçtiğinde sistem, kısa mesaj göndermek için bir cep telefonu numarası isteyen bir iletişim kutusu görüntüler. Her ileti, kullanıcının sonraki iletişim kutusuna girmesi gereken doğrulama kodunu sağlar.
Sistemin bir cep telefonuna gönderdiği çok faktörlü kimlik doğrulama kodunu isteyen bir iletişim kutusu.
Microsoft Entra Id'yi çok faktörlü kimlik doğrulaması gerektirecek şekilde yapılandırma hakkında bilgi için bkz . Bulutta Microsoft Entra çok faktörlü kimlik doğrulamasını kullanmaya başlama.
Bu iletişim kutularının ekran görüntüleri için bkz . Microsoft Entra çok faktörlü kimlik doğrulamasını kullanma.
İpucu
.NET Framework API'lerini .NET API Tarayıcısı araç sayfasıyla arayabilirsiniz.
İsteğe bağlı ?term=<search değer> parametresiyle de doğrudan arama yapabilirsiniz.
Önkoşul
Başlamadan önce, oluşturulmuş ve kullanılabilir bir mantıksal SQL sunucusuna sahip olmanız gerekir.
Sunucunuz için bir Microsoft Entra yöneticisi ayarlama
C# örneğinin çalışması için, mantıksal sunucu yöneticisinin sunucunuz için Microsoft Entra Id'den bir Microsoft Entra yöneticisi ataması gerekir.
Azure portalında, SQL server sayfasında kaynak menüsünden Microsoft Entra Id'yi ve ardından Yöneticiyi ayarla'yı seçin.
Azure SQL Veritabanı için Microsoft Entra yöneticileri ve kullanıcıları hakkında daha fazla bilgi için SQL Veritabanı ile Microsoft Entra kimlik doğrulamasını yapılandırma ve yönetme makalesindeki ekran görüntülerine bakın.
Microsoft.Data.SqlClient
C# örneği Microsoft.Data.SqlClient ad alanına dayanır. Daha fazla bilgi için bkz . SqlClient ile Microsoft Entra kimlik doğrulamasını kullanma.
Not
System.Data.SqlClient , kullanım dışı olan Azure Active Directory Kimlik Doğrulama Kitaplığı'nı (ADAL) kullanır. Microsoft Entra kimlik doğrulaması için System.Data.SqlClient ad alanını kullanıyorsanız, uygulamaları Microsoft.Data.SqlClient'a ve Microsoft Authentication Library'ye (MSAL) geçirin. SqlClient ile Microsoft Entra kimlik doğrulamasını kullanma hakkında daha fazla bilgi için bkz . SqlClient ile Microsoft Entra kimlik doğrulamasını kullanma.
SQL Server Management Studio ile doğrulama
C# örneğini çalıştırmadan önce, SQL Server Management Studio'da (SSMS) kurulum ve yapılandırmalarınızın doğru olup olmadığını denetlemek iyi bir fikirdir. Daha sonra herhangi bir C# programı hatası kaynak koda daraltılabilir.
Sunucu düzeyinde güvenlik duvarı IP adreslerini doğrulama
SSMS'yi aynı bilgisayardan, C# örneğini çalıştırmayı planladığınız aynı binada çalıştırın. Bu test için herhangi bir Kimlik Doğrulama modu Tamam'dır. Sunucunun IP adresinizi kabul etmediğini gösteren bir gösterge varsa yardım için sunucu düzeyinde ve veritabanı düzeyinde güvenlik duvarı kurallarına bakın.
Microsoft Entra çok faktörlü kimlik doğrulamasını doğrulama
SSMS'yi yeniden çalıştırın; bu kez Kimlik Doğrulaması Azure Active Directory - MFA ile Evrensel olarak ayarlandı. Bu seçenek SSMS sürüm 18.6 veya üzerini gerektirir.
Daha fazla bilgi için bkz . Microsoft Entra çok faktörlü kimlik doğrulamasını kullanma.
Not
18.x öncesi SSMS sürümleri için konuk kullanıcıların veritabanı için Microsoft Entra etki alanı adını veya kiracı kimliğini sağlaması gerekir: Seçenekler>AD etki alanı adı veya kiracı kimliği'ni seçin. SSMS 18.x ve üzeri, kiracıyı otomatik olarak tanır.
Azure portalında etki alanı adını bulmak için Microsoft Entra Id>Özel etki alanı adları'nı seçin. C# örnek programında etki alanı adı sağlamak gerekli değildir.
C# kod örneği
Not
.NET Core kullanıyorsanız, Microsoft.Data.SqlClient ad alanını kullanmak istersiniz. Daha fazla bilgi için aşağıdaki bloga bakın.
Bu, C# kaynak kodunun bir örneğidir.
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();
}
}
Bu, C# test çıkışının bir örneğidir.
ConnectionString2 succeeded.
select @@version
Microsoft SQL Azure (RTM) - 12.0.2000.8
...
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin