Estás viendo la documentación de Apigee Edge.
Ve a la
documentación de Apigee X. info
En esta sección, se proporciona información y orientación para solucionar problemas de OpenLDAP.
SMTP está inhabilitado y los usuarios deben restablecer la contraseña.
Síntoma
Cuando el SMTP no está configurado en la IU de Edge, los usuarios nuevos que se agregan a Edge necesitan una forma de establecer una contraseña.
Mensajes de error
Unknown username and password combination.
Causas posibles
Los usuarios nuevos no pueden recibir un correo electrónico del vínculo "¿Olvidaste tu contraseña?" para configurar una contraseña porque no se configuró SMTP.
Solución
Puedes abordar este problema de una de las siguientes maneras:
Solución 1: Configura el servidor SMTP
Configura el servidor SMTP para establecer una contraseña nueva para el usuario con las instrucciones que se proporcionan en la documentación.
Solución 2: Usar LDAP
Si no puedes configurar el servidor SMTP, usa los siguientes comandos LDAP para establecer la contraseña nueva de un usuario:
- Un administrador de la organización existente debe agregar al usuario específico a través de la IU de Edge, como se muestra a continuación:
- Usa el comando ldapsearch para encontrar el nombre distinguido (dn) del usuario y redireccionar el resultado a un archivo:
ldapsearch -w Secret123 -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h localhost -p 10389 > ldap.txt
Este es un ejemplo de una entrada de dn para un usuario, junto con los atributos del usuario:
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
- Abre el archivo ldap.txt y busca el dn del usuario nuevo que se agregó según el atributo de correo electrónico del usuario nuevo.
- Ejecuta el comando ldappassword para agregar una contraseña para el usuario nuevo con su dn. En este ejemplo, configuras la contraseña del usuario como 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"
- Accede a la IU de Edge como el usuario nuevo con la contraseña definida en el paso anterior. El usuario puede establecer una contraseña nueva una vez que haya accedido a la IU.
El LDAP no se replica
Síntoma
Muchas instalaciones de Edge tienen varios centros de datos, por ejemplo, DC-1 y DC-2. Cuando accedes a la IU de Edge en DC-1 como administrador de la organización, puedes ver la lista de usuarios, pero la misma lista de usuarios no aparece en la IU de Edge en DC-2.
Mensajes de error
No aparecen errores, la IU de Edge simplemente no muestra la lista de usuarios que deberían haberse replicado en todos los servidores de OpenLDAP.
Causas posibles
Por lo general, la causa de este problema es una configuración de replicación de OpenLDAP mal configurada, no la instalación en sí. Además, la replicación puede fallar si la red entre los servidores de OpenLDAP no permite el tráfico en el puerto 10389.
Diagnóstico
Sigue estos pasos para diagnosticar el problema:
- Verifica si ldapsearch muestra datos de cada servidor OpenLDAP:
ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h <host-ip> -p 10389
- Verifica si puedes conectarte a cada nodo de OpenLDAP desde los otros nodos de OpenLDAP en el puerto 10389.
Si telnet está instalado, usa el siguiente comando:
telnet <OpenLDAP_Peer_IP> 10389
-
Si telnet no está disponible, usa netcat para verificar la conectividad de la siguiente manera:
nc -vz <OpenLDAP_Peer_IP> 10389
- Verifica la configuración de replicación en el siguiente archivo:
/opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
El archivo debe contener la siguiente configuración:
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
- También verifica el mismo archivo para ver el valor del atributo olcMirrorMode. Se debe establecer en el valor VERDADERO:
grep olcMirrorMode /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
- Verifica si hay reglas de iptables y tcp wrapper. Quita las reglas que no permitan que los servidores OpenLDAP de pares se comuniquen entre sí. Trabaja con el administrador de red para configurar las reglas de forma adecuada.
- Asegúrate de que la contraseña del sistema OpenLDAP sea la misma en cada nodo OpenLDAP.
- Ejecuta dos2unix en los archivos ldif que se crearon para actualizar la configuración y verifica si hay caracteres ocultos en los archivos de configuración ldif que se usan para configurar la replicación de OpenLDAP de N vías. Por lo general, un archivo ldif que tiene caracteres incorrectos hace que el comando ldapmodify no se ejecute, por lo que es posible que no se configure la replicación. Quita los caracteres incorrectos y guarda los archivos de configuración.
Si el problema persiste, comunícate con el equipo de asistencia de Apigee para obtener ayuda con la configuración de la replicación de OpenLDAP de N vías.
No se puede iniciar OpenLDAP
Síntoma
OpenLDAP no se inicia.
Mensajes de error
SLAPD Dead But Pid File Exists
Causas posibles
Por lo general, este problema se debe a un archivo de bloqueo que queda en el sistema de archivos y que se debe quitar.
Diagnóstico
Sigue estos pasos para diagnosticar este problema:
- Busca un bloqueo de proceso slapd de OpenLDAP o un archivo pid en la siguiente ubicación:
/opt/apigee/var/run/apigee-openldap/apigee-openldap.lock /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Si se encuentra, borra el archivo de bloqueo y pid, y prueba reiniciar openldap.
rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.lock Rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Si se inicia el proceso slapd de OpenLDAP, omite los pasos que se indican a continuación.
- Si no se inicia el proceso slapd de OpenLDAP, intenta ejecutar slapd en modo de depuración y busca errores:
slapd -h ldap://:10389/ -u apigee -F /opt/apigee/data/apigee-openldap/slapd.d -d 255
- Los errores pueden indicar problemas con los recursos. Verifica el uso de memoria y CPU en el sistema.
- Verifica la versión de OpenLDAP y actualízala si es antigua. Consulta las versiones compatibles de OpenLDAP en nuestro documento Software compatible.
slapd -V
- Usa strace para solucionar problemas relacionados con el proceso de slapd y para proporcionar el resultado de strace a la
asistencia de Apigee:
strace -tt -T -f -F -i -v -e read=all -s 8192 -e write=all -o /tmp/strace.out -p <pid>
Daños en los datos de OpenLDAP
Síntoma
Los usuarios ya no pueden ejecutar llamadas de administración ni acceder a la IU de Edge. El uso de la utilidad ldapsearch para consultar a los usuarios puede indicar que el usuario existe en el almacén de datos de LDAP o puede identificar posibles usuarios o roles faltantes.
Mensajes de error
Unknown username and password combination.
Causas posibles
Por lo general, este problema se observa debido a daños en los datos de OpenLDAP. Por lo general, los datos de OpenLDAP no se dañan. Sin embargo, en el caso poco frecuente de que lo haga, la corrupción podría deberse a fallas en el disco del sistema o a problemas de espacio en el disco.
Diagnóstico
- Verifica el espacio en disco del sistema que tiene instalado OpenLDAP con el siguiente comando:
du -m /opt
- Si ves que el espacio en disco usado está muy cerca del 100%, eso indicaría que el motivo de este problema es que el sistema se está quedando sin espacio en el disco.
Solución
Si el sistema se quedó sin espacio en el disco o está a punto de quedarse sin él, agrega más espacio en el disco para garantizar la disponibilidad suficiente.
Una vez que tengas suficiente espacio en el disco, usa una de las siguientes soluciones para abordar el problema de corrupción de datos de LDAP:
- Restablece los datos de OpenLDAP desde la copia de seguridad.
-
Limpia la base de datos de OpenLDAP con los siguientes pasos:
- Detén el servidor de administración 2 y LDAP2.
- Restablece LDAP1 a partir de una copia de seguridad de VM (o de Apigee).
- Verifica el servidor de administración 1 para el inicio y la recuperación.
- Una vez que el servidor de administración 1 y LDAP1 funcionen correctamente, reinstala LDAP2 desde cero (crea una pizarra completamente en blanco).
- Configura LDAP2 en modo de solo lectura, lo que permite que LDAP1 se replique en LDAP2.
- Usa
ldapsearch
para verificar que la cantidad de líneas en LDAP1 y LDAP2 coincida. - Reinicia el servidor de administración 2 y UI2, y confirma que se inicien correctamente.
Para obtener instrucciones detalladas, consulta la Herramienta de seguimiento de errores pública.
Solución 1: Restablece los datos de LDAP desde la copia de seguridad
Crea una copia de seguridad en un nodo OpenLDAP en funcionamiento. La copia de seguridad se debe realizar con regularidad. Consulta la Guía de operaciones de la nube privada de Apigee para conocer las prácticas recomendadas sobre las copias de seguridad:
slapcat -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
Los siguientes pasos se pueden usar para restablecer los datos de OpenLDAP desde una copia de seguridad válida.
- Detén el nodo OpenLDAP para el que se deben restablecer los datos:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Cambia al directorio de datos de OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Crea una copia de seguridad de los datos existentes de OpenLDAP con el comando move:
mv ldap ldap_orig
- Cambia al usuario apigee:
su apigee
- Desde el directorio
/opt/apigee/data/apigee-openldap
, crea un nuevo directorio de datos de OpenLDAP con el nombre original:mkdir ldap
- Crea una copia de seguridad del subdirectorio ldap_orig/DB_CONFIG del paso 3 y cópiala en el directorio openldap.
cp ldap_orig/DB_CONFIG ldap
- Para restablecer los datos de la copia de seguridad creada con slapcat, usa slapadd para importar el ldif que contiene los datos correctos:
slapadd -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
- Inicia el proceso de OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
Solución 2: Limpia la base de datos de LDAP
Los siguientes pasos borran la base de datos de OpenLDAP para proporcionar un nuevo inicio. Esta solución se puede usar si no hay una copia de seguridad de datos del último estado en el que funcionaban los datos de OpenLDAP.
- Detén el servicio OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Cambia al directorio de datos de OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Crea una copia de seguridad de los datos existentes de OpenLDAP con el comando move:
mv ldap ldap_orig
- Cambia al usuario apigee:
su apigee
- Crea un nuevo directorio de datos de OpenLDAP con el nombre original:
mkdir ldap
- Toma el subdirectorio de copia de seguridad ldap_orig/DB_CONFIG del paso 3 y cópialo en el directorio openldap:
cp ldap_orig/DB_CONFIG ldap
- Reinicia el proceso de OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
- Reinicia el servidor de administración para forzar una actualización de las conexiones a OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Solución 3: Restablece OpenLDAP a una instalación básica
Si la solución 2 no resuelve el problema, puedes restablecer OpenLDAP a una instalación básica, como se describe en esta sección.
Requisitos previos
Para restablecer OpenLDAP, necesitas los siguientes requisitos previos:
- La capacidad de ejecutar la configuración con credenciales de administrador del sistema y raíz de LDAP
- Acceso a la utilidad
ldapadd
- El archivo de configuración silencioso original guardado para el nodo de administración/LDAP.
Para restablecer OpenLDAP, sigue estos pasos:
- Vuelve a instalar OpenLDAP y el servidor de administración.
- Detén el servidor
openldap
:apigee-service apigee-openldap stop
- Borra la carpeta de datos
openldap
dañada:rm -rf /opt/apigee/data/apigee-openldap
- Desinstala el componente
openldap
:apigee-service apigee-openldap uninstall
- Vuelve a instalar el componente
openldap
con el mismo archivo de configuración que se usó para la instalación inicial: En el que/opt/apigee/apigee-setup/bin/setup.sh -p ld -f configfile
configfile
es el nombre del archivo de configuración. - Vuelve a instalar el servidor de administración con el archivo de configuración original:
/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. - Detén el servidor
- 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: @@@
en el que orgname es la organización que intentas volver a crear.
- Agrega las entidades de LDAP que faltan con el siguiente comando:
ldapadd -x -w
-D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f missingLDAP.ldif
Los pasos anteriores crearán las entradas faltantes para una organización existente y los permisos
orgadmin
para esa organización. Repite los pasos para cada organización que debas volver a crear. En este punto, puedes agregar usuariosorgadmin
a una organización, pero los otros roles predeterminada aún no existen, por lo que debes agregarlos con el siguiente paso. - Create an ldif file called
Agrega los roles y permisos predeterminados faltantes a una organización existente.
Con el mismo archivo de configuración que se usó inicialmente para configurar cualquiera de las org existentes, ejecuta el siguiente comando:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-roles -f configfile
- Agrega los roles personalizados que existían antes de la corrupción con la IU o la API de administración.
- Agrega a los usuarios a los roles relevantes.
(Opcional) Restablece la configuración de autenticación externalizada en la administración.
Restablece el
/opt/apigee/customer/application/management-server.properties
si la configuración no cambió. Dado que no se volvió a instalar la IU, el/opt/apigee/customer/application/ui.properties
debería permanecer igual, ya que las credenciales del administrador del sistema se restablecieron con la nueva instalación de administración.(Opcional) Reinstala la mTLS de Apigee en el nodo de administración.
Si se instaló mTLS de Apigee anteriormente, sigue la Guía de instalación de mTLS de Apigee para volver a instalarlo en el nodo del servidor de administración.
Después de seguir este procedimiento, debes hacer lo siguiente de forma manual:
Si el problema persiste, comunícate con el equipo de asistencia de Apigee para obtener más ayuda.