Fehlerbehebung bei OpenLDAP-Problemen

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Dieser Abschnitt enthält Informationen und Anleitungen zur Fehlerbehebung bei OpenLDAP-Problemen.

SMTP ist deaktiviert und Nutzer müssen das Gerät zurücksetzen Passwort

Symptom

Wenn SMTP in der Edge-Benutzeroberfläche nicht eingerichtet ist, müssen neue Nutzer, die zu Edge hinzugefügt werden, eine Möglichkeit zum Festlegen einer Passwort.

Fehlermeldungen

Unknown username and password combination.

Mögliche Ursachen

Neue Nutzer können keine E-Mail über den Link "Sie haben Ihr Passwort vergessen?" Link zum Festlegen ein Passwort, da SMTP nicht eingerichtet ist.

Auflösung

Sie haben folgende Möglichkeiten, dieses Problem zu beheben:

Lösung Nr. 1: SMTP-Server konfigurieren

Konfigurieren Sie den SMTP-Server, um ein neues Passwort für den Nutzer gemäß der bereitgestellten Anleitung festzulegen. in der Dokumentation.

Lösung Nr. 2: Verwendung LDAP

Wenn Sie den SMTP-Server nicht konfigurieren können, verwenden Sie die folgenden LDAP-Befehle, um die Einstellung neues Passwort für einen Nutzer:

  1. Ein bestehender Organisationsadministrator muss den jeweiligen Nutzer über die Edge-Benutzeroberfläche hinzufügen, wie unten gezeigt:

  2. Verwenden Sie den Befehl ldapsearch, um den Distinguished Name des Nutzers zu finden. (dn) und leiten Sie die Ausgabe in eine Datei um:
    ldapsearch -w Secret123 -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h localhost -p 10389 > ldap.txt
    

    Hier ist ein Beispiel für einen dn-Eintrag für einen Nutzer, zusammen mit den Attributen für den Nutzer:

    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. Öffnen Sie die Datei ldap.txt und suchen Sie nach dem DN des neuen Nutzers, der hinzugefügt wurde. basierend auf dem E-Mail-Attribut des neuen Nutzers.
  4. Führen Sie den Befehl ldappassword aus, um ein Passwort für den neuen Nutzer hinzuzufügen. mit seinem DN. In diesem Beispiel setzen Sie das Passwort des Nutzers auf 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. Melden Sie sich bei der Edge-Benutzeroberfläche als neuer Benutzer mit dem im vorherigen Schritt definierten Passwort an. Die kann der Nutzer ein neues Passwort festlegen, sobald er sich in der Benutzeroberfläche angemeldet hat.

LDAP wird nicht repliziert

Symptom

Viele Edge-Installationen haben mehrere Rechenzentren, z. B. DC-1 und DC-2. Beim Logging in der Edge-Benutzeroberfläche in DC-1 können Sie als Organisationsadministrator die Liste der Nutzer anzeigen, aber dieselbe Nutzerliste wird in der Edge-Benutzeroberfläche in DC-2 nicht angezeigt.

Fehlermeldungen

Es werden keine Fehler angezeigt. Die Edge-Benutzeroberfläche zeigt einfach nicht die Liste der Benutzer an, die hätte gewesen sein sollen, repliziert auf allen OpenLDAP-Servern.

Mögliche Ursachen

In der Regel ist die Ursache für dieses Problem eine falsch konfigurierte OpenLDAP-Replikationskonfiguration, die Installation selbst. Außerdem kann die Replikation unterbrochen werden, wenn das Netzwerk zwischen den OpenLDAP-Servern lässt keinen Traffic auf Port 10389 zu.

Diagnose

