كيان خدمة Azure Active Directory مع Azure SQL.

ينطبق على: Azure SQL Database مثيل Azure SQL المُدار Azure Synapse Analytics (مجموعات SQL المخصصة فقط)

يدعم دليل Azure النشط (Azure AD) إنشاء المستخدم في قاعدة بيانات لغة الاستعلامات المركبة من Azure (SQL DB) بالنيابة عن تطبيقات Azure AD (أساسيات الخدمة). يتم دعم هذا لـAzure SQL Database ومثيل Azure SQL المُدار، وكذلك لكل من تجمعات SQL المخصصة في مساحات عمل Azure Synapse وتجمعات SQL المخصصة (المعروفة سابقاً باسم SQL DW).

دعم أساس الخدمة (تطبيقات Azure AD)

تنطبق هذه المقالة على التطبيقات التي يتم دمجها مع Azure AD، وهي جزء من تسجيل Azure AD. غالباً ما تحتاج هذه التطبيقات للمصادقة والحصول على وصول المصادقة إلى لغة الاستعلامات المركبة من Azure لتنفيذ مهام مختلفة. تسمح هذه الميزة لأساس الخدمة بإنشاء مستخدمي Azure AD في قاعدة بيانات لغة الاستعلامات المركبة. كان هناك قيد يمنع إنشاء عنصر Azure AD نيابة عن تطبيقات Azure AD التي تمت إزالتها.

عند تسجيل تطبيق Azure AD باستخدام مدخل Azure أو أمر PowerShell، يتم إنشاء عنصرين في مستأجر Azure AD:

  • عنصر التطبيق
  • عنصر أساس الخدمة

لمزيد من المعلومات حول تطبيقات Azure AD، اطلع على عناصر أساس الخدمة والتطبيق في دليل Azure النشط وإنشاء عنصر خدمة Azure باستخدام Azure PowerShell.

قاعدة بيانات لغة الاستعلامات المركبة ودعم المثيل المُدار للغة الاستعلامات المركبة لعناصر Azure AD التالية:

  • مستخدمو Azure AD (مدار ومتحد وضيف)
  • مجموعات Azure الإعلانية (المدارة والمتحدة)
  • تطبيقات Azure AD

أصبح الأمر T-SQLCREATE USER [Azure_AD_Object] FROM EXTERNAL PROVIDER نيابة عن تطبيق Azure AD معتمد الآن لقاعدة بيانات لغة الاستعلامات المركبة.

وظائف إنشاء مستخدم Azure AD باستخدام أساسيات الخدمة

يُعد دعم هذه الوظيفة مفيد في عمليات أتمتة تطبيقات Azure AD حيث يتم إنشاء عناصر Azure AD وصيانتها في قاعدة بيانات لغة الاستعلامات المركبة دون تدخل بشري. يمكن أن تكون أساسيات الخدمة مسؤول Azure AD للخادم المنطقي SQL، كجزء من مجموعة أو مستخدم فردي. يمكن للتطبيق أتمتة إنشاء عنصر Azure AD في قاعدة بيانات SQL عند تنفيذه كمسؤول نظام، ولا يتطلب أي امتيازات SQL إضافية. يسمح هذا بإجراء أتمتة كاملة لإنشاء مستخدم قاعدة بيانات. تدعم هذه الميزة أيضاً نظام Azure AD الذي تم تعيين هوية مدارة له والمستخدم الذي تم تعيين هوية مدارة له والتي يمكن إنشاؤها كمستخدمين في قاعدة بيانات SQL نيابة عن أساسيات الخدمة. للحصول على مزيدٍ من المعلومات، راجع ما هي الهويات المدارة لموارد Azure؟

تمكين أساسيات الخدمة لإنشاء مستخدمي Azure AD

