استكشاف مشاكل OpenLDAP وإصلاحها

أنت تعرض مستندات Apigee Edge.
انتقل إلى مستندات Apigee X.
معلومات

يقدم هذا القسم معلومات وإرشادات حول استكشاف أخطاء OpenLDAP وإصلاحها.

تم إيقاف SMTP ويحتاج المستخدمون إلى إعادة الضبط. كلمة المرور

المشكلة

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

رسائل الخطأ

Unknown username and password combination.

الأسباب المحتملة

في حين لا يمكن للمستخدمين الجدد تلقّي رسالة إلكترونية من القسم "هل نسيت كلمة المرور؟" رابط لضبطها كلمة مرور لأنه لم يتم إعداد SMTP.

الدقة

يمكنك معالجة هذه المشكلة بإحدى الطرق التالية:

الحل 1: إعداد خادم SMTP

اضبط خادم SMTP لضبط كلمة مرور جديدة للمستخدم باستخدام الإرشادات المتوفرة. في المستندات.

الحل 2: استخدام LDAP

إذا لم تتمكن من تهيئة خادم SMTP، فاستخدم أوامر LDAP التالية لتعيين كلمة مرور جديدة للمستخدم:

  1. يجب على مشرف المؤسسة الحالي إضافة المستخدم المحدد عبر واجهة مستخدم Edge كما هو موضح أدناه:

  2. استخدام الأمر ldapsearch للعثور على الاسم المميّز للمستخدم (dn) وإعادة توجيه الإخراج إلى ملف:
    ldapsearch -w Secret123 -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h localhost -p 10389 > ldap.txt
    

    في ما يلي مثال على إدخال اسم النطاق (dn) لمستخدم، بالإضافة إلى سمات المستخدم:

    dn:uid=f7a4a4a5-7c43-4168-a47e-6e9a1417cc29,ou=users,ou=global,dc=apigee,dc=com
    mail: apigee_validator@apigee.com
    userPassword:: e1NTSEF9b0FrMFFXVmFjbWRxM1BVaFZzMnllWGZMdkNvNjMwNTJlUDZYN3c9PQ=
     =
    uid: f7a4a4a5-7c43-4168-a47e-6e9a1417cc29
    objectClass: inetOrgPerson
    sn: Validator
    cn: apigee
    
  3. افتح ملف ldap.txt وابحث عن اسم النطاق للمستخدم الجديد الذي تمت إضافته. استنادًا إلى سمة البريد الإلكتروني للمستخدم الجديد.
  4. نفِّذ الأمر ldappassword لإضافة كلمة مرور للمستخدم الجديد. باستخدام الاسم المميز في هذا المثال، يتم إعداد كلمة مرور المستخدم على Apigee123:
    ldappasswd -h localhost -p 10389 -D "cn=manager,dc=apigee,dc=com" -W -s Apigee123
    "uid=f7a4a4a5-7c43-4168-a47e-6e9a1417cc29,ou=users,ou=global,dc=apigee,dc=com"
    
  5. سجّل الدخول إلى واجهة مستخدم Edge كمستخدم جديد باستخدام كلمة المرور المحددة في الخطوة السابقة. تشير رسالة الأشكال البيانية يمكن للمستخدم ضبط كلمة مرور جديدة بعد تسجيل الدخول إلى واجهة المستخدم.

LDAP لا يقوم بالتكرار

المشكلة

تحتوي العديد من عمليات تثبيت Edge على مراكز بيانات متعددة، على سبيل المثال DC-1 وDC-2. عند التسجيل في واجهة مستخدم Edge في DC-1 بصفتك مشرف مؤسسة، يمكنك عرض قائمة المستخدمين، ولكن ستظهر قائمة المستخدمين نفسها لا يظهر في واجهة مستخدم Edge في DC-2.

رسائل الخطأ

