قواعد جدار الحماية في Azure Database for PostgreSQL- خادم مرن

يطبق على: قاعدة بيانات Azure لـ PostgreSQL - الخادم المرن

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

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

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

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

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

Diagram that shows an overview of how the firewall works.

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

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

على سبيل المثال، إذا كان التطبيق الخاص بك يتصل مع برنامج تشغيل الاتصال قاعدة بيانات Java (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

إشعار

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

تواصل من Azure

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

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

  1. في مدخل Microsoft Azure، في جزء الشبكات، حدد مربع الاختيار Allow public access from any Azure service within Azure to this server.
  2. حدد حفظ.

هام

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

Screenshot that shows selections for allowing access to Azure services in the portal.

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

بالإضافة إلى استخدام مدخل 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: FATAL: فشلت مصادقة كلمة المرور للمستخدم "yourusername"

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

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

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

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

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