الاتصال بـ Azure SQL Database باستخدام مصادقة Microsoft Azure Active Directory متعددة العوامل

ينطبق على: قاعدة بيانات Azure SQL

توفر هذه المقالة برنامج #C الذي يتصل بـ Azure SQL Database. يستخدم البرنامج مصادقة الوضع التفاعلي، والتي تدعم مصادقة Microsoft Azure Active Directory متعددة العوامل.

لمزيد من المعلومات عن دعم المصادقة متعددة العوامل لأدوات SQL، راجع استخدام Microsoft Azure Active Directory Authentication متعددة العوامل.

المصادقة متعددة العوامل لـ Azure SQL Database

تدعم مصادقة Active Directory Interactive المصادقة متعددة العوامل باستخدام Microsoft.Data.SqlClient للاتصال بمصادر بيانات Azure SQL. في برنامج #C للعميل، توجه قيمة التعداد النظام لاستخدام الوضع التفاعلي Azure Active Directory (Microsoft Azure Active Directory) الذي يدعم المصادقة متعددة العوامل للاتصال بـ Azure SQL Database. يرى المستخدم الذي يقوم بتشغيل البرنامج مربعات الحوار التالية:

  • مربع حوار يعرض اسم مستخدم Microsoft Azure Active Directory ويطلب كلمة مرور المستخدم.

    إذا كان مجال المستخدم متحداً مع Microsoft Azure Active Directory، فلن يظهر مربع الحوار، لعدم الحاجة إلى كلمة مرور.

    إذا كانت نهج Microsoft Azure Active Directory تفرض المصادقة متعددة العوامل على المستخدم، فسيتم عرض مربع حوار لتسجيل الدخول إلى حسابك.

  • في المرة الأولى التي يمر فيها المستخدم عبر المصادقة متعددة العوامل، يعرض النظام مربع حوار يطلب رقم هاتف محمول لإرسال رسائل نصية إليه. توفر كل رسالة verification code الذي يجب على المستخدم إدخاله في مربع الحوار التالي.

  • مربع حوار يطلب رمز التحقق من المصادقة متعددة العوامل، والذي أرسله النظام إلى هاتف محمول.

للحصول على معلومات حول كيفية تكوين Microsoft Azure Active Directory لطلب المصادقة متعددة العوامل، راجع الشروع في استخدام مصادقة Microsoft Azure Active Directory متعددة العوامل في السحابة.

للحصول على لقطات شاشة لمربعات الحوار هذه، راجع تكوين المصادقة متعددة العوامل لـ SQL Server Management Studio وMicrosoft Azure Active Directory.

تلميح

يمكنك البحث في.NET Framework APIs باستخدام صفحة أداة متصفح.NET API.

يمكنك أيضاً البحث مباشرةً باستخدام المعلمة optional ?term=<search value>.

المتطلب الأساسي

قبل أن تبدأ، يجب أن يكون لديك خادم SQL منطقي تم إنشاؤه وإتاحته.

قم بتعيين مسؤول Microsoft Azure Active Directory للخادم الخاص بك

لتشغيل مثال #C، يحتاج مسؤول خادم SQL المنطقي إلى تعيين مسؤول Azure AD لخادمك.

في صفحة SQL server، حدد Active Directory admin>Set admin.

لمزيدٍ من المعلومات حول مسؤولي ومستخدمي Microsoft Azure Active Directory لـ Azure SQL Database، راجع لقطات الشاشة في تكوين وإدارة Microsoft Azure Active Directory Authentication باستخدام قاعدة بيانات SQL.

Microsoft.Data.SqlClient

يعتمد مثال #C على مساحة الاسم Microsoft.Data.SqlClient. لمزيد من المعلومات، راجع استخدام مصادقة Microsoft Azure Active Directory مع SqlClient.

ملاحظة

يستخدم System.Data.SqlClient مكتبة مصادقة Microsoft Azure Active Directory (ADAL)، والتي سيتم إهمالها. إذا كنت تستخدم مساحة الاسم System.Data.SqlClient لمصادقة Microsoft Azure Active Directory، فقم بترحيل التطبيقات إلى Microsoft.Data.SqlClient وMicrosoft Authentication Library (MSAL). لمزيد من المعلومات عن استخدام مصادقة Microsoft Azure Active Directory مع SqlClient، راجع استخدام مصادقة Microsoft Azure Active Directory مع SqlClient.

التحقق مع SQL Server Management Studio

قبل تشغيل مثال #C، من المستحسن التحقق من صحة الإعداد والتكوينات في SQL Server Management Studio (SSMS). يمكن بعد ذلك تضييق أي فشل في برنامج #C إلى التعليمة البرمجية المصدرية.

تحقق من عناوين IP لجدار الحماية على مستوى الخادم

بادر بتشغيل Management Studio (SSMS)، من نفس الكمبيوتر، في نفس المبنى، حيث تخطط لتشغيل مثال #C. بالنسبة لهذا الاختبار، يكون أي وضع مصادقة على ما يرام. إذا كان هناك أي مؤشر على أن الخادم لا يقبل عنوان IP الخاص بك، فراجع قواعد جدار الحماية على مستوى الخادم وقاعدة البيانات للحصول على المساعدة.

تحقق من المصادقة متعددة العوامل في Microsoft Azure Active Directory

شغّل Management Studio مرة أخرى، هذه المرة مع تعيين المصادقة على Microsoft Azure Active Directory - Universal with MFA. يتطلب هذا الخيار إصدار Management Studio 17.5 أو أحدث.

لمزيدٍ من المعلومات، راجع تكوين المصادقة متعددة العوامل لـ Management Studio وMicrosoft Azure Active Directory.

ملاحظة

إذا كنت مستخدماً ضيفاً في قاعدة البيانات، فستحتاج أيضاً إلى توفير اسم مجال Microsoft Azure Active Directory لقاعدة البيانات: حدد Options>اسم مجال AD أو معرّف المستأجر. إذا كنت تقوم بتشغيل الإصدار 18.x من SSMS أو إصدار أحدث، فإن اسم مجال AD أو معرف المستأجر الخاص به لم يعُد مطلوباً للمستخدمين الضيوف لأن الإصدار 18.x أو الإصدارات الأحدث يتعرف عليهما تلقائيّاً.

للعثور على اسم المجال في مدخل Microsoft Azure، حدد Microsoft Azure Active Directory>أسماء المجالات المخصصة. في برنامج المثال #C، ليس من الضروري توفير اسم المجال.

مثال على كود #C

ملاحظة

إذا كنت تستخدم.NET Core، فستحتاج إلى استخدام مساحة الاسم Microsoft.Data.SqlClient. لمزيدٍ من المعلومات، راجع المدونةالتالية.

هذا مثال على التعليمة البرمجية المصدرية لـ #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();

    }
}

 

هذا مثال على مخرجات اختبار #C.

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

الخطوات التالية