لا تظهر أي أخطاء، فواجهة مستخدم Edge لا تعرض قائمة المستخدمين الذين كان من المفترض تكرارها عبر جميع خوادم OpenLDAP.

الأسباب المحتملة

عادةً ما يكون سبب هذه المشكلة هو تهيئة نسخ OpenLDAP التي تم إعدادها بشكل غير صحيح، بالتركيبة نفسها. كذلك، قد ينقطع النسخ المماثل إذا كانت الشبكة بين خوادم OpenLDAP لا تسمح بحركة المرور على المنفذ 10389.

التشخيص

يُرجى اتّباع الخطوات التالية لتشخيص المشكلة:

  1. تحقق مما إذا كان ldapsearch يعرض البيانات من كل خادم OpenLDAP:
    ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h <host-ip> -p 10389
    
  2. تحقق من إمكانية الاتصال بكل عقدة OpenLDAP من عُقد OpenLDAP الأخرى على المنفذ 10389. في حال تثبيت telnet، استخدم الأمر التالي:
    telnet <OpenLDAP_Peer_IP> 10389
    
  3. إذا لم تكن شبكة telnet متاحة، فاستخدم netcat للتحقق من الاتصال على النحو التالي:

    nc -vz <OpenLDAP_Peer_IP> 10389
    
  4. تحقق من تهيئة النسخ المتماثل في الملف التالي:
    /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
    

    يجب أن يحتوي الملف على إعدادات مثل هذه:

    olcSyncRepl: rid=001
      provider=ldap://__OTHER_LDAP_SERVER__/
      binddn="cn=manager,dc=apigee,dc=com"
      bindmethod=simple
      credentials=__LDAP_PASSWORD__
      searchbase="dc=apigee,dc=com"
      attrs="*,+"
      type=refreshAndPersist
      retry="60 1 300 12 7200 +"
      timeout=1
    
  5. تحقَّق أيضًا من الملف نفسه بحثًا عن قيمة السمة olcMirrorMode. يجب أن يكون إلى القيمة TRUE:
    grep olcMirrorMode /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
    
  6. تحقَّق من توفُّر قواعد برنامجَي تضمين iptables وtcp. يُرجى إزالة أي قواعد لا تسمح خوادم OpenLDAP المشابهة للاتصال ببعضها بعضًا. العمل مع مشرف الشبكة لوضع القواعد بشكل مناسب.
  7. تأكَّد من أن كلمة مرور نظام OpenLDAP هي نفسها على كل عقدة OpenLDAP.
  8. تحقّق من عدم وجود أحرف مخفية في ملفات إعداد ldif المستخدَمة في إعداد النسخ المتماثل لـ N-Way OpenLDAP من خلال تنفيذ dos2unix مقابل ملفات ldif التي تم إنشاؤه لتحديث التهيئة. عادة ما يتسبب ملف ldif الذي يحتوي على أحرف غير صالحة في تعذُّر تشغيل الأمر ldapmodify، وبالتالي قد لا يتم إعداد النسخ المماثل. إزالة أي محتوى سيئ وحفظ ملفات التهيئة.

إذا استمرت المشكلة، يُرجى التواصل مع دعم Apigee للحصول على مساعدة في إعداد النسخ المماثل لـ N-Way OpenLDAP.

تعذر بدء OpenLDAP

المشكلة

لا يبدأ بروتوكول OpenLDAP.

رسائل الخطأ

SLAPD Dead But Pid File Exists

الأسباب المحتملة

تحدث هذه المشكلة عادةً بسبب ملف القفل المتبقي في نظام الملفات ويحتاج إلى ستتم إزالته.

التشخيص

