Azure Private Link لـAzure SQL Database وAzure Synapse Analytics

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

يسمح لك Private Link بالاتصال بخدمات PAAS المختلفة في Azure عبر ⁧⁩نقطة نهاية خاصة⁧⁩. للحصول على قائمة خدمات PAAS التي تدعم وظائف Private Link، انتقل إلى صفحة ⁧⁩وثائق Private Link⁧⁩. نقطة النهاية الخاصة هي عنوان IP خاص داخل ⁧⁩VNet⁧⁩ وشبكة فرعية محددة.

هام

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

عملية الإنشاء

يمكن إنشاء نقاط النهاية الخاصة باستخدام مدخل Azure أو PowerShell أو Azure CLI:

عملية الموافقة

بمجرد أن ينشئ مسؤول الشبكة نقطة النهاية الخاصة (PE)، يمكن لمسؤول SQL إدارة اتصال نقطة النهاية الخاصة (PEC) بقاعدة بيانات SQL.

  1. انتقل إلى مورد الخادم في مدخل Azure وفقًا للخطوات الموضحة في لقطة الشاشة أدناه

    • (1) حدد اتصالات نقطة النهاية الخاصة في الجزء الأيسر
    • (2) يعرض قائمة بجميع اتصالات نقطة النهاية الخاصة (PECs)
    • (3) نقطة النهاية الخاصة المقابلة التي تم إنشاؤها Screenshot of all PECs
  2. حدد اتصالاً فرديًا لنقطة النهاية الخاصة من القائمة عن طريق تحديده. Screenshot selected PEC

  3. يمكن لمسؤول SQL اختيار الموافقة على اتصال نقطة النهاية الخاصة أو رفضه وإضافة رد نصي قصير اختياريًا. Screenshot of PEC approval

  4. بعد الموافقة أو الرفض، ستعكس القائمة الحالة المناسبة مع نص الرد. Screenshot of all PECs after approval

  5. وأخيرًا، انقر فوق اسم نقطة النهاية الخاصة Screenshot of PEC details

    يؤدي إلى تفاصيل واجهة الشبكة Screenshot of NIC details

    مما يؤدي أخيرًا إلى عنوان IP لنقطة النهاية الخاصة Screenshot of Private IP

هام

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

تعطيل الوصول العام إلى خادم Azure SQL المنطقي

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

أولاً، تأكد من تمكين اتصالات نقطة النهاية الخاصة وتكوينها. بعد ذلك، لتعطيل الوصول العام إلى الخادم المنطقي الخاص بك، قم بما يلي:

  1. انتقل إلى جدران الحماية وجزء الشبكة الظاهرية من خادم Azure SQL المنطقي.
  2. حدد خانة الاختيار رفض الوصول إلى شبكة الاتصال العامة.

Screenshot that shows selecting the Deny public network access option.

اختبار الاتصال بقاعدة بيانات SQL من جهاز Azure الظاهري في نفس الشبكة الظاهرية

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

  1. ⁩بدء تشغيل جلسة سطح مكتب البعيد والاتصال بالجهاز الظاهري.⁧⁩.

  2. يمكنك بعد ذلك إجراء بعض عمليات التحقق من الاتصال الأساسية للتأكد من اتصال الجهاز الظاهري بقاعدة بيانات SQL عبر نقطة النهاية الخاصة باستخدام الأدوات التالية:

    1. Telnet
    2. Psping
    3. Nmap
    4. SQL Server Management Studio (SSMS)

التحقق من الاتصال باستخدام Telnet

⁩عميل Telnet⁧⁩ هو ميزة من ميزات نظام التشغيل Windows يمكن استخدامها لاختبار الاتصال. تبعًا لإصدار نظام التشغيل Windows، قد تحتاج إلى تمكين هذه الميزة بشكل صريح.

افتح إطار موجه الأوامر بعد تثبيت Telnet. تشغيل الأمر Telnet وتحديد عنوان IP ونقطة النهاية الخاصة لقاعدة البيانات في قاعدة بيانات SQL.

>telnet 10.9.0.4 1433

عند اتصال Telnet بنجاح، سترى شاشة فارغة في نافذة الأمر كما في الصورة أدناه:

Diagram of telnet

استخدام أمر Powershell للتحقق من الاتصالية

Test-NetConnection -computer myserver.database.windows.net -port 1433

التحقق من الاتصال باستخدام Psping

يمكن استخدام Psping على النحو التالي للتحقق من أن نقطة النهاية الخاصة تستمع إلى الاتصالات على المنفذ 1433.

تشغيل psping كما يلي عن طريق توفير FQDN لملقم SQL المنطقي والمنفذ 1433:

>psping.exe mysqldbsrvr.database.windows.net:1433
...
TCP connect to 10.9.0.4:1433:
5 iterations (warmup 1) ping test:
Connecting to 10.9.0.4:1433 (warmup): from 10.6.0.4:49953: 2.83ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49954: 1.26ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49955: 1.98ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49956: 1.43ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49958: 2.28ms

