مشاركة عبر


قواعد جدار الحماية في قاعدة بيانات Azure ل PostgreSQL

عند تشغيل Azure Database for PostgreSQL مرن لمثيل، يكون لديك خياران رئيسيان للشبكات. الخيارات هي الوصول الخاص (تكامل الشبكة الظاهرية) والوصول العام (عناوين IP المسموح بها).

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

يمكنك إنشاء قواعد جدار الحماية باستخدام مدخل Microsoft Azure أو باستخدام أوامر Azure CLI. يجب أن تكون مالك الاشتراك أو مساهما في الاشتراك.

تنطبق قواعد جدار الحماية على مستوى الخادم على جميع قواعد البيانات الموجودة على نفس قاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL. لا تؤثر القواعد على الوصول إلى موقع مدخل Microsoft Azure على الويب.

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

رسم تخطيطي لقواعد جدار الحماية في قاعدة بيانات Azure ل PostgreSQL.

الاتصال من الإنترنت

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

على سبيل المثال، إذا كان تطبيقك يتصل ببرنامج تشغيل Java Database Connectivity (JDBC) لقاعدة بيانات Azure ل PostgreSQL، فقد تواجه هذا الخطأ لأن جدار الحماية يحظر الاتصال:

  • java.util.concurrent.ExecutionException: java.lang.RuntimeException:
  • org.postgresql.util.PSQLException: FATAL: لا يوجد إدخال pg_hba.conf للمضيف "123.45.67.890" ، المستخدم "adminuser" ، قاعدة البيانات "postgresql" ، SSL

Note

للوصول إلى قاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL من جهاز الكمبيوتر المحلي، تأكد من أن جدار الحماية على شبكتك والكمبيوتر المحلي يسمح بالاتصال الصادر على منفذ TCP 5432.

الاتصال من Azure

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

إذا لم يكن عنوان IP الصادر الثابت متاحا لخدمة Azure الخاصة بك، ففكر في تمكين الاتصالات من جميع عناوين IP لمراكز بيانات Azure:

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

  2. حدد حفظ..

    لقطة شاشة لصفحة الشبكات مع جدار الحماية.

    Important

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

إدارة قواعد جدار الحماية برمجيا

بالإضافة إلى استخدام مدخل Microsoft Azure، يمكنك إدارة قواعد جدار الحماية برمجيا باستخدام Azure CLI.

من Azure CLI، يقوم إعداد قاعدة جدار الحماية بعنوان بداية ونهاية يساوي 0.0.0.0 بما يعادل خيار السماح بالوصول العام من أي خدمة Azure داخل Azure إلى هذا الخادم في المدخل. إذا رفضت قواعد جدار الحماية محاولة الاتصال، فلن يصل التطبيق إلى قاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL.

استكشاف مشكلات جدار الحماية وإصلاحها

ضع في اعتبارك الاحتمالات التالية عندما لا يتصرف الوصول إلى مثيل خادم مرن قاعدة بيانات Azure ل PostgreSQL كما تتوقع:

  • لم تدخل التغييرات التي تم إجراؤها على القائمة المسموح بها حيز التنفيذ بعد: قد تستغرق التغييرات التي تم إجراؤها على تكوين جدار الحماية لقاعدة بيانات Azure لمثيل الخادم المرن PostgreSQL ما يصل إلى خمس دقائق.

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

على سبيل المثال، قد يظهر الخطأ التالي إذا فشلت المصادقة لعميل JDBC:

  • java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: فادح: فشلت مصادقة كلمة المرور للمستخدم "yourusername"

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

  • اطلب من موفر خدمة الإنترنت (ISP) نطاق عنوان IP المعين لأجهزة الكمبيوتر العميلة التي تصل إلى مثيل الخادم المرن لقاعدة بيانات Azure ل PostgreSQL. ثم أضف نطاق عنوان IP كقاعدة جدار حماية.

  • احصل على عناوين IP ثابتة بدلا من ذلك لأجهزة الكمبيوتر العميلة، ثم أضف عناوين IP الثابتة كقاعدة جدار حماية.

  • قواعد جدار الحماية غير متوفرة لتنسيق IPv6: يجب أن تكون قواعد جدار الحماية بتنسيق IPv4. إذا قمت بتحديد قواعد جدار الحماية بتنسيق IPv6، فستظهر لك خطأ في التحقق من الصحة.