تكوين TLS في Azure Cosmos DB ل PostgreSQL

ينطبق على: Azure Cosmos DB ل PostgreSQL (مدعوم بملحق قاعدة بيانات Citus إلى PostgreSQL)

تتطلب عقدة المنسق من تطبيقات العميل الاتصال ب Transport Layer Security (TLS). يساعد فرض TLS بين خادم قاعدة البيانات وتطبيقات العميل على الحفاظ على سرية البيانات أثناء النقل. توفر إعدادات التحقق الإضافية الموضحة أدناه الحماية أيضاً من هجمات "الوسيط".

فرض الاتصالات الخاصة بـ TLS

تستخدم التطبيقات "connection string" لتعريف قاعدة البيانات الوجهة وإعدادات الاتصال. يتطلب العملاء المختلفون إعدادات مختلفة. لمشاهدة قائمة بسلاسل الاتصال المستخدمة من قبل العملاء الشائعين، راجع قسم سلاسل الاتصال لنظام المجموعة في مدخل Microsoft Azure.

تختلف معلمات TLS ssl وsslmode استنادًا إلى قدرات الموصل، على سبيل المثال ssl=true أو sslmode=require أو sslmode=required.

تأكد من أن التطبيق أو إطار العمل الخاص بك يدعم اتصالات TLS

لا تمكن بعض أطر عمل التطبيقات TLS بشكل افتراضي لاتصالات PostgreSQL. ومع ذلك، بدون اتصال آمن، لا يمكن للتطبيق الاتصال بعقدة المنسق. راجع مستند التطبيق الخاص بك لمعرفة كيف يمكن تمكين اتصالات TLS.

التطبيقات التي تتطلب التحقق من الشهادة من أجل إجراء اتصال TLS

في بعض الحالات، تتطلب التطبيقات ملف شهادة محلية تم إنشاؤه من ملف شهادة مرجع مصدق (CA) موثوق به (cer.) للاتصال بأمان. توجد الشهادة للاتصال ب Azure Cosmos DB ل PostgreSQL في https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem. قم بتنزيل ملف الشهادة واحفظه في الموقع المفضل الخاص بك.

ملاحظة

للتحقق من مصداقية الشهادة، يمكنك التحقق من بصمة إصبع SHA-256 باستخدام أداة سطر أوامر OpenSSL:

openssl x509 -in DigiCertGlobalRootG2.crt.pem -noout -sha256 -fingerprint

# should output:
# CB:3C:CB:B7:60:31:E5:E0:13:8F:8D:D3:9A:23:F9:DE:47:FF:C3:5E:43:C1:14:4C:EA:27:D4:6A:5A:B1:CB:5F

إجراء الاتصال باستخدام psql

يوضح المثال التالي كيفية الاتصال بعقدة المنسق باستخدام الأداة المساعدة لسطر الأوامر psql. استخدم إعداد سلسلة الاتصال sslmode=verify-full لفرض التحقق من شهادة TLS/SSL. قم بتمرير مسار ملف الشهادة المحلية إلىsslrootcertالمعلمة.

وفيما يلي مثال على سلسلة اتصال psql:

psql "sslmode=verify-full sslrootcert=DigiCertGlobalRootG2.crt.pem host=c-mydemocluster.12345678901234.postgres.cosmos.azure.com dbname=citus user=citus password=your_pass"

تلميح

تأكد من أن القيمة التي تم تمريرهاsslrootcert تتطابق مع مسار الملف للشهادة التي قمت بحفظها.

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

زيادة الأمان بشكل أكبر باستخدام قواعد جدار الحماية في Azure Cosmos DB ل PostgreSQL.