Führen Sie die folgenden Schritte aus, um das Problem zu diagnostizieren:

  1. Prüfen Sie, ob ldapsearch Daten von jedem OpenLDAP-Server zurückgibt:
    ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h <host-ip> -p 10389
    
  2. Überprüfen Sie, ob Sie von den anderen OpenLDAP-Knoten über Port 10389 aus eine Verbindung zu den einzelnen OpenLDAP-Knoten herstellen können. Wenn Telnet installiert ist, verwenden Sie den folgenden Befehl:
    telnet <OpenLDAP_Peer_IP> 10389
    
  3. Falls Telnet nicht verfügbar ist, prüfen Sie die Verbindung mit Netcat wie folgt:

    nc -vz <OpenLDAP_Peer_IP> 10389
    
  4. Prüfen Sie die Replikationskonfiguration in der folgenden Datei:
    /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
    

    Die Datei sollte eine Konfiguration wie die folgende enthalten:

    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. Überprüfen Sie außerdem in derselben Datei den Wert des Attributs olcMirrorMode. Es sollte auf den Wert WAHR festgelegt:
    grep olcMirrorMode /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
    
  6. Suchen Sie nach iptables- und TCP-Wrapper-Regeln. Entfernen Sie alle Regeln, die den die OpenLDAP-Peer-Server, um miteinander zu kommunizieren. Wenden Sie sich an Ihren Netzwerkadministrator um die Regeln entsprechend festzulegen.
  7. Achten Sie darauf, dass das OpenLDAP-Systempasswort auf allen OpenLDAP-Knoten identisch ist.
  8. Suchen Sie in den ldif-Konfigurationsdateien nach versteckten Zeichen, die für konfigurieren Sie die N-Way-OpenLDAP-Replikation, indem Sie dos2unix für die ldif-Dateien ausführen, die die zum Aktualisieren der Konfiguration erstellt wurde. Üblicherweise führt eine ldif-Datei mit fehlerhaften Zeichen zu folgendem Ergebnis: der Befehl ldapmodify nicht mehr ausgeführt wird und daher möglicherweise keine Replikation eingerichtet wurde. Entfernen Sie alle und speichern Sie die Konfigurationsdateien.

Wenn das Problem weiterhin besteht, wenden Sie sich an Apigee-Support für Unterstützung bei der Einrichtung der N-Way-OpenLDAP-Replikation.

OpenLDAP kann nicht gestartet werden

Symptom

OpenLDAP wird nicht gestartet.

Fehlermeldungen

SLAPD Dead But Pid File Exists

Mögliche Ursachen

Dieses Problem wird in der Regel durch eine Sperrdatei verursacht, die im Dateisystem verbleibt und für die zu entfernen.

Diagnose

Führen Sie die folgenden Schritte aus, um dieses Problem zu diagnostizieren:

  1. Suchen Sie am folgenden Speicherort nach einer OpenLDAP-Slapd-Prozess-Sperre oder einer PID-Datei:
    /opt/apigee/var/run/apigee-openldap/apigee-openldap.lock
    /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
    
  2. Löschen Sie die Lock- und PID-Datei, falls diese gefunden wurden, und versuchen Sie, openldap neu zu starten.
    rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.lock
    Rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
    
  3. Wenn der OpenLDAP-Slapd-Prozess gestartet wird, überspringen Sie die folgenden Schritte.
  4. Wenn der OpenLDAP Slapd-Prozess nicht gestartet wird, versuchen Sie, Slapd im Debug-Modus auszuführen, und suchen Sie nach Fehler:
    slapd -h ldap://:10389/ -u apigee -F /opt/apigee/data/apigee-openldap/slapd.d -d 255
    
  5. Fehler können auf Ressourcenprobleme hinweisen. Überprüfen Sie die Arbeitsspeicher- und CPU-Auslastung des Systems.
  6. Prüfen Sie die Version von OpenLDAP und führen Sie ein Upgrade durch, falls sie alt ist. Unterstützte Versionen von OpenLDAP finden Sie in unserem Dokument Unterstützte Software.
    slapd -V
    
  7. Verwenden Sie strace, um Fehler im Slap-Prozess zu beheben und die strace-Ausgabe bereitzustellen Apigee-Support:
    strace -tt -T -f -F -i -v -e read=all -s 8192 -e write=all -o /tmp/strace.out -p <pid>
    

OpenLDAP-Datenkorruption

Symptom

Benutzer können keine Verwaltungsaufrufe mehr ausführen oder sich bei der Edge-Benutzeroberfläche anmelden. ldapsearch verwenden können Sie angeben, dass der Nutzer im LDAP-Datenspeicher vorhanden ist, oder Nutzer oder Rollen fehlen.

Fehlermeldungen

Unknown username and password combination.

