21.2. سير عمل المصادقة للمستخدم¶
شكل 21.20 سير العمل العام للمستخدم¶
21.2.1. المصادقة عبر HTTP(S)¶
من أكثر اتصالات الموارد شيوعًا الاتصال عبر HTTP(S)، مثل خوادم الخرائط على الويب، وغالبًا ما تعمل إضافات طرق المصادقة مع هذا النوع من الاتصالات. إذ تستطيع إضافات الطرق الوصول إلى كائن طلب HTTP، ويمكنها التعامل مع الطلب وترويساته. وهذا يتيح أشكالًا كثيرة من المصادقة عبر الإنترنت. وعند الاتصال عبر HTTP(S) باستخدام طريقة المصادقة القياسية باسم المستخدم/كلمة المرور، ستُجرَّب مصادقة HTTP BASIC عند الاتصال.
شكل 21.21 ضبط اتصال WMS لمصادقة HTTP BASIC¶
21.2.2. مصادقة قواعد البيانات¶
تُخزَّن الاتصالات بموارد قواعد البيانات عمومًا على شكل أزواج key=value، مما يكشف أسماء المستخدمين و(اختياريًا) كلمات المرور إذا لم يُستخدم إعداد مصادقة. أما عند الضبط باستخدام نظام المصادقة، فسيكون key=value تمثيلًا مجرّدًا لبيانات الاعتماد، مثل authfg=81t21b9.
شكل 21.22 ضبط اتصال Postgres عبر SSL مع PKI¶
21.2.3. المصادقة عبر PKI¶
عند ضبط مكونات PKI داخل نظام المصادقة، يمكنك اختيار استيراد المكونات إلى قاعدة البيانات أو الإشارة إلى ملفات المكونات المخزنة في نظام ملفاتك. وقد يكون الخيار الثاني مفيدًا إذا كانت هذه المكونات تتغير كثيرًا، أو إذا كان مسؤول النظام سيستبدلها. وفي كلتا الحالتين، ستحتاج إلى تخزين أي عبارة مرور لازمة للوصول إلى المفاتيح الخاصة داخل قاعدة البيانات.
شكل 21.23 سير عمل ضبط PKI¶
يمكن إدارة جميع مكونات PKI في محررات منفصلة داخل Certificate Manager (مدير الشهادات)، الذي يمكن الوصول إليه من تبويب Authentication في نافذة حوار Options في QGIS () بالنقر على الزر Manage Certificates.
شكل 21.24 فتح مدير الشهادات¶
يحتوي Certificate Manager على محررات لكل من Identities (الهويات) و Servers (الخوادم) و Authorities (الجهات). ولكل منها تبويبه الخاص، وهي موصوفة أدناه بالترتيب الذي تظهر به في مخطط سير العمل أعلاه. أما ترتيب التبويبات فيتبع المحررات الأكثر استخدامًا بعد أن تعتاد على سير العمل.
ملاحظة
بما أن جميع التعديلات في نظام المصادقة تُكتب فورًا في قاعدة بيانات المصادقة، فلا حاجة إلى النقر على الزر OK في نافذة حوار Options لحفظ أي تغييرات. وهذا بخلاف الإعدادات الأخرى في نافذة حوار الخيارات.
21.2.3.2. الهويات¶
يمكنك إدارة حزم هويات العميل المتاحة من تبويب Identities في Certificate manager ضمن تبويب Authentication في نافذة حوار Options في QGIS. الهوية هي ما يصادق عليك لدى خدمة تدعم PKI، وتتكون عادةً من شهادة عميل ومفتاح خاص، إما في ملفين منفصلين أو مدمجين في ملف "حزمة" واحد. وغالبًا ما تكون الحزمة أو المفتاح الخاص محميًا بعبارة مرور.
بعد استيراد أي جهات إصدار شهادات (CAs)، يمكنك اختياريًا استيراد أي حزم هويات إلى قاعدة بيانات المصادقة. وإذا لم ترغب في تخزين الهويات، يمكنك الإشارة إلى مسارات ملفات مكوناتها داخل إعداد مصادقة منفرد.
شكل 21.28 محرر الهويات¶
عند استيراد حزمة هوية، قد تكون محمية بعبارة مرور أو غير محمية، وقد تحتوي على شهادات جهات إصدار تشكّل سلسلة ثقة. لن تُستورد شهادات سلسلة الثقة هنا؛ ويمكن إضافتها بشكل منفصل من تبويب Authorities.
عند الاستيراد تُخزَّن شهادة الحزمة ومفتاحها الخاص في قاعدة البيانات، ويُشفَّر تخزين المفتاح باستخدام كلمة المرور الرئيسية لـ QGIS. ولن يتطلب الاستخدام اللاحق للحزمة المخزنة في قاعدة البيانات سوى إدخال كلمة المرور الرئيسية.
حزم الهوية الشخصية المكوّنة من مكونات PEM/DER (.pem/.der) و PKCS#12 (.p12/.pfx) مدعومة. وإذا كان المفتاح أو الحزمة محميًا بعبارة مرور، فستُطلب كلمة المرور للتحقق من المكوّن قبل الاستيراد. وبالمثل، إذا كانت شهادة العميل في الحزمة غير صالحة (مثلًا لم يبدأ تاريخ سريانها بعد أو انقضى)، فلا يمكن استيراد الحزمة.
شكل 21.29 استيراد هويات PEM/DER و PKCS#12¶
21.2.4. التعامل مع الطبقات المعطوبة¶
أحيانًا لا يعود معرّف إعداد المصادقة المحفوظ مع ملف المشروع صالحًا، ربما لأن قاعدة بيانات المصادقة الحالية تختلف عن تلك التي كانت عند آخر حفظ للمشروع، أو بسبب عدم تطابق بيانات الاعتماد. في هذه الحالات تظهر نافذة الحوار Handle bad layers عند تشغيل QGIS.
شكل 21.30 التعامل مع الطبقات المعطوبة باستخدام المصادقة¶
إذا وُجد أن لمصدر بيانات معرّفَ إعداد مصادقة مرتبطًا به، فستتمكن من تعديله. وسيؤدي ذلك تلقائيًا إلى تعديل نص مصدر البيانات، على نحو يشبه فتح ملف المشروع في محرر نصوص وتعديل النص.
شكل 21.31 تعديل معرّف إعداد المصادقة لطبقة معطوبة¶
21.2.5. تغيير معرّف إعداد المصادقة¶
ستحتاج أحيانًا إلى تغيير معرّف إعداد المصادقة المرتبط بالوصول إلى مورد ما. وهناك حالات يكون فيها ذلك مفيدًا:
لم يعد معرّف إعداد مصادقة المورد صالحًا: قد يحدث هذا عندما تنتقل إلى قاعدة بيانات مصادقة أخرى وتحتاج إلى مواءمة إعداد جديد مع المعرّف المرتبط بالمورد مسبقًا.
ملفات المشاريع المشتركة: إذا كنت تنوي مشاركة المشاريع بين المستخدمين، مثلًا عبر خادم ملفات مشترك، يمكنك أن تعرّف مسبقًا معرّفًا من 7 محارف (يحتوي على a-z و/أو 0-9) يرتبط بالمورد. ثم يغيّر كل مستخدم معرّف إعداد المصادقة الخاص ببيانات اعتماده للمورد. وعند فتح المشروع يُعثر على المعرّف في قاعدة بيانات المصادقة، لكن بيانات الاعتماد تختلف من مستخدم لآخر.
شكل 21.32 تغيير معرّف إعداد المصادقة لطبقة (حقل النص الأصفر غير المقفل)¶
تحذير
يُعدّ تغيير معرّف إعداد المصادقة عملية متقدمة، ولا ينبغي القيام به إلا مع إدراك تام لسبب ضرورته. ولهذا يوجد زر قفل يجب النقر عليه لفتح حقل نص المعرّف قبل تعديله.
21.2.6. دعم QGIS Server¶
عند استخدام ملف مشروع يحتوي على طبقات ذات إعدادات مصادقة أساسًا لخريطة في QGIS Server، تلزم بضع خطوات إعداد إضافية كي يتمكن QGIS من تحميل الموارد:
يجب أن تكون قاعدة بيانات المصادقة متاحة
يجب أن تكون كلمة المرور الرئيسية لقاعدة بيانات المصادقة متاحة
عند تهيئة نظام المصادقة، سيُنشئ الخادم الملف qgis-auth.db أو يستخدمه في ملف تعريف المستخدم النشط، أو في المجلد المحدد بمتغير البيئة QGIS_AUTH_DB_DIR_PATH. وقد لا يكون لمستخدم الخادم مجلد HOME، وفي هذه الحالة استخدم متغير البيئة لتحديد مجلد يملك فيه مستخدم الخادم صلاحيات القراءة/الكتابة، ولا يقع ضمن المجلدات التي يمكن الوصول إليها عبر الويب.
لتمرير كلمة المرور الرئيسية إلى الخادم، اكتبها في السطر الأول من ملف موجود في مسار على نظام الملفات يمكن لمستخدم عمليات الخادم قراءته، وحدّد هذا المسار باستخدام متغير البيئة QGIS_AUTH_PASSWORD_FILE. واحرص على أن يكون الملف قابلًا للقراءة من قِبل مستخدم عملية الخادم فقط، وألا تخزّنه ضمن المجلدات التي يمكن الوصول إليها عبر الويب.
ملاحظة
سيُزال المتغير QGIS_AUTH_PASSWORD_FILE من بيئة الخادم فور الوصول إليه.
21.2.7. استثناءات خوادم SSL¶
شكل 21.33 استثناء خادم SSL¶
يمكنك إدارة إعدادات خوادم SSL واستثناءاتها من تبويب Servers في قسم Authentication ضمن نافذة حوار Options في QGIS.
أحيانًا، عند الاتصال بخادم SSL، تقع أخطاء في "المصافحة" (handshake) الخاصة بـ SSL أو في شهادة الخادم. يمكنك تجاهل هذه الأخطاء أو إنشاء إعداد لخادم SSL بوصفه استثناءً. وهذا يشبه سماح متصفحات الويب لك بتجاوز أخطاء SSL، لكن مع تحكم أدق.
تحذير
لا ينبغي لك إنشاء إعداد لخادم SSL ما لم تكن على معرفة تامة بإعداد SSL بالكامل بين الخادم والعميل. وبدلًا من ذلك، أبلغ مسؤول الخادم بالمشكلة.
ملاحظة
تستخدم بعض إعدادات PKI سلسلة ثقة لجهات الإصدار مختلفة تمامًا للتحقق من هويات العملاء عن السلسلة المستخدمة للتحقق من شهادة خادم SSL. وفي هذه الظروف، لن يُصلح أي إعداد تُنشئه للخادم الذي تتصل به بالضرورة مشكلةً في التحقق من هوية العميل الخاصة بك، ولا يستطيع إصلاحها إلا مُصدِر هوية العميل أو مسؤول الخادم.
يمكنك ضبط إعداد خادم SSL مسبقًا بالنقر على الزر
. وبدلًا من ذلك، يمكنك إضافة إعداد عند وقوع خطأ SSL أثناء الاتصال وظهور نافذة الحوار SSL Error (حيث يمكن تجاهل الخطأ مؤقتًا، أو حفظه في قاعدة البيانات وتجاهله):
شكل 21.34 إضافة الإعداد يدويًا¶
شكل 21.35 إضافة الإعداد أثناء خطأ SSL¶
بعد حفظ إعداد SSL في قاعدة البيانات، يمكن تعديله أو حذفه.
شكل 21.36 إعداد SSL موجود¶
شكل 21.37 تعديل إعداد SSL موجود¶
إذا أردت ضبط إعداد SSL مسبقًا ولم تعمل نافذة حوار الاستيراد مع اتصال خادمك، يمكنك تشغيل اتصال يدويًا عبر Python Console (وحدة تحكم Python) بتنفيذ الشيفرة التالية (استبدل https://bugreports.qt-project.org بعنوان URL لخادمك):
from qgis.PyQt.QtNetwork import QNetworkRequest
from qgis.PyQt.QtCore import QUrl
from qgis.core import QgsNetworkAccessManager
req = QNetworkRequest(QUrl('https://bugreports.qt-project.org'))
reply = QgsNetworkAccessManager.instance().get(req)
سيفتح ذلك نافذة حوار أخطاء SSL إذا وقعت أي أخطاء، ويمكنك فيها اختيار حفظ الإعداد في قاعدة البيانات.



