ينطبق على:
Azure SQL Database
Azure SQL Managed Instance
ترشدك هذه المقالة خلال تمكين ميزة مصادقة Azure Active Directory فقط مع قاعدة بيانات Azure SQL، ومثيل Azure SQL المُدار. إذا كنت تبحث عن توفير قاعدة بيانات SQL أو مثيل مُدار مع تمكين مصادقة Azure AD فقط، فراجع إنشاء خادم مع تمكين مصادقة Azure AD فقط في Azure SQL.
في هذا البرنامج التعليمي، تتعلم كيفية:
- تعيين الدور لتمكين مصادقة Azure AD فقط
- تمكين مصادقة Azure AD فقط باستخدام مدخل Microsoft Azure أو Azure CLI أو PowerShell
- التحقق مما إذا كان يتم تمكين مصادقة Azure AD فقط
- اختبار الاتصال بـ Azure SQL
- تعطيل مصادقة Azure AD فقط باستخدام مدخل Microsoft Azure أو Azure CLI أو PowerShell
المتطلبات الأساسية
تعيين الدور لتمكين مصادقة Azure AD فقط
لتمكين مصادقة Azure AD فقط أو تعطيلها، فإن الأدوار المضمنة المحددة مطلوبة لمستخدمي Azure AD الذين ينفذون هذه العمليات في هذا البرنامج التعليمي. سنقوم بتعيين دور SQL Security Manager للمستخدم في هذا البرنامج التعليمي.
لمزيد من المعلومات حول كيفية تعيين دور إلى حساب Azure AD، راجع تعيين أدوار المسؤول وغير المسؤول للمستخدمين الذين لديهم Azure Active Directory
لمزيد من المعلومات حول الإذن المطلوب لتمكين أو تعطيل مصادقة Azure AD فقط، راجع قسم الأذونات في مقالة مصادقة Azure AD فقط.
في مثالنا، سنقوم بتعيين دور SQL Security Manager للمستخدم UserSqlSecurityManager@contoso.onmicrosoft.com. باستخدام المستخدم المميز الذي يمكنه تعيين أدوار Azure AD، قم بتسجيل الدخول إلى مدخل Microsoft Azure.
انتقل إلى مورد خادم SQL، وحدد «Access control (IAM)» في القائمة. حدد الزر «Add» ثم «Add role assignment» في القائمة المنسدلة.
في جزء «Add role assignment»، حدد الدور «SQL Security Manager»، وحدد المستخدم الذي تريد أن تكون لديه القدرة على تمكين مصادقة Azure AD فقط أو تعطيلها.
انقر فوق Save.
تمكين مصادقة Azure AD فقط
التمكين في قاعدة بيانات SQL باستخدام مدخل Microsoft Azure
لتمكين مصادقة Azure AD فقط في مدخل Microsoft Azure، راجع الخطوات أدناه.
باستخدام المستخدم مع دور مدير الأمان SQL Security Manager، انتقل إلى مدخل Microsoft Azure.
انتقل إلى مورد خادم SQL، وحدد Azure Active Directory ضمن القائمة الإعدادات.
إذا لم تقم بإضافة مسؤول Azure Active Directory، فستحتاج إلى تعيين هذا قبل تمكين مصادقة Azure AD فقط.
حدد خانة الاختيار Support only Azure Active Directory authentication for this server الاختيار هذا الخادم.
سيتم عرض النافذة المنبثقة «Enable Azure AD authentication only». انقر فوق «نعم» لتمكين الميزة وحفظ الإعداد.
تمكين في مثيل SQL المدارة باستخدام مدخل Azure
لتمكين مصادقة Azure AD فقط في مدخل Microsoft Azure، راجع الخطوات أدناه.
باستخدام المستخدم مع دور مدير الأمان SQL Security Manager، انتقل إلى مدخل Microsoft Azure.
انتقل إلى SQL managed instance، وحدد Active Directory admin ضمن قائمة الإعدادات.
إذا لم تقم بإضافة مسؤول Azure Active Directory، فستحتاج إلى تعيين هذا قبل تمكين مصادقة Azure AD فقط.
حدد خانة الاختيار دعم مصادقة Azure Active Directory فقط لهذا المثيل المُدار
سيتم عرض النافذة المنبثقة «Enable Azure AD authentication only». انقر فوق «نعم» لتمكين الميزة وحفظ الإعداد.
التمكين في قاعدة بيانات SQL باستخدام Azure CLI
لتمكين مصادقة Azure AD فقط في قاعدة بيانات Azure SQL باستخدام Azure CLI، راجع الأوامر أدناه. ثبّت آخر إصدار من Azure CLI. يجب أن يكون لديك Azure CLI الإصدار 2.14.2 أو أعلى. لمزيد من المعلومات حول هذه الأوامر، راجع az sql server ad-only-auth.
لمزيد من المعلومات حول إدارة مصادقة Azure AD فقط باستخدام واجهات برمجة التطبيقات، راجع إدارة مصادقة Azure AD فقط باستخدام واجهات برمجة التطبيقات.
ملاحظة
يجب تعيين مسؤول Azure AD للخادم قبل تمكين مصادقة Azure AD فقط. وإلا، سيفشل أمر Azure CLI.
للحصول على الأذونات والإجراءات المطلوبة من المستخدم الذي يقوم بتنفيذ هذه الأوامر لتمكين مصادقة Azure AD فقط، راجع مقالة مصادقة Azure AD فقط.
قم بتسجيل الدخول إلى Azure باستخدام الحساب بدور SQL Security Manager.
az login
قم بتشغيل الأمر التالي، واستبدال <myserver> باسم خادم SQL، و<myresource> مع مورد Azure الذي يحتوي على خادم SQL.
az sql server ad-only-auth enable --resource-group <myresource> --name <myserver>
التمكين في مثيل SQL المُدار باستخدام Azure CLI
لتمكين مصادقة Azure AD فقط في Azure SQL Managed Instance باستخدام Azure CLI، راجع الأوامر أدناه. ثبّت آخر إصدار من Azure CLI.
قم بتسجيل الدخول إلى Azure باستخدام الحساب بدور SQL Security Manager.
az login
قم بتشغيل الأمر التالي، واستبدال <myserver> باسم خادم SQL، و<myresource> مع مورد Azure الذي يحتوي على خادم SQL.
az sql mi ad-only-auth enable --resource-group <myresource> --name <myserver>
التمكين في قاعدة بيانات SQL باستخدام PowerShell
لتمكين مصادقة Azure AD فقط في قاعدة بيانات Azure SQL باستخدام PowerShell، راجع الأوامر أدناه. مطلوب وحدة Az.Sql 2.10.0 أو أعلى لتنفيذ هذه الأوامر. لمزيد من المعلومات حول هذه الأوامر، راجع تمكين-AzSqlInstanceActiveDirectoryOnlyAuthentication.
لمزيد من المعلومات حول إدارة مصادقة Azure AD فقط باستخدام واجهات برمجة التطبيقات، راجع إدارة مصادقة Azure AD فقط باستخدام واجهات برمجة التطبيقات
ملاحظة
يجب تعيين مسؤول Azure AD للخادم قبل تمكين مصادقة Azure AD فقط. وإلا، سيفشل الأمر PowerShell.
للحصول على الأذونات والإجراءات المطلوبة من المستخدم الذي يقوم بتنفيذ هذه الأوامر لتمكين مصادقة Azure AD فقط، راجع مقالة مصادقة Azure AD فقط. إذا كان لدى المستخدم أذونات غير كافية، فسوف تحصل على الخطأ التالي:
Enable-AzSqlServerActiveDirectoryOnlyAuthentication : The client
'UserSqlServerContributor@contoso.onmicrosoft.com' with object id
'<guid>' does not have authorization to perform
action 'Microsoft.Sql/servers/azureADOnlyAuthentications/write' over scope
'/subscriptions/<guid>...'
قم بتسجيل الدخول إلى Azure باستخدام الحساب بدور SQL Security Manager.
Connect-AzAccount
قم بتشغيل الأمر التالي، واستبدال <myserver> باسم خادم SQL، و<myresource> مع مورد Azure الذي يحتوي على خادم SQL.
Enable-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
التمكين في SQL Managed Instance باستخدام PowerShell
لتمكين مصادقة Azure AD فقط في Azure SQL Managed Instance باستخدام PowerShell، راجع الأوامر أدناه. مطلوب وحدة Az.Sql 2.10.0 أو أعلى لتنفيذ هذه الأوامر.
لمزيد من المعلومات حول إدارة مصادقة Azure AD فقط باستخدام واجهات برمجة التطبيقات، راجع إدارة مصادقة Azure AD فقط باستخدام واجهات برمجة التطبيقات.
قم بتسجيل الدخول إلى Azure باستخدام الحساب بدور SQL Security Manager.
Connect-AzAccount
قم بتشغيل الأمر التالي، واستبدال <myinstance> باسم SQL Managed Instance، و<myresource> بـ Azure Resource الذي يحتوي على مثيل SQL المُدار.
Enable-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
تحقق من حالة مصادقة Azure AD فقط
تحقق مما إذا كان قد تم تمكين مصادقة Azure AD فقط للخادم أو المثيل.
التحقق من الحالة في قاعدة بيانات SQL
انتقل إلى مورد خادم SQL في مدخل Microsoft Azure. حدد Azure Active Directory ضمن القائمة «الإعدادات».
التحقق من الحالة في SQL Managed Instance
ابحث عن اسم مورد المثيل المدار SQL في مدخل Azure. حدد مسؤول Active Directory ضمن قائمة «الإعدادات» .
يمكن استخدام هذه الأوامر للتحقق مما إذا تم تمكين مصادقة Azure AD فقط للخادم المنطقي لقاعدة بيانات Azure SQL أو SQL Managed Instance. يمكن لأعضاء SQL Server Contributor وSQL Managed Instance Contributor استخدام هذه الأوامر للتحقق من حالة مصادقة Azure AD فقط؛ لكن لا يمكنهم تمكين الميزة أو تعطيلها.
التحقق من الحالة في قاعدة بيانات SQL
قم بتسجيل الدخول إلى Azure باستخدام الحساب بدور SQL Security Manager. لمزيد من المعلومات حول إدارة مصادقة Azure AD فقط باستخدام واجهات برمجة التطبيقات، راجع إدارة مصادقة Azure AD فقط باستخدام واجهات برمجة التطبيقات
az login
قم بتشغيل الأمر التالي، واستبدال <myserver> باسم خادم SQL، و<myresource> مع مورد Azure الذي يحتوي على خادم SQL.
az sql server ad-only-auth get --resource-group <myresource> --name <myserver>
يجب أن تشاهد الناتج التالي:
{
"azureAdOnlyAuthentication": true,
"/subscriptions/<guid>/resourceGroups/mygroup/providers/Microsoft.Sql/servers/myserver/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/servers"
}
التحقق من الحالة في SQL Managed Instance
قم بتسجيل الدخول إلى Azure باستخدام الحساب بدور SQL Security Manager.
az login
قم بتشغيل الأمر التالي، واستبدال <myserver> باسم خادم SQL، و<myresource> مع مورد Azure الذي يحتوي على خادم SQL.
az sql mi ad-only-auth get --resource-group <myresource> --name <myserver>
يجب أن تشاهد الناتج التالي:
{
"azureAdOnlyAuthentication": true,
"id": "/subscriptions/<guid>/resourceGroups/myresource/providers/Microsoft.Sql/managedInstances/myinstance/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/managedInstances"
}
يمكن استخدام هذه الأوامر للتحقق مما إذا تم تمكين مصادقة Azure AD فقط للخادم المنطقي لقاعدة بيانات Azure SQL أو SQL Managed Instance. يمكن لأعضاء SQL Server Contributor وSQL Managed Instance Contributor استخدام هذه الأوامر للتحقق من حالة مصادقة Azure AD فقط؛ لكن لا يمكنهم تمكين الميزة أو تعطيلها.
ستعرض الحالة True إذا تم تمكين الميزة، وFalse إذا تم تعطيلها.
التحقق من الحالة في قاعدة بيانات SQL
قم بتسجيل الدخول إلى Azure باستخدام الحساب بدور SQL Security Manager. لمزيد من المعلومات حول إدارة مصادقة Azure AD فقط باستخدام واجهات برمجة التطبيقات، راجع إدارة مصادقة Azure AD فقط باستخدام واجهات برمجة التطبيقات
Connect-AzAccount
قم بتشغيل الأمر التالي، واستبدال <myserver> باسم خادم SQL، و<myresource> مع مورد Azure الذي يحتوي على خادم SQL.
Get-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
التحقق من الحالة في SQL Managed Instance
قم بتسجيل الدخول إلى Azure باستخدام الحساب بدور SQL Security Manager.
Connect-AzAccount
قم بتشغيل الأمر التالي، واستبدال <myinstance> باسم SQL Managed Instance، و<myresource> بـ Azure Resource الذي يحتوي على مثيل SQL المُدار.
Get-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
اختبار مصادقة SQL مع فشل الاتصال
بعد تمكين مصادقة Azure AD فقط، اختبر باستخدام SQL Server Management Studio (SSMS)للاتصال بقاعدة بيانات SQL Database أو SQL Managed Instance. استخدم مصادقة SQL للاتصال.
من المفترض أن ترى رسالة فشل تسجيل الدخول مشابهة لما يلي:
Cannot connect to <myserver>.database.windows.net.
Additional information:
Login failed for user 'username'. Reason: Azure Active Directory only authentication is enabled.
Please contact your system administrator. (Microsoft SQL Server, Error: 18456)
تعطيل مصادقة Azure AD فقط
من خلال تعطيل ميزة مصادقة Azure AD فقط، فإنك تسمح بكل من مصادقة SQL ومصادقة Azure AD لـ Azure SQL.
تعطيل في قاعدة بيانات SQL باستخدام مدخل Azure
- باستخدام المستخدم مع دور مدير الأمان SQL Security Manager، انتقل إلى مدخل Microsoft Azure.
- انتقل إلى مورد خادم SQL، وحدد Azure Active Directory ضمن القائمة الإعدادات.
- لتعطيل ميزة مصادقة Azure AD فقط، قم بإلغاء تحديد خانة الاختيار دعم مصادقة Azure Active Directory لهذا الخادم واحفظ الإعداد.
تعطيل في SQL Managed Instance باستخدام مدخل Azure
- باستخدام المستخدم مع دور مدير الأمان SQL Security Manager، انتقل إلى مدخل Microsoft Azure.
- انتقل إلى SQL managed instance، وحدد Active Directory admin ضمن قائمة الإعدادات.
- لتعطيل ميزة مصادقة Azure AD فقط، قم بإلغاء تحديد خانة الاختيار دعم مصادقة Azure Active Directory لهذا الخادم واحفظ الإعداد.
تعطيل في قاعدة بيانات SQL باستخدام Azure CLI
لتعطيل مصادقة Azure AD فقط في قاعدة بيانات Azure SQL باستخدام Azure CLI، راجع الأوامر أدناه.
قم بتسجيل الدخول إلى Azure باستخدام الحساب بدور SQL Security Manager.
az login
قم بتشغيل الأمر التالي، واستبدال <myserver> باسم خادم SQL، و<myresource> مع مورد Azure الذي يحتوي على خادم SQL.
az sql server ad-only-auth disable --resource-group <myresource> --name <myserver>
بعد تعطيل مصادقة Azure AD فقط، يجب أن ترى الإخراج التالي عند التحقق من الحالة:
{
"azureAdOnlyAuthentication": false,
"/subscriptions/<guid>/resourceGroups/mygroup/providers/Microsoft.Sql/servers/myserver/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/servers"
}
تعطيل في مثيل SQL المُدار باستخدام Azure CLI
لتعطيل مصادقة Azure AD فقط في Azure SQL Managed Instance باستخدام Azure CLI، راجع الأوامر أدناه.
قم بتسجيل الدخول إلى Azure باستخدام الحساب بدور SQL Security Manager.
az login
قم بتشغيل الأمر التالي، واستبدال <myserver> باسم خادم SQL، و<myresource> مع مورد Azure الذي يحتوي على خادم SQL.
az sql mi ad-only-auth disable --resource-group <myresource> --name <myserver>
بعد تعطيل مصادقة Azure AD فقط، يجب أن ترى الإخراج التالي عند التحقق من الحالة:
{
"azureAdOnlyAuthentication": false,
"id": "/subscriptions/<guid>/resourceGroups/myresource/providers/Microsoft.Sql/managedInstances/myinstance/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/managedInstances"
}
تعطيل في قاعدة بيانات SQL باستخدام PowerShell
لتعطيل مصادقة Azure AD فقط في قاعدة بيانات Azure SQL باستخدام PowerShell، راجع الأوامر أدناه.
قم بتسجيل الدخول إلى Azure باستخدام الحساب بدور SQL Security Manager.
Connect-AzAccount
قم بتشغيل الأمر التالي، واستبدال <myserver> باسم خادم SQL، و<myresource> مع مورد Azure الذي يحتوي على خادم SQL.
Disable-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
تعطيل في SQL Managed Instance باستخدام PowerShell
لتعطيل مصادقة Azure AD فقط في Azure SQL Managed Instance باستخدام PowerShell، راجع الأوامر أدناه.
قم بتسجيل الدخول إلى Azure باستخدام الحساب بدور SQL Security Manager.
Connect-AzAccount
قم بتشغيل الأمر التالي، واستبدال <myinstance> باسم SQL Managed Instance، و<myresource> مع Azure Resource الذي يحتوي على مثيل SQL المُدار.
Disable-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
اختبار الاتصال بـ Azure SQL مرة أخرى
بعد تعطيل مصادقة Azure AD فقط، اختبر الاتصال باستخدام تسجيل دخول مصادقة SQL. يجب أن تكون الآن قادرًا على الاتصال بالخادم أو المثيل.
الخطوات التالية