Mögliche Ursachen

In der Regel ist dieses Problem auf eine Beschädigung von OpenLDAP-Daten zurückzuführen. Normalerweise wird OpenLDAP werden die Daten nicht beschädigt. Aber in dem seltenen Fall, dass dies der Fall ist, könnte die Beschädigung durch Systemfehler oder Probleme mit dem Speicherplatz.

Diagnose

  1. Überprüfen Sie mit dem folgenden Befehl den Speicherplatz auf dem System, auf dem OpenLDAP installiert ist:
    du -m /opt
    
  2. Beträgt der belegte Speicherplatz fast 100%, ist dies ein Hinweis auf die Ursache dass auf Ihrem System nicht genügend Speicherplatz verfügbar ist.

Auflösung

Wenn der Speicherplatz Ihres Systems fast vollständig belegt ist, fügen Sie um sicherzustellen, dass Sie über genügend Speicherplatz verfügen.

Sobald genügend Speicherplatz vorhanden ist, können Sie die LDAP-Daten mit einer der folgenden Lösungen bearbeiten. Korruptionsproblem:

  1. Stellen Sie die OpenLDAP-Daten aus der Sicherung wieder her.
  2. Bereinigen Sie die OpenLDAP-Datenbank.

Lösung Nr. 1 Wiederherstellen des LDAP-Daten aus der Sicherung

Erstellen Sie auf einem funktionierenden OpenLDAP-Knoten eine Sicherung. Die Sicherung sollte regelmäßig durchgeführt werden. Weitere Informationen finden Sie unter Betriebsanleitung für Apigee Private Cloud finden Sie Best Practices für Sicherungen:

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

Mit den folgenden Schritten können Sie die OpenLDAP-Daten aus einer guten Sicherung wiederherstellen.

  1. Halten Sie den OpenLDAP-Knoten an, für den die Daten wiederhergestellt werden müssen:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
    
  2. Wechseln Sie in das OpenLDAP-Datenverzeichnis:
    cd /opt/apigee/data/apigee-openldap
    
  3. Sichern Sie die vorhandenen OpenLDAP-Daten mit dem „move“-Befehl:
    mv ldap ldap_orig
    
  4. Wechseln Sie zum Apigee-Benutzer:
    su apigee
    
  5. Erstellen Sie aus dem Verzeichnis „/opt/apigee/data/apigee-openldap“ neue OpenLDAP-Daten. Verzeichnis mit dem ursprünglichen Namen:
    mkdir ldap
    
  6. Erstellen Sie die Sicherung des Unterverzeichnisses ldap_orig/DB_CONFIG aus Schritt 3 und kopieren Sie sie in den openldap-Verzeichnis.
    cp ldap_orig/DB_CONFIG ldap
    
  7. Um Daten aus einer mit Slapcat erstellten Sicherung wiederherzustellen, verwenden Sie slapadd, um die ldif zu importieren, die guten Daten enthält:
    slapadd -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
    
  8. Starten Sie den OpenLDAP-Prozess:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
    

Lösung Nr. 2: LDAP bereinigen Datenbank

Mit den folgenden Schritten wird die OpenLDAP-Datenbank gelöscht, um einen Neustart zu ermöglichen. Diese Lösung kann wird verwendet, wenn für den letzten Status, in dem die OpenLDAP-Daten funktioniert haben, keine Datensicherung vorhanden ist.

  1. Beenden Sie den OpenLDAP-Dienst:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
    
  2. Wechseln Sie in das OpenLDAP-Datenverzeichnis:
    cd /opt/apigee/data/apigee-openldap
    
  3. Sichern Sie die vorhandenen OpenLDAP-Daten mit dem „move“-Befehl:
    mv ldap ldap_orig
    
  4. Wechseln Sie zum Apigee-Benutzer:
    su apigee
    
  5. Erstellen Sie ein neues OpenLDAP-Datenverzeichnis mit dem ursprünglichen Namen:
    mkdir ldap
    
  6. Kopieren Sie das Backup-Unterverzeichnis ldap_orig/DB_CONFIG aus Schritt 3 in den Ordner „openldap“. Verzeichnis:
    cp ldap_orig/DB_CONFIG ldap
    
  7. Starten Sie den OpenLDAP-Prozess neu:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
    
  8. Starten Sie den Verwaltungsserver neu, um eine Aktualisierung der Verbindungen zu OpenLDAP zu erzwingen:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    

