قواعد جدار الحماية في قاعدة بيانات Azure ل PostgreSQL - خادم مرن
عند تشغيل قاعدة بيانات Azure ل PostgreSQL - الخادم المرن، يكون لديك خياران رئيسيان للشبكة. الخيارات هي الوصول الخاص (تكامل الشبكة الافتراضية) والوصول العام (عناوين IP المسموح بها).
باستخدام الوصول العام، يتم الوصول إلى قاعدة بيانات Azure لخادم PostgreSQL من خلال نقطة نهاية عامة. بشكل افتراضي، يحظر جدار الحماية كل الوصول إلى الخادم. لتحديد مضيفي IP الذين يمكنهم الوصول إلى الخادم، يمكنك إنشاء قواعد جدار حماية على مستوى الخادم. تحدد قواعد جدار الحماية نطاقات عناوين IP العامة المسموح بها. يمنح جدار الحماية حق الوصول إلى الخادم استنادا إلى عنوان IP الأصلي لكل طلب.
يمكنك إنشاء قواعد جدار الحماية باستخدام مدخل Azure أو باستخدام أوامر Azure CLI. يجب أن تكون مالك الاشتراك أو مساهما في الاشتراك.
تنطبق قواعد جدار الحماية على مستوى الخادم على كافة قواعد البيانات الموجودة على نفس قاعدة بيانات Azure لخادم PostgreSQL. لا تؤثر القواعد على الوصول إلى موقع مدخل Azure على الويب.
يوضح الرسم التخطيطي التالي كيفية مرور محاولات الاتصال من الإنترنت وAzure عبر جدار الحماية قبل أن تتمكن من الوصول إلى قواعد بيانات PostgreSQL:
الاتصال من الإنترنت
إذا كان عنوان IP المصدر للطلب ضمن أحد النطاقات المحددة في قواعد جدار الحماية على مستوى الخادم، منح الاتصال. خلاف ذلك ، يتم رفضه.
على سبيل المثال، إذا كان التطبيق الخاص بك يتصل ببرنامج تشغيل اتصال قاعدة بيانات Java (JDBC) ل PostgreSQL، فقد تواجه هذا الخطأ لأن جدار الحماية يحظر الاتصال:
java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "123.45.67.890", user "adminuser", database "postgresql", SSL
الاتصال من Azure
نوصي بالعثور على عنوان IP الصادر لأي تطبيق أو خدمة والسماح صراحة بالوصول إلى عناوين IP الفردية أو النطاقات. على سبيل المثال، يمكنك العثور على عنوان IP الصادر لتطبيق Azure App Service، أو استخدام عنوان IP عام مرتبط بجهاز ظاهري.
إذا لم يكن عنوان IP صادرا ثابتا متاحا لخدمة Azure الخاصة بك، ففكر في تمكين الاتصالات من جميع عناوين IP لمراكز بيانات Azure:
- في مدخل Azure، في جزء الشبكات ، حدد خانة الاختيار السماح بالوصول العام من أي خدمة Azure داخل Azure إلى هذا الخادم .
- حدد حفظ.
هام
يقوم الخيار السماح بالوصول العام من أي خدمة Azure داخل Azure إلى هذا الخادم بتكوين جدار الحماية للسماح بجميع الاتصالات من Azure، بما في ذلك الاتصالات من اشتراكات العملاء الآخرين. عند استخدام هذا الخيار، تأكد من أن أذونات تسجيل الدخول والمستخدم تقصر الوصول على المستخدمين المصرح لهم فقط.
إدارة قواعد جدار الحماية برمجيا
بالإضافة إلى استخدام مدخل 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: FATAL: فشلت مصادقة كلمة المرور للمستخدم "yourusername"
لا يسمح جدار الحماية بعناوين IP الديناميكية: إذا كان لديك اتصال بالإنترنت باستخدام عنوان IP ديناميكي وكنت تواجه مشكلة في الوصول إلى جدار الحماية، فجرب أحد الحلول التالية:
اسأل موفر خدمة الإنترنت (ISP) عن نطاق عنوان IP المعين لأجهزة الكمبيوتر العميلة التي تصل إلى قاعدة بيانات Azure لخادم PostgreSQL. ثم أضف نطاق عنوان IP كقاعدة جدار حماية.
احصل على عناوين IP ثابتة بدلا من ذلك لأجهزة الكمبيوتر العميلة، ثم أضف عناوين IP الثابتة كقاعدة جدار حماية.
لا تتوفر قواعد جدار الحماية لتنسيق IPv6: يجب أن تكون قواعد جدار الحماية بتنسيق IPv4. إذا قمت بتحديد قواعد جدار الحماية بتنسيق IPv6، فستحصل على خطأ في التحقق من الصحة.