اتّبِع الخطوات التالية لتشخيص هذه المشكلة:

  1. تحقَّق من وجود قفل عملية المعالجة المعرّضة للرفض OpenLDAP أو ملف pid في الموقع التالي:
    /opt/apigee/var/run/apigee-openldap/apigee-openldap.lock
    /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
    
  2. احذف القفل وملف pid في حال العثور عليهما، وجرِّب إعادة تشغيل openldap.
    rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.lock
    Rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
    
  3. في حال بدء عملية الرفض من خلال OpenLDAP، يمكنك تخطي الخطوات التالية.
  4. في حال لم تبدأ عملية الرفض من خلال OpenLDAP، جرِّب تنفيذ الإجراء في وضع تصحيح الأخطاء والبحث عن أي أخطاء:
    slapd -h ldap://:10389/ -u apigee -F /opt/apigee/data/apigee-openldap/slapd.d -d 255
    
  5. قد تشير الأخطاء إلى مشاكل في الموارد. تحقق من استخدام الذاكرة ووحدة المعالجة المركزية (CPU) على النظام.
  6. تحقَّق من إصدار OpenLDAP والترقية إذا كان قديمًا. ابحث عن الإصدارات المتوافقة من بروتوكول OpenLDAP في مستند البرامج المتوافقة.
    slapd -V
    
  7. يمكنك استخدام Strace لتحديد مشاكل العملية التي تمت معالجتها وحلّها، وتوفير نتائج التتبُّع لـ دعم Apigee:
    strace -tt -T -f -F -i -v -e read=all -s 8192 -e write=all -o /tmp/strace.out -p <pid>
    

تلف بيانات OpenLDAP

المشكلة

لن يتمكن المستخدمون بعد الآن من إجراء مكالمات الإدارة أو تسجيل الدخول إلى واجهة مستخدم Edge. استخدام بحث ldap لطلب بحث عن المستخدمين، قد يشير إلى أن المستخدم موجود في مخزن بيانات LDAP، أو قد يحدد المستخدمين أو الأدوار المفقودة المحتملة.

رسائل الخطأ

Unknown username and password combination.

الأسباب المحتملة

عادةً ما تكون هذه المشكلة ناجمة عن تلف بيانات OpenLDAP. عادة، OpenLDAP عدم تلف البيانات. ولكن في حالة نادرة يحدث فيها ذلك، يمكن أن يكون الفساد بسبب فشل قرص النظام أو مساحة القرص.

التشخيص

  1. تحقق من مساحة القرص على النظام الذي تم تثبيت OpenLDAP باستخدامه باستخدام الأمر أدناه:
    du -m /opt
    
  2. إذا رأيت أن مساحة القرص المستخدمة قريبة جدًا من 100%، فهذا يشير إلى سبب لهذه المشكلة هي نفاد مساحة القرص في النظام.

الدقة

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

بعد توفُّر مساحة كافية على القرص، استخدِم أحد الحلول أدناه لمعالجة بيانات بروتوكول LDAP. قضايا الفساد:

  1. استعِد بيانات OpenLDAP من النسخة الاحتياطية.
  2. عليك تنظيف قاعدة بيانات OpenLDAP.

الحل رقم 1 استعادة بيانات LDAP من النسخة الاحتياطية

أنشئ نسخة احتياطية على عقدة OpenLDAP العاملة. يجب إجراء النسخ الاحتياطي بانتظام. عرض دليل عمليات السحابة الإلكترونية الخاصة في Apigee للاطّلاع على أفضل الممارسات المتعلّقة بالنسخ الاحتياطية:

slapcat -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif

يمكن استخدام الخطوات التالية لاستعادة بيانات OpenLDAP من نسخة احتياطية جيدة.

  1. أوقِف عقدة OpenLDAP التي يجب استعادة البيانات لها:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
    
  2. تغيير الدليل إلى دليل بيانات OpenLDAP:
    cd /opt/apigee/data/apigee-openldap
    
  3. احتفظ بنسخة احتياطية من بيانات OpenLDAP الحالية باستخدام أمر النقل:
    mv ldap ldap_orig
    
  4. التبديل إلى مستخدم apigee:
    su apigee
    
  5. من دليل /opt/apigee/data/apigee-openldap، يمكنك إنشاء بيانات OpenLDAP جديدة الدليل بالاسم الأصلي:
    mkdir ldap
    
  6. خذ النسخة الاحتياطية من الدليل الفرعي ldap_orig/DB_CONFIG من الخطوة 3، وانسخها إلى دليل Openldap.
    cp ldap_orig/DB_CONFIG ldap
    
  7. لاستعادة البيانات من النسخة الاحتياطية التي تم التقاطها باستخدام slapcat، استخدِم slapadd لاستيراد ملف ldif الذي يحتوي على يحتوي على بيانات جيدة:
    slapadd -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
    
  8. ابدأ عملية OpenLDAP:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
    

