إعدادات اتصال Azure SQL

ينطبق على: قاعدة بيانات Azure SQL Azure Synapse Analytics (تجمع SQL المخصص (المسمى سابقًا باسم SQL DW) فقط)

تعرض هذه المقالة الإعدادات التي تتحكم في الاتصال بالخادم لقاعدة بيانات Azure SQL ومجموعة SQL مخصصة (سابقا SQL DW) في Azure Synapse Analytics. تنطبق هذه الإعدادات على جميع قواعد بيانات SQL وقواعد بيانات مجموعة SQL (المعروفة سابقا باسم SQL DW) المقترنة بالخادم.

هام

لا تنطبق هذه المقالة على مثيل Azure SQL المدار. لا تنطبق هذه المقالة أيضاً على مجموعات SQL المخصصة في مساحات عمل Azure Synapse Analytics. راجع قواعد جدار حماية IP لتحليلات Azure Synapse للحصول على إرشادات حول كيفية تكوين قواعد جدار حماية IP لتحليلات Azure Synapse مع مساحات العمل.

يمكن الوصول إلى إعدادات الاتصال من شاشة جدر الحماية والشبكات الظاهرية كما هو موضح في لقطة الشاشة التالية:

Screenshot of the Firewalls and virtual networks settings in Azure portal for SQL server

ملاحظة

تسري هذه الإعدادات فور تطبيقها. قد يتعرض العملاء لفقدان الاتصال إذا لم يستوفوا متطلبات كل إعداد.

رفض الوصول إلى الشبكة العامة

القيمة الافتراضية لهذا الإعداد هي لا بحيث يمكن للعملاء الاتصال باستخدام نقاط النهاية العامة (مع قواعد جدار الحماية على مستوى الخادم المستندة إلى IP أو مع قواعد جدار الحماية للشبكة الظاهرية) أو نقاط النهاية الخاصة (باستخدام ارتباط Azure الخاص)، كما هو موضح في نظرة عامة على الوصول إلى الشبكة.

عند تعيين رفض الوصول إلى الشبكة العامة إلى نعم، لا يسمح إلا بالاتصالات عبر نقاط النهاية الخاصة. سيتم رفض جميع الاتصالات عبر نقاط النهاية العامة مع ظهور رسالة خطأ مماثلة لما يلي:

Error 47073
An instance-specific error occurred while establishing a connection to SQL Server. 
The public network interface on this server is not accessible. 
To connect to this server, use the Private Endpoint from inside your virtual network.

عند تعيين خيار رفض الوصول إلى الشبكة العامة إلى نعم، سيتم رفض أي محاولات لإضافة أو إزالة أو تحرير أي قواعد جدار حماية مع رسالة خطأ مشابهة لما يلي:

Error 42101
Unable to create or modify firewall rules when public network interface for the server is disabled. 
To manage server or database level firewall rules, please enable the public network interface.

تأكد من تعيين رفض الوصول إلى الشبكة العامة إلى لا لتتمكن من إضافة أو إزالة أو تحرير أي قواعد جدار حماية لـ Azure Sql

تغيير الوصول إلى الشبكة العامة عبر PowerShell

هام

لا تزال قاعدة بيانات Azure SQL تدعم الوحدة النمطية لإدارة موارد PowerShell Azure، ولكن كل التطوير المستقبلي هو للوحدة النمطية Az.SQL. بالنسبة إلى أوامر cmdlets، راجع AzureRM.Sql. تتطابق وسائط الأوامر في الوحدة النمطية Az وفي الوحدات النمطية AzureRm بشكل كبير. يتطلب البرنامج النصي التالي وحدة Azure PowerShell النمطية.

يوضح البرنامج النصي PowerShell التالي كيفية Get وSet الخاصية Public Network Access على مستوى الخادم:

# Get the Public Network Access property
(Get-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group).PublicNetworkAccess

# Update Public Network Access to Disabled
$SecureString = ConvertTo-SecureString "password" -AsPlainText -Force

Set-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group -SqlAdministratorPassword $SecureString -PublicNetworkAccess "Disabled"

تغيير الوصول إلى الشبكة العامة عبر CLI

هام

تتطلب جميع البرامج النصية في هذا المقطع Azure CLI.

Azure CLI في Bash shell

يوضح برنامج CLI النصي التالي كيفية تغيير الإعداد Public Network Access في shell Bash:


# Get current setting for Public Network Access
az sql server show -n sql-server-name -g sql-server-group --query "publicNetworkAccess"

# Update setting for Public Network Access
az sql server update -n sql-server-name -g sql-server-group --set publicNetworkAccess="Disabled"

الحد الأدنى من إصدار TLS

يتيح إعداد الإصدار Transport Layer Security (TLS) الأدنى للعملاء إمكانية اختيار إصدار TLS الذي تستخدمه قاعدة بيانات SQL الخاصة بهم.

في الوقت الحالي، نحن ندعم TLS 1.0 و1.1 و1.2. يضمن تعيين الحد الأدنى لإصدار TLS دعم إصدارات TLS الأحدث. على سبيل المثال، يعني اختيار إصدار TLS 1.1 قبول الاتصالات مع TLS 1.1 و1.2 فقط، ورفض الاتصالات مع TLS 1.0. بعد اختبار التأكد من أن تطبيقاتك تدعمها، نوصي بتعيين الحد الأدنى لإصدار TLS إلى 1.2. يتضمن هذا الإصدار عمليات إصلاح لمواطن الضعف في الإصدارات السابقة وهو أعلى إصدار من TLS يتم دعمه في قاعدة بيانات Azure SQL.