يظهر الإخراج أن Psping يمكنه اختبار اتصال عنوان IP الخاص المقترن بنقطة النهاية الخاصة.

التحقق من الاتصال باستخدام Nmap

Nmap (مخطط الشبكة) هو أداة مجانية ومفتوحة المصدر تستخدم لاكتشاف الشبكة والتدقيق الأمني. لمزيد من المعلومات ورابط التنزيل، تفضّل بزيارة⁧ https://nmap.org ⁩. يمكنك استخدام هذه الأداة للتأكد من أن نقطة النهاية الخاصة تستمع إلى الاتصالات على المنفذ 1433.

قم بتشغيل NMAP على النحو التالي من خلال توفير نطاق العنوان من الشبكة الفرعية التي تستضيف نقطة النهاية الخاصة.

>nmap -n -sP 10.9.0.0/24
...
Nmap scan report for 10.9.0.4
Host is up (0.00s latency).
Nmap done: 256 IP addresses (1 host up) scanned in 207.00 seconds

تظهر النتيجة أن عنوان IP واحد فوق؛ الذي يتوافق مع عنوان IP لنقطة النهاية الخاصة.

التحقق من الاتصال باستخدام SQL Server Management Studio (SSMS)

ملاحظة

استخدم ⁧⁩اسم المجال المؤهل بالكامل (FQDN)⁧⁩ للخادم في سلاسل الاتصال لعملائك (⁧<server>.database.windows.net⁩). يجب أن تفشل أي محاولات تسجيل دخول مصنوعة مباشرة إلى عنوان IP أو استخدام اسم المجال المؤهل بالكامل للرابط الخاص (⁧<server>.privatelink.database.windows.net⁩). هذا السلوك حسب التصميم، نظرًا إلى أن نقاط النهاية الخاصة توجه حركة المرور إلى بوابة SQL في المنطقة ويجب تحديد اسم المجال المؤهل بالكامل الصحيح لتسجيلات الدخول لتحقيق النجاح.

اتبع الخطوات المذكورة هنا لاستخدام ⁧⁩SSMS للاتصال بقاعدة بيانات SQL⁧⁩. بعد الاتصال بقاعدة بيانات SQL باستخدام SSMS، يجب أن يعكس الاستعلام التالي client_net_address التي تتطابق مع عنوان IP الخاص لجهاز Azure ظاهري الذي تتصل منه:

select client_net_address from sys.dm_exec_connections 
where session_id=@@SPID

التقييدات

اتصالات بنقطة النهاية الخاصة لا تدعم إلا ⁧⁩الوكيل ⁧⁩ ⁧⁩كنهج اتصال⁧

الاتصال الداخلي عبر التناظر الخاص

عندما يتصل العملاء بنقطة النهاية العامة من الأجهزة الداخلية، يجب إضافة عنوان IP الخاص بهم إلى جدار الحماية المستند إلى عنوان IP باستخدام ⁧⁩قاعدة جدار حماية على مستوى الخادم⁧⁩. في حين أن هذا النموذج يعمل بشكل جيد للسماح بالوصول إلى الأجهزة الفردية لأحمال العمل التطوير أو اختبار، فإنه من الصعب إدارة في بيئة الإنتاج.

مع Private Link، يمكن للعملاء تمكين الوصول الداخلي إلى نقطة النهاية الخاصة باستخدام ⁧⁩ExpressRoute⁧⁩أو التناظر الخاص أو نفق VPN. يمكن للعملاء بعد ذلك تعطيل جميع الوصول عبر نقطة النهاية العامة وعدم استخدام جدار الحماية المستند إلى عنوان IP للسماح بكل عناوين IP.

يمكن للعملاء الاتصال بنقطة النهاية الخاصة من نفس الشبكة الظاهرية، أو الشبكة الظاهرية النظيرة في نفس المنطقة، أو عبر الشبكة الظاهرية لاتصال الشبكة الظاهرية عبر المناطق. بالإضافة إلى ذلك، يمكن للعملاء الاتصال من الداخل الموقع باستخدام ExpressRoute أو التناظر الخاص أو نفق VPN. وفيما يلي مخطط مبسط يوضح حالات الاستخدام الشائعة.

Diagram of connectivity options

بالإضافة إلى ذلك، يمكن للخدمات التي لا تعمل مباشرة في الشبكة الافتراضية ولكنها مدمجة معها (على سبيل المثال، تطبيقات ويب App Service أو وظائفها) تحقيق اتصال خاص بقاعدة البيانات. لمزيد من المعلومات حول حالة الاستخدام المحددة هذه، راجع سيناريو بنية ⁧⁩تطبيق ويب مع اتصال خاص بقاعدة بيانات Azure SQL⁧⁩.

الاتصال من جهاز Azure ظاهري في شبكة ظاهرية نظيرة