الحل الثاني تنظيف بروتوكول LDAP قاعدة بيانات

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

  1. أوقِف خدمة OpenLDAP:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
    
  2. تغيير الدليل إلى دليل بيانات OpenLDAP:
    cd /opt/apigee/data/apigee-openldap
    
  3. احتفظ بنسخة احتياطية من بيانات OpenLDAP الحالية باستخدام أمر النقل:
    mv ldap ldap_orig
    
  4. التبديل إلى مستخدم apigee:
    su apigee
    
  5. أنشئ دليل بيانات OpenLDAP جديدًا بالاسم الأصلي:
    mkdir ldap
    
  6. احصل على الدليل الفرعي ldap_orig/DB_CONFIG من الخطوة 3 وانسخه إلى Openldap الدليل:
    cp ldap_orig/DB_CONFIG ldap
    
  7. أعِد تشغيل عملية OpenLDAP:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
    
  8. أعِد تشغيل خادم الإدارة لفرض تحديث الاتصالات إلى OpenLDAP:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    

الحل رقم 3: إعادة ضبط بروتوكول OpenLDAP على تثبيت أساسي

إذا لم يحل الحل الثاني المشكلة، فيمكنك إعادة تعيين OpenLDAP إلى تثبيت أساسي، كما هو موضح في هذا القسم.

المتطلبات الأساسية

لإعادة ضبط OpenLDAP، يلزمك استيفاء المتطلبات الأساسية التالية:

  • إمكانية تنفيذ الإعداد باستخدام مشرف النظام وبيانات اعتماد جذر LDAP.
  • الوصول إلى أداة "ldapadd"
  • ملف الإعداد الصامت الأصلي المحفوظ لعقدة الإدارة/بروتوكول LDAP.

