Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X. info
Questa sezione fornisce informazioni e indicazioni per la risoluzione dei problemi di OpenLDAP.
SMTP è disabilitato e gli utenti devono reimpostare la password
Sintomo
Quando SMTP non è configurato nell'interfaccia utente di Edge, i nuovi utenti aggiunti a Edge devono avere un modo per impostare una password.
Messaggi di errore
Unknown username and password combination.
Possibili cause
I nuovi utenti non riescono a ricevere un'email dal link "Hai dimenticato la password?" per impostare una password perché SMTP non è configurato.
Risoluzione
Puoi risolvere il problema in uno dei seguenti modi:
Soluzione 1: Configura il server SMTP
Configura il server SMTP in modo da impostare una nuova password per l'utente seguendo le istruzioni riportate nella documentazione.
Soluzione 2: utilizzo di LDAP
Se non riesci a configurare il server SMTP, utilizza i seguenti comandi LDAP per impostare la nuova password di un utente:
- Un amministratore dell'organizzazione esistente deve aggiungere l'utente specifico tramite l'interfaccia utente di Edge, come mostrato di seguito:
- Utilizza il comando ldapsearch per trovare il nome distinto (dn) dell'utente e reindirizzare l'output a un file:
ldapsearch -w Secret123 -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h localhost -p 10389 > ldap.txt
Ecco un esempio di voce DN per un utente, insieme agli attributi dell'utente:
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
- Apri il file ldap.txt e trova il DN del nuovo utente che è stato aggiunto in base all'attributo email del nuovo utente.
- Esegui il comando ldappassword per aggiungere una password per il nuovo utente utilizzando il relativo DN. In questo esempio, imposti la password dell'utente su 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"
- Accedi all'interfaccia utente di Edge come nuovo utente con la password definita nel passaggio precedente. L'utente può impostare una nuova password dopo aver eseguito l'accesso all'interfaccia utente.
La replica LDAP non è in corso
Sintomo
Molte installazioni Edge hanno più data center, ad esempio DC-1 e DC-2. Quando accedi all'interfaccia utente di Edge nella DC-1 come amministratore dell'organizzazione, puoi visualizzare l'elenco degli utenti, ma lo stesso elenco di utenti non viene visualizzato nell'interfaccia utente di Edge nella DC-2.
Messaggi di errore
Non vengono visualizzati errori, l'interfaccia utente di Edge non mostra semplicemente l'elenco degli utenti che avrebbero dovuto essere replicati su tutti i server OpenLDAP.
Possibili cause
In genere la causa di questo problema è una configurazione errata della replica OpenLDAP, non l'installazione stessa. Inoltre, la replica potrebbe non funzionare se la rete tra i server OpenLDAP non consente il traffico sulla porta 10389.
Diagnosi
Per diagnosticare il problema, svolgi i seguenti passaggi:
- Controlla se ldapsearch restituisce i dati da ciascun server OpenLDAP:
ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h <host-ip> -p 10389
- Controlla se riesci a connetterti a ogni nodo OpenLDAP dagli altri nodi OpenLDAP sulla porta 10389.
Se telnet è installato, utilizza il seguente comando:
telnet <OpenLDAP_Peer_IP> 10389
-
Se telnet non è disponibile, utilizza netcat per controllare la connettività come segue:
nc -vz <OpenLDAP_Peer_IP> 10389
- Controlla la configurazione della replica nel seguente file:
/opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
Il file deve contenere una configurazione simile alla seguente:
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
- Controlla anche nello stesso file il valore dell'attributo olcMirrorMode. Deve essere impostato sul valore TRUE:
grep olcMirrorMode /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
- Controlla le regole iptables e tcp wrapper. Rimuovi eventuali regole che non consentono ai server OpenLDAP peer di comunicare tra loro. Collabora con l'amministratore di rete per impostare le regole in modo appropriato.
- Assicurati che la password di sistema OpenLDAP sia la stessa su ogni nodo OpenLDAP.
- Controlla la presenza di caratteri nascosti nei file di configurazione ldif utilizzati per configurare la replica OpenLDAP N-Way eseguendo dos2unix sui file ldif creati per aggiornare la configurazione. In genere, un file ldif contenente caratteri non validi causa l'interruzione dell'esecuzione del comando ldapmodify e, di conseguenza, la replica potrebbe non essere configurata. Rimuovi eventuali caratteri sbagliati e salva i file di configurazione.
Se il problema persiste, contatta l' assistenza Apigee per ricevere aiuto per la configurazione della replica OpenLDAP N-Way.
Impossibile avviare OpenLDAP
Sintomo
OpenLDAP non si avvia.
Messaggi di errore
SLAPD Dead But Pid File Exists
Possibili cause
Di solito questo problema è causato da un file di blocco che rimane nel file system e deve essere rimosso.
Diagnosi
Per diagnosticare il problema, svolgi i seguenti passaggi:
- Cerca un file di blocco o PID del processo slapd di OpenLDAP nella seguente posizione:
/opt/apigee/var/run/apigee-openldap/apigee-openldap.lock /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Se vengono trovati, elimina i file di blocco e PID e prova a riavviare openldap.
rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.lock Rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Se il processo slapd di OpenLDAP si avvia, salta i passaggi riportati di seguito.
- Se il processo slapd di OpenLDAP non si avvia, prova a eseguire slapd in modalità di debug e cerca eventuali errori:
slapd -h ldap://:10389/ -u apigee -F /opt/apigee/data/apigee-openldap/slapd.d -d 255
- Gli errori potrebbero indicare problemi con le risorse. Controlla l'utilizzo di memoria e CPU sul sistema.
- Controlla la versione di OpenLDAP ed esegui l'upgrade se è obsoleta. Verifica le versioni supportate di
OpenLDAP nel nostro documento Software supportato.
slapd -V
- Utilizza strace per risolvere i problemi relativi al processo slapd e per fornire l'output di strace all'
assistenza Apigee:
strace -tt -T -f -F -i -v -e read=all -s 8192 -e write=all -o /tmp/strace.out -p <pid>
Corruzione dei dati OpenLDAP
Sintomo
Gli utenti non sono più in grado di eseguire chiamate di gestione o di accedere all'interfaccia utente di Edge. L'utilizzo dell'utilità ldapsearch per eseguire query sugli utenti può indicare che l'utente esiste nel data store LDAP o identificare possibili utenti o ruoli mancanti.
Messaggi di errore
Unknown username and password combination.
Possibili cause
In genere, questo problema può essere osservato a causa della corruzione dei dati OpenLDAP. In genere, i dati di OpenLDAP non vengono danneggiati. Tuttavia, nei rari casi in cui ciò accada, il danneggiamento potrebbe essere dovuto a un guasto del disco di sistema o a problemi di spazio su disco.
Diagnosi
- Controlla lo spazio su disco sul sistema su cui è installato OpenLDAP utilizzando il seguente comando:
du -m /opt
- Se lo spazio su disco utilizzato è molto vicino al 100%, significa che il sistema sta per esaurire lo spazio su disco.
Risoluzione
Se lo spazio su disco del sistema è esaurito o è quasi esaurito, aggiungi altro spazio su disco per garantire una disponibilità sufficiente.
Una volta ottenuto spazio su disco sufficiente, utilizza una delle seguenti soluzioni per risolvere il problema di corruzione dei dati LDAP:
- Ripristina i dati di OpenLDAP dal backup.
-
Per pulire il database OpenLDAP:
- Arresta Management Server 2 e LDAP2.
- Ripristina LDAP1 da un backup della VM (o del backup di Apigee).
- Controlla il server di gestione 1 per l'avvio e il recupero.
- Una volta che Management Server 1 e LDAP1 funzionano correttamente, reinstalla LDAP2 da zero (creando una situazione completamente vuota).
- Configura LDAP2 in modalità di sola lettura, consentendo a LDAP1 di eseguire la replica in LDAP2.
- Utilizza
ldapsearch
per verificare che il numero di righe in LDAP1 e LDAP2 corrisponda. - Riavvia Management Server 2 e UI2 e verifica che vengano avviati correttamente.
Per istruzioni dettagliate, consulta il tracker dei problemi pubblici.
Soluzione 1: ripristina i dati LDAP dal backup
Esegui un backup su un nodo OpenLDAP funzionante. Il backup deve essere eseguito regolarmente. Consulta la Guida alle operazioni di Apigee Private Cloud per le best practice sui backup:
slapcat -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
I seguenti passaggi possono essere utilizzati per ripristinare i dati di OpenLDAP da un backup valido.
- Interrompi il nodo OpenLDAP per cui è necessario ripristinare i dati:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Cambia la directory nella directory dei dati OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Esegui il backup dei dati OpenLDAP esistenti utilizzando il comando move:
mv ldap ldap_orig
- Passa all'utente apigee:
su apigee
- Dalla directory
/opt/apigee/data/apigee-openldap
, crea una nuova directory di dati OpenLDAP con il nome originale:mkdir ldap
- Esegui il backup della sottodirectory ldap_orig/DB_CONFIG del passaggio 3 e copiala nella directory openldap.
cp ldap_orig/DB_CONFIG ldap
- Per ripristinare i dati dal backup eseguito con slapcat, utilizza slapadd per importare il file ldif che contiene i dati corretti:
slapadd -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
- Avvia il processo OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
Soluzione 2: pulisci il database LDAP
I passaggi che seguono eliminano il database OpenLDAP per consentire un nuovo inizio. Questa soluzione può essere utilizzata se non esiste un backup dei dati dell'ultimo stato in cui i dati OpenLDAP funzionavano.
- Interrompi il servizio OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Cambia la directory nella directory dei dati OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Esegui il backup dei dati OpenLDAP esistenti utilizzando il comando move:
mv ldap ldap_orig
- Passa all'utente apigee:
su apigee
- Crea una nuova directory di dati OpenLDAP con il nome originale:
mkdir ldap
- Prendi la sottodirectory di backup ldap_orig/DB_CONFIG del passaggio 3 e copiala nella directory openldap:
cp ldap_orig/DB_CONFIG ldap
- Riavvia il processo OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
- Riavvia il server di gestione per forzare un aggiornamento delle connessioni a OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Soluzione 3 Ripristina OpenLDAP a un'installazione di base
Se la soluzione 2 non risolve il problema, puoi reimpostare OpenLDAP su un'installazione di base, come descritto in questa sezione.
Prerequisiti
Per reimpostare OpenLDAP, sono necessari i seguenti prerequisiti:
- La possibilità di eseguire la configurazione con le credenziali LDAP di amministratore di sistema e utente root.
- Accesso alla società di servizi pubblici
ldapadd
. - Il file di configurazione silenzioso originale salvato per il nodo di gestione/LDAP.
Per reimpostare OpenLDAP, segui questi passaggi:
- Reinstalla OpenLDAP e il server di gestione.
- Arresta il server
openldap
:apigee-service apigee-openldap stop
- Elimina la cartella dei dati
openldap
danneggiata:rm -rf /opt/apigee/data/apigee-openldap
- Disinstalla il componente
openldap
:apigee-service apigee-openldap uninstall
- Reinstalla il componente
openldap
utilizzando lo stesso file di configurazione utilizzato per l'installazione iniziale: dove/opt/apigee/apigee-setup/bin/setup.sh -p ld -f configfile
configfile
è il nome del file di configurazione. - Reinstalla Management Server utilizzando il file di configurazione originale:
/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. - Arresta il server
- 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:- 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: @@@
dove orgname è l'organizzazione che stai tentando di ricreare.
- Aggiungi le entità LDAP mancanti utilizzando il seguente comando:
ldapadd -x -w
-D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f missingLDAP.ldif
I passaggi precedenti creeranno le voci mancanti per un'organizzazione esistente e le autorizzazioni
orgadmin
per l'organizzazione. Ripeti i passaggi per ogni organizzazione che deve essere ricreata. A questo punto, puoi aggiungere utentiorgadmin
a un'organizzazione, ma gli altri ruoli predefiniti non esistono ancora, quindi devi aggiungerli utilizzando il passaggio successivo. - Create an ldif file called
Aggiungi i ruoli e le autorizzazioni predefinite mancanti a un'organizzazione esistente.
Utilizzando lo stesso file di configurazione utilizzato inizialmente per configurare una delle organizzazioni esistenti, esegui il seguente comando:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-roles -f configfile
- Aggiungi eventuali ruoli personalizzati esistenti prima del danneggiamento utilizzando l'interfaccia utente o l'API di gestione.
- Aggiungi gli utenti ai ruoli utente pertinenti.
(Facoltativo) Ristabilisci la configurazione dell'autenticazione esterna in Gestione.
Ripristina
/opt/apigee/customer/application/management-server.properties
se la configurazione non è cambiata. Poiché l'interfaccia utente non è stata reinstallata, il valore di/opt/apigee/customer/application/ui.properties
dovrebbe rimanere invariato, dato che le credenziali dell'amministratore di sistema sono state ripristinate con la nuova installazione di gestione.(Facoltativo) Reinstalla mTLS di Apigee sul nodo di gestione.
Se Apigee mTLS è stato installato in precedenza, segui la Guida all'installazione di Apigee mTLS per reinstallarlo sul nodo del server di gestione.
Dopo aver seguito questa procedura, devi eseguire manualmente le seguenti operazioni:
Se il problema persiste, contatta l'assistenza Apigee per ulteriore aiuto.