Lösung Nr. 3 Setzen Sie OpenLDAP auf eine Basisinstallation zurück.

Wenn das Problem durch Lösung Nr. 2 nicht behoben wird, können Sie OpenLDAP auf eine Basisinstallation zurücksetzen, wie in diesem Abschnitt beschrieben.

Vorbereitung

Zum Zurücksetzen von OpenLDAP müssen die folgenden Voraussetzungen erfüllt sein:

  • Die Möglichkeit, das Setup mit Systemadministrator- und Root-LDAP-Anmeldedaten auszuführen.
  • Zugriff auf das Dienstprogramm ldapadd.
  • Die gespeicherte ursprüngliche stille Konfigurationsdatei für den Verwaltungs-/LDAP-Knoten.

So setzen Sie OpenLDAP zurück:

  1. Installieren Sie OpenLDAP und den Verwaltungsserver neu.
    1. Halten Sie den openldap-Server an:
      apigee-service apigee-openldap stop
    2. Löschen Sie den beschädigten openldap-Datenordner:
      rm -rf /opt/apigee/data/apigee-openldap
    3. Deinstalliere die openldap-Komponente:
      apigee-service apigee-openldap uninstall
    4. Installieren Sie die Komponente „openldap“ mit der zuvor verwendeten Konfigurationsdatei neu. für die Erstinstallation:
      /opt/apigee/apigee-setup/bin/setup.sh -p ld -f configfile
      Dabei ist configfile der Name der Konfigurationsdatei.
    5. Installieren Sie den Verwaltungsserver mithilfe der ursprünglichen Konfigurationsdatei neu:
      /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: @@@

      Dabei ist orgname die Organisation, die Sie neu erstellen möchten.

    2. Fügen Sie die fehlenden LDAP-Entitäten mit dem folgenden Befehl hinzu:
      ldapadd -x -w  -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f missingLDAP.ldif

    Mit den obigen Schritten werden die fehlenden Einträge für eine vorhandene Organisation erstellt und der orgadmin Berechtigungen für diese Organisation. Wiederholen Sie die Schritte für jede Organisation, die neu erstellt werden muss. An dieser Stelle können Sie einer Organisation orgadmin Nutzer hinzufügen, aber der andere Standardrollen sind noch nicht vorhanden, daher müssen Sie sie im nächsten Schritt hinzufügen.

  3. Fügen Sie einer vorhandenen Organisation fehlende Standardrollen und -berechtigungen hinzu.

    Mit derselben Konfigurationsdatei, mit der eine der vorhandenen Organisationen eingerichtet wurde, führen Sie den folgenden Befehl aus:

    /opt/apigee/apigee-service/bin/apigee-service apigee-provision create-roles -f configfile
  4. Nachdem Sie diese Schritte ausgeführt haben, müssen Sie manuell:

    • Fügen Sie alle benutzerdefinierten Rollen, die vor der Beschädigung vorhanden waren, über die Benutzeroberfläche oder die Management API hinzu.
    • Fügen Sie die gewünschten Nutzer den entsprechenden Nutzerrollen hinzu.
  5. (Optional) Richten Sie die Externalisierte Authentifizierungskonfiguration bei der Verwaltung wieder ein.

    Stellen Sie /opt/apigee/customer/application/management-server.properties wieder her, wenn Die Konfiguration hat sich nicht geändert. Da die Benutzeroberfläche nicht neu installiert wurde, /opt/apigee/customer/application/ui.properties sollte gleich bleiben, Die Anmeldedaten für den Systemadministrator wurden bei der Neuinstallation der Verwaltung wiederhergestellt.

  6. (Optional) Installieren Sie Apigee mTLS auf dem Verwaltungsknoten neu.

    Wenn Apigee mTLS bereits installiert war, folgen Sie der Installationsanleitung für Apigee mTLS, um es neu zu installieren auf dem Verwaltungsserverknoten.

Wenn das Problem weiterhin besteht, wenden Sie sich an Apigee , wenn Sie weitere Unterstützung benötigen.