لإعادة تعيين OpenLDAP، اتبع الخطوات التالية:

  1. أعد تثبيت OpenLDAP وخادم الإدارة.
    1. أوقِف خادم openldap:
      apigee-service apigee-openldap stop
    2. احذف مجلد بيانات openldap التالف:
      rm -rf /opt/apigee/data/apigee-openldap
    3. إلغاء تثبيت المكوِّن openldap:
      apigee-service apigee-openldap uninstall
    4. أعِد تثبيت المكوِّن openldap باستخدام ملف الإعداد نفسه الذي تم استخدامه للتثبيت الأولي:
      /opt/apigee/apigee-setup/bin/setup.sh -p ld -f configfile
      حيث configfile هو اسم ملف الإعداد.
    5. أعد تثبيت خادم الإدارة باستخدام ملف الإعداد الأصلي:
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configfile

    After doing these steps, Management API calls should work again using the sysadmin account only. However, it will not be possible to log into the Edge UI, and Management API calls with any other users will not work.

  2. Add missing openldap entries for orgs that existed prior to the corruption.

    After the above step is completed, openldap will be missing entries for orgs that existed when the corruption occurred. The majority of the actual org data such as proxy bundles is stored in Cassandra or Zookeeper is not lost. However, running the setup-org script will not automatically add the openldap data for the orgs that already exist in Cassandra, and Zookeeper. This data has to be added manually for every org that existed prior to the corruption using the following steps:

    1. Create an ldif file called missingLDAP.ldif with the following content:
      # orgname, organizations, apigee.com
      dn: o=orgname,ou=organizations,dc=apigee,dc=com
      objectClass: organization
      O: orgname
      
      # userroles, orgname, organizations, apigee.com
      dn: ou=userroles,o=orgname,ou=organizations,dc=apigee,dc=com
      ou: userroles
      objectClass: organizationalUnit
      
      # orgadmin, userroles, orgname, organizations, apigee.com
      dn: cn=orgadmin,ou=userroles,o=orgname,ou=organizations,dc=apigee,dc=com
      objectClass: organizationalRole
      cn: orgadmin
      roleOccupant: uid=admin,ou=users,ou=global,dc=apigee,dc=com
      
      # resources, orgadmin, userroles, orgname, organizations, apigee.com
      dn: ou=resources,cn=orgadmin,ou=userroles,o=orgname,ou=organizations,dc=apigee,dc=com
      ou: resources
      objectClass: organizationalUnit
      
      # @@@, resources, orgadmin, userroles, orgname, organizations, apigee.com
      dn: cn=@@@,ou=resources,cn=orgadmin,ou=userroles,o=orgname,ou=organizations,dc=apigee,dc=com
      roleOccupant: ou=delete,ou=permissions,dc=apigee,dc=com
      roleOccupant: ou=get,ou=permissions,dc=apigee,dc=com
      roleOccupant: ou=put,ou=permissions,dc=apigee,dc=com
      labeledURI: /
      objectClass: organizationalRole
      objectClass: labeledURIObject
      cn: @@@

      حيث orgname هي المؤسسة التي تحاول إعادة إنشائها.

    2. أضِف كيانات LDAP المفقودة باستخدام الأمر التالي:
      ldapadd -x -w  -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f missingLDAP.ldif

    ستؤدي الخطوات أعلاه إلى إنشاء الإدخالات المفقودة لمؤسسة حالية وorgadmin الأذونات لهذه المؤسسة. كرر الخطوات لكل مؤسسة تحتاج إلى إعادة إنشائها. في هذه المرحلة، يمكنك إضافة مستخدمَين (orgadmin) إلى مؤسسة، في حين يمكنك إضافة غير ذلك أي أدوار افتراضية غير موجودة بعد، لذا عليك إضافتها في الخطوة التالية.

  3. إضافة الأدوار والأذونات التلقائية الناقصة إلى مؤسسة حالية

    باستخدام ملف الإعداد نفسه الذي تم استخدامه في البداية لإعداد أي من المؤسسات الحالية، قم بتشغيل الأمر التالي:

    /opt/apigee/apigee-service/bin/apigee-service apigee-provision create-roles -f configfile
  4. بعد اتّباع هذا الإجراء، عليك إجراء ما يلي يدويًا:

    • أضِف أي أدوار مخصَّصة كانت موجودة قبل التالف باستخدام واجهة المستخدم أو واجهة برمجة تطبيقات الإدارة،
    • أضِف أي مستخدمين إلى أدوار المستخدمين ذات الصلة.
  5. (اختياري) إعادة إنشاء ضبط المصادقة الخارجية في الإدارة.

    استعادة /opt/apigee/customer/application/management-server.properties إذا عدم تغيير التهيئة. وبما أنّه لم تتم إعادة تثبيت واجهة المستخدم، يجب أن تظل /opt/apigee/customer/application/ui.properties كما هي نظرًا تمت استعادة بيانات الاعتماد الخاصة بمسؤول إدارة النظم بالتثبيت الجديد للإدارة.

  6. (اختياري) أعِد تثبيت Apigee mTLS في عقدة الإدارة.

    في حال تثبيت Apigee mTLS في السابق، يُرجى اتّباع دليل تثبيت Apigee mTLS لإعادة التثبيت. على عقدة خادم الإدارة.

في حال استمرار المشكلة، يُرجى التواصل مع Apigee فريق الدعم للحصول على مزيد من المساعدة