تكوين ⁧⁩نظير الشبكة الافتراضية ⁧⁩ لتأسيس الاتصال بقاعدة بيانات SQL من جهاز Azure الظاهري في شبكة ظاهرية نظيرة.

الاتصال من جهاز Azure ظاهري في الشبكة الظاهرية إلى بيئة الشبكة الظاهرية

تكوين ⁧⁩الشبكة الظاهرية إلى اتصال بوابة VPN للشبكة الظاهرية⁧⁩ لإنشاء اتصال لقاعدة بيانات في قاعدة بيانات SQL من جهاز Azure ظاهري في منطقة مختلفة أو اشتراك.

الاتصال من بيئة محلية عبر VPN

لإنشاء اتصال من بيئة محلية إلى قاعدة البيانات في قاعدة بيانات SQL، اختر أحد الخيارات ونفذه:

ضع في اعتبارك سيناريوهات تكوين DNS أيضًا، حيث يمكن لاسم المجال المؤهل بالكامل للخدمة حل عنوان IP العام.

الاتصال من Azure Synapse Analytics إلى Azure Storage باستخدام عبارة COPY وPolybase

تستخدم عبارة COPY وPolybase بشكل شائع لتحميل البيانات في Azure Synapse Analytics من حسابات Azure Storage. إذا كان حساب Azure Storage الذي تقوم بتحميل البيانات منه يحد من الوصول فقط إلى مجموعة من الشبكات الفرعية للشبكة الظاهرية عبر نقاط النهاية الخاصة أو نقاط النهاية للخدمة أو جدران الحماية المستندة إلى عنوان IP، فسيقطع الاتصال من عبارة COPY وPolybase إلى الحساب. لتمكين كل من سيناريوهات الاستيراد والتصدير مع Azure Synapse Analytics المتصل بـ Azure Storage الآمنة بالنسبة لشبكة ظاهرية، اتبع الخطوات المذكورة هنا.

⁧⁩منع النقل غير المصرّح به للبيانات⁧⁩

النقل غير المصرّح به للبيانات في Azure SQL Database هو عندما يتمكن مستخدم، مثل مسؤول قاعدة بيانات، من استخراج البيانات من نظام ونقله إلى موقع أو نظام آخر خارج المؤسسة. على سبيل المثال، ينقل المستخدم البيانات إلى حساب تخزين يملكه طرف ثالث.

خذ بعين الاعتبار سيناريو يتضمن مستخدمًا يشغل SQL Server Management Studio (SSMS) داخل جهاز Azure ظاهري متصل بقاعدة بيانات في قاعدة بيانات SQL. قاعدة البيانات هذه في مركز بيانات غرب الولايات المتحدة. يوضح المثال المذكور أدناه كيفية الحد من الوصول باستخدام نقاط النهاية العامة في قاعدة بيانات SQL باستخدام ضوابط الوصول إلى الشبكة.

  1. تعطيل جميع حركات مرور خدمة Azure إلى قاعدة بيانات SQL عبر نقطة النهاية العامة من خلال وضع إعداد Allow Azure Services على ⁧⁩OFF⁧⁩. تأكد من عدم السماح بعناوين IP في قواعد جدار الحماية على مستوى الخادم وقاعدة البيانات. لمزيد من المعلومات، راجع ⁧⁩ضوابط الوصول إلى شبكة الخاصة بـ Azure SQL Database وAzure Synapse Analytics⁧⁩.
  2. لا تسمح إلا بحركة المرور إلى قاعدة البيانات في قاعدة بيانات SQL باستخدام عنوان IP الخاص لجهاز ظاهري. لمزيد من المعلومات، راجع مقالات حول ⁧⁩نقطة نهاية الخدمة⁧⁩ ⁧⁩وقواعد جدار حماية للشبكة الافتراضية⁧⁩.
  3. على أجهزة Azure الظاهرية، قم بتضييق نطاق الاتصال الصادر باستخدام ⁧⁩مجموعات أمان الشبكة⁧⁩ وعلامات الخدمة على النحو التالي
    • حدد قاعدة مجموعة أمان الشبكة للسماح بحركة المرور لعلامات الخدمة = SQL. WestUs - وعدم السماح إلا للاتصال بقاعدة بيانات SQL في غرب الولايات المتحدة
    • حدد قاعدة مجموعة أمان الشبكة (ذات ⁧⁩أولوية أعلى⁧⁩) لمنع حركة المرور لعلامات الخدمة = SQL - حظر الاتصالات بقاعدة بيانات SQL في جميع المناطق

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

مع Private Link، يمكن للعملاء الآن إعداد ضوابط الوصول إلى الشبكة مثل مجموعات أمان الشبكة لتقييد الوصول إلى نقطة النهاية الخاصة. ثم يتم تعيين موارد Azure PaaS الفردية إلى نقاط نهاية خاصة معينة. لا يمكن لبرنامج ضار داخلي إلا الوصول إلى مورد PaaS المعين (على سبيل المثال قاعدة بيانات في قاعدة بيانات SQL) وليس إلى مورد آخر.

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