لتمكين إنشاء عنصر Azure AD في قاعدة بيانات SQL نيابة عن تطبيق Azure AD، تكون الإعدادات التالية مطلوبة:

  1. عيّن هوية الخادم. تمثل هوية الخادم المعين هوية الخدمة المدارة (MSI). يمكن أن تكون هوية الخادم هي هوية مدارة تم تعيينها من قبل النظام أو من قبل المستخدم. لمزيد من المعلومات، راجع الهوية المدارة المعينة من قبل المستخدم في Azure AD لـ Azure SQL.

    • للحصول على خادم منطقي جديد Azure SQL، نفذ أمر PowerShell التالي:
    New-AzSqlServer -ResourceGroupName <resource group> -Location <Location name> -ServerName <Server name> -ServerVersion "12.0" -SqlAdministratorCredentials (Get-Credential) -AssignIdentity
    

    لمزيد من المعلومات، اطلع على الأمر New-AzSqlServer أو الأمر New-AzSqlInstance للمثيل المُدار SQL.

    • بالنسبة إلى خوادم Azure SQL المنطقية الموجودة، نفذ الأمر التالي:
    Set-AzSqlServer -ResourceGroupName <resource group> -ServerName <Server name> -AssignIdentity
    

    للحصول مزيد من المعلومات، اطلع على الأمر Set-AzSqlServer أو الأمر Set-AzSqlInstance للمثيل المُدار SQL.

    • للتحقق مما إذا تم تعيين هوية الخادم إلى الخادم، نفذ الأمر Get-AzSqlServer.

    ملاحظة

    يمكن تعيين هوية الخادم باستخدام أوامر واجهة برمجة تطبيقات REST وCLI أيضاً. لمزيد من المعلومات، اطلع على إنشاء خادم az sql، وتحديث خادم az sql، والخوادم - واجهة برمجة تطبيقات REST.

  2. امنح قراء الدليل Azure AD إذن إلى هوية الخادم التي تم إنشاؤها أو تعيينها إلى الخادم.

    • لمنح هذا الإذن، اتبع الوصف المُستخدم للمثيل المُدار SQL المتوفر في المقالة التالية: مسؤول Azure AD المُخصّص (المثيل المدار SQL)
    • يجب أن يكون مستخدم Azure AD الذي يمنح هذا الإذن جزءاً من دور مسؤول Azure AD العام أو مسؤول الأدوار المميزة.
    • بالنسبة لمجموعات SQL المخصصة في مساحة عمل Azure Synapse، استخدم الهوية المُدارة لمساحة العمل بدلاً من هوية خادم Azure SQL.

هام

مع دعم Microsoft Graph لـ Azure SQL، يمكن استبدال دور "قارئي الدلائل" باستخدام أذونات المستوى الأدنى. لمزيد من المعلومات، راجع الهوية المدارة المعينة من قبل المستخدم في Azure AD لـ Azure SQL

يجب تنفيذ الخطوتين 1 و2 بالترتيب أعلاه. أولًا، إنشاء أو تعيين هوية الخادم متبوعًا بمنح إذن "قارئو الدلائل" أو أذونات المستوى الأدنى التي تمت مناقشتها في هوية مدارة تم تعيينها من قبل المستخدم في Azure AD لـ Azure SQL. سيؤدي حذف إحدى هذه الخطوات أو كليهما إلى حدوث خطأ تنفيذ أثناء إنشاء عنصر Azure AD في Azure SQL نيابة عن تطبيق Azure AD.

يمكنك تعيين دور قراء الدليل لمجموعة في Azure AD. يمكن بعد ذلك لمالكي المجموعة إضافة الهوية المدارة كعضو في هذه المجموعة، مما ينتج عنه الحاجة إلى مسؤول عام أو مسؤول الأدوار المتميزة لمنح دور قراء الدليل. لمزيد من المعلومات حول هذه الميزة، راجع دور "Directory Readers" في Azure Active Directory لـ Azure SQL.

استكشاف الأخطاء وإصلاحها والقيود

  • عند إنشاء كائنات Azure AD في Azure SQL نيابة عن تطبيق Azure AD دون تمكين هوية الخادم ومنح أذونات "قارئو الدلائل" أو أذونات المستوى الأدنى التي تمت مناقشتها في الهوية المدارة المعينة من قبل المستخدم في Azure AD لـ Azure SQL، ستفشل العملية مع الأخطاء المحتملة التالية. الخطأ المثال التالي يتعلق بتنفيذ أمر PowerShell لإنشاء مستخدم قاعدة بيانات SQL myapp في المقالة البرنامج التعليمي: إنشاء مستخدمي Azure AD باستخدام تطبيقات Microsoft Azure Active Directory.
  • سيتعذر استخدام تطبيق Azure AD مع أساس الخدمة من مستأجر آخر في Azure AD عند الوصول إلى قاعدة بيانات SQL أو مثيل SQL المدار الذي تم إنشاؤه في مستأجر آخر. يجب أن يكون أساس الخدمة المعين لهذا التطبيق من المستأجر نفسه مثل الخادم المنطقي أو مثيل SQL المدار.
  • يتطلب وحدةAz.Sql 2.9.0 أو وحدة أعلى عند استخدام PowerShell لإعداد تطبيق Azure AD فردي كمدير Azure AD لـ Azure SQL. تأكد من ترقيتك إلى أحدث وحدة.

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