Azure Private Link for Azure Synapse Analytics

نصيحة

Microsoft Fabric Data Warehouse هو مستودع علائقي على نطاق مؤسسي قائم على أساس بحيرة البيانات، مع بنية جاهزة للمستقبل، وذكاء اصطناعي مدمج، وميزات جديدة. إذا كنت جديدا في مستودع البيانات، ابدأ ب Fabric Data Warehouse. يمكن لأحمال عمل تجمع SQL المخصصة الحالية الترقية إلى Fabric للوصول إلى قدرات جديدة في علوم البيانات، والتحليلات اللحظية، والتقارير.

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

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

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

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

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

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

  1. اذهب إلى مورد الخادم في بوابة Azure.

  2. اذهب إلى صفحة الموافقة الخاصة على نقطة النهاية. في Azure Synapse Analytics SQL server resource، تحت Security في قائمة الموارد، اختر Private endpoint connections.

  3. شاهد ما يلي:

    • قائمة بجميع اتصالات نقاط النهاية الخاصة (PECs)
    • نقاط نهاية خاصة تم إنشاؤها (PE)
  4. إذا لم تكن هناك نقاط نهاية خاصة، أنشئ واحدة باختيار إنشاء نقطة نهاية خاصة. وإلا، اختر PEC فرديا من القائمة باختياره.

  5. يمكن لمسؤول SQL الموافقة أو رفض PEC وإضافة رد نصي قصير اختياريا.

  6. بعد الموافقة أو الرفض، تعكس القائمة الحالة المناسبة مع نص الرد.

  7. اختر اسم نقطة النهاية الخاصة.

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

    تظهر صفحة واجهة الشبكة عنوان IP الخاص لاتصال نقطة النهاية الخاصة.

Important

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

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

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

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

  1. اذهب إلى صفحة الشبكات في خادمك المنطقي.
  2. اختر خيار رفض الوصول إلى الشبكة العامة .

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

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

  1. ابدأ جلسة سطح مكتب بعيد (RDP) واتصل بالآلة الافتراضية.

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

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

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

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

telnet 10.9.0.4 1433

عندما يتصل Telnet بنجاح، يعيد شاشة فارغة عند نافذة الأوامر.

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

استخدم أمر 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 يمكنه ping إلى عنوان IP الخاص المرتبط بنقطة النهاية الخاصة.

تحقق من الاتصال باستخدام 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 أو باستخدام الرابط الخاص FQDN (<server>.privatelink.database.windows.net) تفشل. هذا السلوك مقصود، حيث توجه نقطة النهاية الخاصة حركة مرور إلى بوابة SQL في المنطقة. تحتاج إلى تحديد FQDN الصحيح لكي تنجح عمليات تسجيل الدخول.

اتبع الخطوات في Use SSMS للاتصال بقاعدة بيانات 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. يوضح الرسم التخطيطي المبسط التالي حالات الاستخدام الشائعة.

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

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

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

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

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

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

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

ضع في اعتبارك سيناريوهات تكوين DNS أيضا، حيث يمكن لرقم FQDN للخدمة أن يصل إلى عنوان IP العام.

Connect from Azure Synapse Analytics to تخزين Azure باستخدام PolyBase وبيان COPY

Use PolyBase وعبارة COPY لتحميل البيانات إلى Azure Synapse Analytics من حسابات تخزين Azure. إذا كان حساب تخزين Azure الذي تقوم بتحميل البيانات منه يحد من الوصول فقط إلى مجموعة من شبكات الشبكة الافتراضية باستخدام نقاط النهاية الخاصة أو نقاط الخدمة أو الجدران النارية المعتمدة على IP، فإن الاتصال من PolyBase وبيان COPY إلى الحساب ينقطع. لتمكين كل من سيناريوهات الاستيراد والتصدير مع اتصال Azure Synapse Analytics ب تخزين Azure المؤمن بشبكة افتراضية، انظر تأثير استخدام نقاط نهاية خدمة الشبكة الافتراضية مع تخزين Azure.

منع تسرب البيانات

يحدث استخراج البيانات عندما يقوم مستخدم، مثل مسؤول قاعدة البيانات، باستخراج البيانات من نظام معين وينقلها إلى موقع أو نظام آخر خارج المنظمة. على سبيل المثال، ينقل المستخدم البيانات إلى حساب تخزين مملوك لكيان غير تابع ل Microsoft.

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

  1. قم بتعطيل جميع حركة مرور خدمات Azure إلى قاعدة بيانات SQL عبر نقطة النهاية العامة عن طريق تعيين Allow Azure Services على OFF. تأكد من أن قواعد جدار الحماية على مستوى الخادم وقاعدة البيانات لا تسمح بأي عناوين IP. لمزيد من المعلومات، انظر Azure Synapse Analytics network access controls.
  2. السماح بحركة المرور فقط إلى عنوان IP الخاص للجهاز الافتراضي. لمزيد من المعلومات، راجع قواعد جدار الحماية للشبكة الافتراضية.
  3. في جهاز Azure VM، قم بتضييق نطاق الاتصالات الصادرة باستخدام مجموعات أمان الشبكة (NSGs) وعلامات الخدمة كما يلي:
    • حدد قاعدة NSG للسماح بحركة المرور ل Service Tag = SQL.WestUs - التي تسمح فقط بالاتصال بقاعدة بيانات SQL في غرب الولايات المتحدة.
    • حدد قاعدة NSG ذات أولوية أعلى لرفض حركة المرور ل Service Tag = Sql - التي تمنع الاتصالات إلى قاعدة بيانات SQL في جميع المناطق.

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

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