تمكين مصادقة قاعدة بيانات Microsoft Entra
توضح لك هذه الوحدة كيفية استخدام معرف Microsoft Entra للمصادقة مع قاعدة بيانات Azure SQLومثيل Azure SQL المداروAzure Synapse Analytics.
ملاحظه
كان معرف Microsoft Entra يعرف سابقا باسم Azure Active Directory (Azure AD).
بدلا من ذلك، يمكنك أيضا تكوين مصادقة Microsoft Entra ل SQL Server على أجهزة Azure الظاهرية.
المتطلبات الأساسية
لاستخدام مصادقة Microsoft Entra مع مورد Azure SQL، تحتاج إلى المتطلبات الأساسية التالية:
- مستأجر Microsoft Entra مملوء بالمستخدمين والمجموعات.
- مورد Azure SQL موجود، مثل قاعدة بيانات Azure SQL أو مثيل Azure SQL المدار.
إنشاء مستأجر Microsoft Entra وملئه
قبل أن تتمكن من تكوين مصادقة Microsoft Entra لمورد Azure SQL، تحتاج إلى إنشاء مستأجر Microsoft Entra وملئه بالمستخدمين والمجموعات. يمكن إدارة مستأجري Microsoft Entra بالكامل داخل Azure أو استخدامها لاتحاد خدمة مجال Active Directory المحلية.
لمزيد من المعلومات، راجع:
- ما هو معرف Microsoft Entra؟
- دمج هوياتك المحلية مع معرف Microsoft Entra
- إضافة اسم مجالك إلى معرف Microsoft Entra
- ما هو الاتحاد مع معرف Microsoft Entra؟
- مزامنة الدليل مع معرف Microsoft Entra
- إدارة معرف Microsoft Entra باستخدام Windows PowerShell
- المنافذ والبروتوكولات المطلوبة للهوية المختلطة
تعيين مسؤول Microsoft Entra
لاستخدام مصادقة Microsoft Entra مع المورد الخاص بك، يجب تعيين مسؤول Microsoft Entra. في حين أن الخطوات هي نفسها من الناحية المفاهيمية لقاعدة بيانات Azure SQL وAzure Synapse Analytics وAzure SQL Managed Instance، يصف هذا القسم بالتفصيل واجهات برمجة التطبيقات المختلفة وتجارب المدخل للقيام بذلك لكل منتج.
يمكن أيضا تكوين مسؤول Microsoft Entra عند إنشاء مورد Azure SQL. إذا تم تكوين مسؤول Microsoft Entra بالفعل، فتخط هذا القسم.
Azure SQL Database وAzure Synapse Analytics
يؤدي تعيين مسؤول Microsoft Entra إلى تمكين مصادقة Microsoft Entra للخادم المنطقي لقاعدة بيانات Azure SQL وتحليلات Azure Synapse. يمكنك تعيين مسؤول Microsoft Entra لخادمك باستخدام مدخل Microsoft Azure أو PowerShell أو Azure CLI أو واجهات برمجة تطبيقات REST.
في مدخل Microsoft Azure، يمكنك العثور على اسم الخادم المنطقي
- في حقل اسم الخادم في صفحة نظرة عامة على قاعدة بيانات Azure SQL.
- في حقل اسم الخادم في صفحة Overview لتجمع SQL المخصص المستقل في Azure Synapse Analytics.
- في نقطة نهاية SQL ذات الصلة في صفحة نظرة عامة على مساحة عمل Azure Synapse Analytics.
- مدخل Microsoft Azure
- بوويرشيل
- Azure CLI
- واجهات برمجة تطبيقات REST
لتعيين مسؤول Microsoft Entra للخادم المنطقي في مدخل Microsoft Azure، اتبع الخطوات التالية:
- في جزء Azure portal Directories + subscriptions، اختر الدليل الذي يحتوي على مورد Azure SQL الخاص بك كدليل Current.
- ابحث عن خوادم SQL ثم حدد الخادم المنطقي لمورد قاعدة البيانات لفتح جزء خادم SQL.
- في جزء خادم SQL للخادم المنطقي، حدد معرف Microsoft Entra ضمن الإعدادات لفتح جزء معرف Microsoft Entra.
- في جزء Microsoft Entra ID، حدد Set admin لفتح جزء Microsoft Entra ID.
- يعرض جزء معرف Microsoft Entra جميع المستخدمين والمجموعات والتطبيقات في دليلك الحالي ويسمح لك بالبحث حسب الاسم أو الاسم المستعار أو المعرف. ابحث عن الهوية المطلوبة لمسؤول Microsoft Entra وحددها، ثم انقر فوق تحديد لإغلاق الجزء.
- في أعلى صفحة معرف Microsoft Entra للخادم المنطقي، حدد حفظ.
يتم عرض معرف الكائن بجوار اسم المسؤول لمستخدمي Microsoft Entra والمجموعات. بالنسبة للتطبيقات (أساسيات الخدمة)، يتم عرض معرف التطبيق.
قد تستغرق عملية تغيير المسؤول عدة دقائق. ثم يظهر المسؤول الجديد في حقل مسؤول Microsoft Entra.
لإزالة المسؤول، في أعلى صفحة معرف Microsoft Entra، حدد إزالة المسؤول، ثم حدد حفظ. تؤدي إزالة مسؤول Microsoft Entra إلى تعطيل مصادقة Microsoft Entra للخادم المنطقي.
ملاحظه
يتم تخزين مسؤول Microsoft Entra في قاعدة البيانات الرئيسية للخادم كمستخدم (أساس قاعدة البيانات). نظرا لأن الأسماء الأساسية لقاعدة البيانات يجب أن تكون فريدة، لا يمكن أن يكون اسم العرض للمسؤول هو نفس اسم أي مستخدم في قاعدة البيانات الرئيسية للخادم. إذا كان المستخدم الذي يحمل الاسم موجودا بالفعل، يفشل إعداد مسؤول Microsoft Entra ويتراجع، مما يشير إلى أن الاسم قيد الاستخدام بالفعل.
مثيل Azure SQL المُدار
يؤدي تعيين مسؤول Microsoft Entra إلى تمكين مصادقة Microsoft Entra لمثيل Azure SQL المدار. يمكنك تعيين مسؤول Microsoft Entra لمثيل SQL المدار باستخدام مدخل Microsoft Azure أو PowerShell أو Azure CLI أو واجهات برمجة تطبيقات REST.
لمنح أذونات قراءة مثيل SQL المدار لمعرف Microsoft Entra باستخدام مدخل Microsoft Azure، سجل الدخول كمسؤول دور متميز واتبع الخطوات التالية:
- في مدخل Microsoft Azure، في الزاوية العلوية اليسرى، حدد حسابك، ثم اختر تبديل الدلائل لتأكيد الدليل الذي هو الدليل الحالي. تبديل الدلائل، إذا لزم الأمر.
- في جزء Azure portal Directories + subscriptions، اختر الدليل الذي يحتوي على المثيل المدار ك الدليل الحالي.''
- ابحث عن مثيلات SQL المدارة ثم حدد المثيل المدار لفتح جزء مثيل SQL المدار. ثم حدد Microsoft Entra ID ضمن Settings لفتح جزء Microsoft Entra ID للمثيل الخاص بك.
- في جزء Microsoft Entra admin، حدد Set admin من شريط التنقل لفتح جزء Microsoft Entra ID.
- في جزء Microsoft Entra ID، ابحث عن مستخدم، وحدد المربع بجوار المستخدم أو المجموعة ليكون مسؤولا، ثم اضغط على Select لإغلاق الجزء والعودة إلى صفحة مسؤول Microsoft Entra للمثيل المدار. يعرض جزء معرف Microsoft Entra جميع الأعضاء والمجموعات داخل الدليل الحالي. لا يمكن تحديد المستخدمين أو المجموعات الرمادية لأنها غير مدعومة كمسؤولي Microsoft Entra. حدد الهوية التي تريد تعيينها كمسؤول.
- من شريط التنقل لصفحة مسؤول Microsoft Entra للمثيل المدار، حدد حفظ لتأكيد مسؤول Microsoft Entra. بعد اكتمال عملية تغيير المسؤول، يظهر المسؤول الجديد في حقل مسؤول Microsoft Entra. يتم عرض معرف الكائن بجوار اسم المسؤول لمستخدمي Microsoft Entra والمجموعات. بالنسبة للتطبيقات (أساسيات الخدمة)، يتم عرض معرف التطبيق.
تلميح
لإزالة المسؤول، حدد إزالة المسؤول في أعلى صفحة معرف Microsoft Entra، ثم حدد حفظ.
تعيين أذونات Microsoft Graph
يحتاج مثيل SQL المدار إلى أذونات لقراءة معرف Microsoft Entra لسيناريوهات مثل تخويل المستخدمين الذين يتصلون من خلال عضوية مجموعة الأمان وإنشاء مستخدم جديد. لكي تعمل مصادقة Microsoft Entra، تحتاج إلى تعيين هوية المثيل المدار إلى دور قراء الدليل. يمكنك القيام بذلك باستخدام مدخل Microsoft Azure أو PowerShell.
بالنسبة لبعض العمليات، تتطلب قاعدة بيانات Azure SQL وAzure Synapse Analytics أيضا أذونات للاستعلام عن Microsoft Graph، الموضحة في أذونات Microsoft Graph. تدعم قاعدة بيانات Azure SQL وAzure Synapse Analytics أذونات الرسم البياني الدقيقة لهذه السيناريوهات، بينما يتطلب مثيل SQL المدار دور قراء الدليل. يتم وصف الأذونات الدقيقة وتعيينها بالتفصيل في تمكين كيانات الخدمة لإنشاء مستخدمي Microsoft Entra.
دور Directory Readers
تعرض صفحة معرف Microsoft Entra لمثيل SQL المدار في مدخل Microsoft Azure شعارا مناسبا عندما لا يتم تعيين أذونات قارئ الدليل للمثيل.
- حدد الشعار أعلى صفحة معرف Microsoft Entra وامنح الإذن للهوية المدارة المعينة من قبل النظام أو المعينة من قبل المستخدم التي تمثل المثيل الخاص بك. يمكن فقط لمسؤول الدور المتميز أو دور أعلى في المستأجر الخاص بك تنفيذ هذه العملية.
- عند نجاح العملية، يظهر إعلام نجاح في الزاوية العلوية اليسرى:
يمكن الآن استخدام مسؤول Microsoft Entra لإنشاء أساسيات خادم Microsoft Entra (تسجيلات الدخول) وكيانات قاعدة البيانات (المستخدمين). لمزيد من المعلومات، راجع تكامل Microsoft Entra مع Azure SQL Managed Instance.
إنشاء أساسيات Microsoft Entra في SQL
للاتصال بقاعدة بيانات في قاعدة بيانات SQL أو Azure Synapse Analytics باستخدام مصادقة Microsoft Entra، يجب تكوين أساس على قاعدة البيانات لتلك الهوية بإذن CONNECT على الأقل.
أذونات مستخدم قاعدة البيانات
عند إنشاء مستخدم قاعدة بيانات، فإنه يتلقى إذن CONNECT إلى قاعدة البيانات بشكل افتراضي. يرث مستخدم قاعدة البيانات أيضا الأذونات في حالتين:
- إذا كان المستخدم عضوا في مجموعة Microsoft Entra التي تم تعيين أذونات لها أيضا على الخادم.
- إذا تم إنشاء المستخدم من تسجيل دخول، فإنه يرث الأذونات المعينة من قبل الخادم لتسجيل الدخول القابلة للتطبيق على قاعدة البيانات.
تعمل إدارة الأذونات لأساسيات الخادم وقاعدة البيانات بنفس الطريقة بغض النظر عن نوع الأساسي (معرف Microsoft Entra ومصادقة SQL وما إلى ذلك). نوصي بمنح أذونات لأدوار قاعدة البيانات بدلا من منح الأذونات للمستخدمين مباشرة. ثم يمكن إضافة المستخدمين إلى الأدوار مع الأذونات المناسبة. وهذا يبسط إدارة الأذونات على المدى الطويل ويقلل من احتمالية الاحتفاظ بالوصول إلى الهوية في الماضي عندما يكون ذلك مناسبا.
لمزيد من المعلومات، راجع:
- أذونات وأمثلة مشغل قاعدة البيانات
- المدونة: أساسيات أذونات مشغل قاعدة البيانات
- إدارة أدوار قواعد البيانات الخاصة وتسجيلات الدخول في قاعدة بيانات Azure SQL
مستخدمو قاعدة البيانات المضمنة
مستخدم قاعدة البيانات المضمن هو نوع من مستخدم SQL غير متصل بتسجيل دخول في قاعدة البيانات الرئيسية. لإنشاء مستخدم قاعدة بيانات يحتوي على Microsoft Entra، اتصل بقاعدة البيانات باستخدام هوية Microsoft Entra التي تحتوي على إذن ALTER ANY USER على الأقل. ينشئ مثال T-SQL التالي Microsoft_Entra_principal_name أساسي لقاعدة البيانات من معرف Microsoft Entra.
SQL
CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;
SQL
CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;
SQL
CREATE USER [appName] FROM EXTERNAL PROVIDER;
SQL
CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;
المستخدمون المستندون إلى تسجيل الدخول
ملاحظه
توجد أساسيات خادم Microsoft Entra (عمليات تسجيل الدخول) حاليا في المعاينة العامة لقاعدة بيانات Azure SQL وتحليلات Azure Synapse. تتوفر عمليات تسجيل الدخول إلى Microsoft Entra بشكل عام لمثيل Azure SQL المدار وSQL Server 2022.
يتم دعم أساسيات خادم Microsoft Entra (أو عمليات تسجيل الدخول)، مما يعني أن مستخدمي قاعدة البيانات المضمنة غير مطلوبين. يمكن إنشاء أساسيات قاعدة البيانات (المستخدمين) استنادا إلى أساس الخادم، مما يعني أن مستخدمي Microsoft Entra يمكنهم وراثة الأذونات المعينة على مستوى الخادم لتسجيل الدخول.
SQL
CREATE USER [appName] FROM LOGIN [appName];
لمزيد من المعلومات، راجع نظرة عامة على مثيل SQL المدار. لبناء الجملة حول إنشاء أساسيات خادم Microsoft Entra (تسجيلات الدخول)، راجع إنشاء تسجيل الدخول.
مستخدمون خارجيون
لا يمكنك إنشاء مستخدم قاعدة بيانات مباشرة لهوية مدارة في مستأجر Microsoft Entra مختلف عن المستأجر المقترن باشتراك Azure الخاص بك. ومع ذلك، يمكن استيراد المستخدمين في دلائل أخرى إلى الدليل المقترن كمستخدمين خارجيين. يمكن استخدامها بعد ذلك لإنشاء مستخدمي قاعدة البيانات المضمنين الذين يمكنهم الوصول إلى قاعدة البيانات. يمكن للمستخدمين الخارجيين أيضا الوصول من خلال العضوية في مجموعات Microsoft Entra.
أمثلة: لإنشاء مستخدم قاعدة بيانات مضمن يمثل مستخدم مجال متحد أو مدار من Microsoft Entra:
SQL
CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;
يجب أن يستخدم حساب مستخدم المجال الموحد الذي يتم استيراده إلى مجال مدار كمستخدم خارجي هوية المجال المدار.
اعتبارات التسمية
لا يتم دعم الأحرف الخاصة مثل علامة النقطتين: أو علامة العطف و عند تضمينها كأسماء مستخدمين في عبارات T-SQL CREATE LOGIN وCREATE USER.
يتباعد معرف Microsoft Entra وAzure SQL في تصميم إدارة المستخدم الخاص بهم بطريقة رئيسية واحدة: يسمح معرف Microsoft Entra بتكرار أسماء العرض داخل المستأجر، بينما يتطلب Azure SQL جميع أساسيات الخادم على خادم أو مثيل وجميع أساسيات قاعدة البيانات على قاعدة بيانات أن يكون لها اسم فريد. لأن Azure SQL يستخدم مباشرة اسم عرض Microsoft Entra للهوية عند إنشاء الأساسيات، يمكن أن يؤدي ذلك إلى أخطاء عند إنشاء المستخدمين. لحل هذه المشكلة، أصدر Azure SQL تحسين OBJECT_ID WITH قيد المعاينة حاليا، والذي يسمح للمستخدمين بتحديد معرف كائن Microsoft Entra للهوية التي تتم إضافتها إلى الخادم أو المثيل.
أذونات Microsoft Graph
إنشاء مستخدم ... يتطلب الأمر FROM EXTERNAL PROVIDER وصول Azure SQL إلى معرف Microsoft Entra ("الموفر الخارجي") نيابة عن المستخدم الذي قام بتسجيل الدخول. في بعض الأحيان، تنشأ ظروف تتسبب في إرجاع معرف Microsoft Entra استثناء إلى Azure SQL.
- قد تواجه خطأ SQL 33134، الذي يحتوي على رسالة الخطأ الخاصة بمعرف Microsoft Entra. يشير الخطأ عادة إلى أن الوصول مرفوض، أو أنه يجب على المستخدم التسجيل في المصادقة متعددة العوامل للوصول إلى المورد، أو أنه يجب معالجة الوصول بين تطبيقات الطرف الأول عبر المصادقة المسبقة. في الحالتين الأوليين، تحدث المشكلة عادة بسبب نهج الوصول المشروط التي تم تعيينها في مستأجر Microsoft Entra للمستخدم: فهي تمنع المستخدم من الوصول إلى الموفر الخارجي. يجب أن يؤدي تحديث نهج الوصول المشروط للسماح بالوصول إلى التطبيق '00000003-0000-0000-c000-000000000000' (معرف التطبيق لواجهة برمجة تطبيقات Microsoft Graph) إلى حل المشكلة. إذا كان الخطأ يقول إنه يجب معالجة الوصول بين تطبيقات الطرف الأول عبر المصادقة المسبقة، فإن المشكلة هي أن المستخدم قد سجل الدخول ككيان خدمة. يجب أن ينجح الأمر إذا تم تنفيذه من قبل مستخدم بدلا من ذلك.
- إذا تلقيت مهلة اتصال منتهية الصلاحية، فقد تحتاج إلى تعيين المعلمة TransparentNetworkIPResolution لسلسلة الاتصال إلى خطأ. لمزيد من المعلومات، راجع مشكلة مهلة الاتصال مع .NET Framework 4.6.1 - TransparentNetworkIPResolution.
لمزيد من المعلومات حول إنشاء مستخدمي قاعدة البيانات المضمنة استنادا إلى هويات Microsoft Entra، راجع CREATE USER.
تكوين المصادقة متعددة العوامل
لتحسين الأمان لمورد Azure SQL، ضع في اعتبارك تكوين المصادقة متعددة العوامل (MFA)، والتي تطالب المستخدم باستخدام أسلوب بديل ثان للمصادقة على قاعدة البيانات، مثل مكالمة هاتفية أو تطبيق مصدق.
لاستخدام المصادقة متعددة العوامل مع مورد Azure SQL، قم أولا بتمكين المصادقة متعددة العوامل، ثم استخدم نهج الوصول المشروط لفرض المصادقة متعددة العوامل لمورد Azure SQL.
الاتصال ب Microsoft Entra
بعد تكوين مصادقة Microsoft Entra، يمكنك استخدامها للاتصال بمورد SQL باستخدام أدوات Microsoft مثل SQL Server Management StudioوSQL Server Data Tools، وتكوين تطبيقات العميل للاتصال باستخدام هويات Microsoft Entra.
استكشاف أخطاء مصادقة Microsoft Entra وإصلاحها
للحصول على إرشادات حول استكشاف الأخطاء وإصلاحها، راجع المدونة: استكشاف المشكلات المتعلقة بمصادقة Microsoft Entra وإصلاحها باستخدام قاعدة بيانات Azure SQL وAzure Synapse.