هام

الإعداد الافتراضي للحد الأدنى لإصدار TLS هو السماح بجميع الإصدارات. بعد فرض إصدار من TLS، لا يمكن الرجوع إلى الإعداد الافتراضي.

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

لمزيد من المعلومات، راجع اعتبارات TLS لاتصال قاعدة بيانات SQL.

بعد تعيين الحد الأدنى لإصدار TLS، ستفشل محاولات تسجيل الدخول من العملاء الذين يستخدمون إصدار TLS أقل من الحد الأدنى لإصدار TLS من الخادم مع الخطأ التالي:

Error 47072
Login failed with invalid TLS version

قم بتعيين الحد الأدنى لإصدار TLS في مدخل Azure

في مدخل Azure، انتقل إلى مورد SQL Server. ضمن إعدادات الأمان، حدد جدران الحماية والشبكات الظاهرية. حدد الحد الأدنى لإصدار TLS المطلوب لجميع قواعد بيانات SQL المقترنة بالخادم، وحدد حفظ.

تعيين الحد الأدنى لإصدار TLS عبر PowerShell

هام

لا تزال قاعدة بيانات Azure SQL تدعم الوحدة النمطية لإدارة موارد PowerShell Azure، ولكن كل التطوير المستقبلي هو للوحدة النمطية Az.SQL. بالنسبة إلى أوامر cmdlets، راجع AzureRM.Sql. تتطابق وسائط الأوامر في الوحدة النمطية Az وفي الوحدات النمطية AzureRm بشكل كبير. يتطلب البرنامج النصي التالي وحدة Azure PowerShell النمطية.

يوضح البرنامج النصي PowerShell التالي كيفية Get وSet خاصية الحد الأدنى لإصدار TLS على مستوى الخادم المنطقي:

# Get the Minimal TLS Version property
(Get-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group).MinimalTlsVersion

# Update Minimal TLS Version to 1.2
$SecureString = ConvertTo-SecureString "password" -AsPlainText -Force

Set-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group -SqlAdministratorPassword $SecureString  -MinimalTlsVersion "1.2"

تعيين الحد الأدنى لإصدار TLS عبر واجهة سطر أوامر Azure

هام

تتطلب جميع البرامج النصية في هذا المقطع Azure CLI.

Azure CLI في Bash shell

يوضح برنامج CLI النصي التالي كيفية تغيير إعداد الحد الأدنى لإصدار TLS في BaseShell:

# Get current setting for Minimal TLS Version
az sql server show -n sql-server-name -g sql-server-group --query "minimalTlsVersion"

# Update setting for Minimal TLS Version
az sql server update -n sql-server-name -g sql-server-group --set minimalTlsVersion="1.2"

قم بتغيير نهج الاتصال

يحدد نهج الاتصال كيفية اتصال العملاء بقاعدة بيانات Azure SQL.

قم بتغيير نهج الاتصال عبر PowerShell

هام

لا تزال قاعدة بيانات Azure SQL تدعم الوحدة النمطية لإدارة موارد PowerShell Azure، ولكن كل التطوير المستقبلي هو للوحدة النمطية Az.SQL. بالنسبة إلى أوامر cmdlets، راجع AzureRM.Sql. تتطابق وسائط الأوامر في الوحدة النمطية Az وفي الوحدات النمطية AzureRm بشكل كبير. يتطلب البرنامج النصي التالي وحدة Azure PowerShell النمطية.

يوضح البرنامج النصي التالي PowerShell كيفية تغيير نهج الاتصال باستخدام PowerShell:

# Get SQL Server ID
$sqlserverid=(Get-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group).ResourceId

# Set URI
$id="$sqlserverid/connectionPolicies/Default"

# Get current connection policy
(Get-AzResource -ResourceId $id -ApiVersion 2014-04-01 -Verbose).Properties.ConnectionType

# Update connection policy
Set-AzResource -ResourceId $id -Properties @{"connectionType" = "Proxy"} -f

قم بتغيير نهج الاتصال عبر Azure CLI

هام

تتطلب جميع البرامج النصية في هذا المقطع Azure CLI.

Azure CLI في Bash shell

يوضح برنامج CLI النصي التالي كيفية تغيير نهج الاتصال في Bash shell:

# Get SQL Server ID
sqlserverid=$(az sql server show -n sql-server-name -g sql-server-group --query 'id' -o tsv)

# Set URI
ids="$sqlserverid/connectionPolicies/Default"

# Get current connection policy
az resource show --ids $ids

# Update connection policy
az resource update --ids $ids --set properties.connectionType=Proxy

Azure CLI من موجه أوامر Windows

يوضح برنامج CLI النصي التالي كيفية تغيير نهج الاتصال من موجه أوامر Windows (مع تثبيت Azure CLI):

# Get SQL Server ID and set URI
FOR /F "tokens=*" %g IN ('az sql server show --resource-group myResourceGroup-571418053 --name server-538465606 --query "id" -o tsv') do (SET sqlserverid=%g/connectionPolicies/Default)

# Get current connection policy
az resource show --ids %sqlserverid%

# Update connection policy
az resource update --ids %sqlserverid% --set properties.connectionType=Proxy

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

  • للحصول على نظرة عامة حول كيفية عمل الاتصال في قاعدة بيانات Azure SQL، راجع بنية الاتصال.
  • للحصول على معلومات حول كيفية تغيير نهج الاتصال لخادم، راجع conn-policy.