Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X. info
Cette section fournit des informations et des conseils pour résoudre les problèmes OpenLDAP.
Le protocole SMTP est désactivé et les utilisateurs doivent réinitialiser leur mot de passe
Problème constaté
Lorsque le protocole SMTP n'est pas configuré dans l'interface utilisateur Edge, les nouveaux utilisateurs ajoutés à Edge doivent pouvoir définir un mot de passe.
Messages d'erreur
Unknown username and password combination.
Causes possibles :
Les nouveaux utilisateurs ne peuvent pas recevoir d'e-mail via le lien "Mot de passe oublié ?" pour définir un mot de passe, car SMTP n'est pas configuré.
Solution
Pour résoudre ce problème, procédez de l'une des manières suivantes:
Solution 1 : Configurer le serveur SMTP
Configurez le serveur SMTP pour définir un nouveau mot de passe pour l'utilisateur en suivant les instructions fournies dans la documentation.
Solution 2: Utiliser LDAP
Si vous ne parvenez pas à configurer le serveur SMTP, utilisez les commandes LDAP ci-dessous pour définir le nouveau mot de passe d'un utilisateur:
- Un administrateur de l'organisation existant doit ajouter l'utilisateur spécifique via l'interface utilisateur Edge, comme indiqué ci-dessous:
- Utilisez la commande ldapsearch pour trouver le nom distinctif (dn) de l'utilisateur et rediriger la sortie vers un fichier:
ldapsearch -w Secret123 -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h localhost -p 10389 > ldap.txt
Voici un exemple d'entrée dn pour un utilisateur, ainsi que les attributs de cet utilisateur:
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
- Ouvrez le fichier ldap.txt et recherchez le dn du nouvel utilisateur ajouté en fonction de son attribut de messagerie.
- Exécutez la commande ldappassword pour ajouter un mot de passe au nouvel utilisateur à l'aide de son dn. Dans cet exemple, vous définissez le mot de passe de l'utilisateur sur 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"
- Connectez-vous à l'interface utilisateur Edge en tant que nouvel utilisateur avec le mot de passe défini à l'étape précédente. L'utilisateur peut définir un nouveau mot de passe une fois connecté à l'interface utilisateur.
La réplication LDAP ne fonctionne pas
Problème constaté
De nombreuses installations Edge disposent de plusieurs centres de données, par exemple DC-1 et DC-2. Lorsque vous vous connectez à l'interface utilisateur Edge dans DC-1 en tant qu'administrateur d'organisation, vous pouvez afficher la liste des utilisateurs, mais la même liste d'utilisateurs n'apparaît pas dans l'interface utilisateur Edge de DC-2.
Messages d'erreur
Aucune erreur ne s'affiche. L'interface utilisateur d'Edge n'affiche tout simplement pas la liste des utilisateurs qui auraient dû être répliqués sur tous les serveurs OpenLDAP.
Causes possibles :
En règle générale, ce problème est dû à une configuration de réplication OpenLDAP mal configurée, et non à l'installation elle-même. De plus, la réplication peut être interrompue si le réseau entre les serveurs OpenLDAP n'autorise pas le trafic sur le port 10389.
Diagnostic
Pour diagnostiquer le problème, procédez comme suit:
- Vérifiez si ldapsearch renvoie des données de chaque serveur OpenLDAP:
ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h <host-ip> -p 10389
- Vérifiez si vous pouvez vous connecter à chaque nœud OpenLDAP à partir des autres nœuds OpenLDAP sur le port 10389.
Si Telnet est installé, utilisez la commande suivante:
telnet <OpenLDAP_Peer_IP> 10389
-
Si telnet n'est pas disponible, utilisez netcat pour vérifier la connectivité comme suit:
nc -vz <OpenLDAP_Peer_IP> 10389
- Vérifiez la configuration de la réplication dans le fichier suivant:
/opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
Le fichier doit contenir une configuration semblable à celle-ci:
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
- Vérifiez également dans le même fichier la valeur de l'attribut olcMirrorMode. Elle doit être définie sur la valeur TRUE:
grep olcMirrorMode /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
- Recherchez les règles iptables et tcp wrapper. Veuillez supprimer toutes les règles qui n'autorisent pas les serveurs OpenLDAP homologues à communiquer entre eux. Collaborez avec votre administrateur réseau pour définir les règles de manière appropriée.
- Assurez-vous que le mot de passe système OpenLDAP est identique sur chaque nœud OpenLDAP.
- Recherchez des caractères masqués dans les fichiers de configuration ldif utilisés pour configurer la réplication OpenLDAP à plusieurs voies en exécutant dos2unix sur les fichiers ldif créés pour mettre à jour la configuration. En règle générale, un fichier ldif contenant des caractères incorrects empêche l'exécution de la commande ldapmodify. La réplication peut donc ne pas être configurée. Supprimez tous les caractères incorrects et enregistrez les fichiers de configuration.
Si le problème persiste, contactez l' assistance Apigee pour obtenir de l'aide pour configurer la réplication OpenLDAP en mode N-Way.
Impossible de démarrer OpenLDAP
Problème constaté
OpenLDAP ne démarre pas.
Messages d'erreur
SLAPD Dead But Pid File Exists
Causes possibles :
Ce problème est généralement causé par un fichier de verrouillage laissé sur le système de fichiers et qui doit être supprimé.
Diagnostic
Pour diagnostiquer ce problème, procédez comme suit:
- Recherchez un fichier de verrouillage ou de PID de processus slapd OpenLDAP à l'emplacement suivant:
/opt/apigee/var/run/apigee-openldap/apigee-openldap.lock /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Supprimez le fichier de verrouillage et le fichier PID, le cas échéant, puis essayez de redémarrer openldap.
rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.lock Rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Si le processus slapd OpenLDAP démarre, ignorez les étapes ci-dessous.
- Si le processus slapd OpenLDAP ne démarre pas, essayez d'exécuter slapd en mode débogage et recherchez d'éventuelles erreurs:
slapd -h ldap://:10389/ -u apigee -F /opt/apigee/data/apigee-openldap/slapd.d -d 255
- Les erreurs peuvent indiquer des problèmes de ressources. Vérifiez l'utilisation de la mémoire et du processeur sur le système.
- Vérifiez la version d'OpenLDAP et mettez-la à jour si elle est obsolète. Consultez les versions compatibles d'OpenLDAP dans notre document Logiciels compatibles.
slapd -V
- Utilisez strace pour résoudre les problèmes liés au processus slapd et pour fournir la sortie strace à l'
assistance Apigee:
strace -tt -T -f -F -i -v -e read=all -s 8192 -e write=all -o /tmp/strace.out -p <pid>
Corruption des données OpenLDAP
Problème constaté
Les utilisateurs ne peuvent plus exécuter d'appels de gestion ni se connecter à l'interface utilisateur Edge. L'utilisation de l'utilitaire ldapsearch pour interroger les utilisateurs peut indiquer que l'utilisateur existe dans le datastore LDAP ou peut identifier d'éventuels utilisateurs ou rôles manquants.
Messages d'erreur
Unknown username and password combination.
Causes possibles :
En règle générale, ce problème peut être observé en raison de la corruption des données OpenLDAP. En règle générale, les données OpenLDAP ne sont pas corrompues. Toutefois, dans de rares cas, la corruption peut être due à une défaillance du disque système ou à des problèmes d'espace disque.
Diagnostic
- Vérifiez l'espace disque sur le système sur lequel OpenLDAP est installé à l'aide de la commande ci-dessous:
du -m /opt
- Si l'espace disque utilisé est très proche de 100%, cela signifie que votre système est à court d'espace disque.
Solution
Si votre système n'a plus d'espace disque ou est sur le point d'en manquer, ajoutez de l'espace disque pour vous assurer d'en avoir suffisamment.
Une fois que vous disposez d'espace disque suffisant, utilisez l'une des solutions suivantes pour résoudre le problème de corruption des données LDAP:
- Restaurez les données OpenLDAP à partir de la sauvegarde.
-
Nettoyez la base de données OpenLDAP en procédant comme suit :
- Mettez hors service Management Server 2 et LDAP2.
- Restaurez LDAP1 à partir d'une sauvegarde de VM (ou d'une sauvegarde Apigee).
- Vérifiez le démarrage et la récupération sur le serveur de gestion 1.
- Une fois que le serveur de gestion 1 et LDAP1 fonctionnent correctement, réinstallez LDAP2 à partir de zéro (en créant une table rase complète).
- Configurez LDAP2 en mode lecture seule, ce qui permet à LDAP1 de se répliquer dans LDAP2.
- Utilisez
ldapsearch
pour vérifier que le nombre de lignes dans LDAP1 et LDAP2 correspond. - Redémarrez Management Server 2 et UI2, puis vérifiez qu'ils démarrent correctement.
Pour obtenir des instructions détaillées, consultez l'outil de suivi des problèmes public.
Solution 1 : Restaurer les données LDAP à partir de la sauvegarde
Sur un nœud OpenLDAP opérationnel, effectuez une sauvegarde. La sauvegarde doit être effectuée régulièrement. Consultez le Guide d'exploitation d'Apigee Private Cloud pour connaître les bonnes pratiques concernant les sauvegardes:
slapcat -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
Vous pouvez suivre les étapes suivantes pour restaurer les données OpenLDAP à partir d'une bonne sauvegarde.
- Arrêtez le nœud OpenLDAP pour lequel les données doivent être restaurées:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Accédez au répertoire de données OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Sauvegardez les données OpenLDAP existantes à l'aide de la commande move:
mv ldap ldap_orig
- Passez à l'utilisateur apigee:
su apigee
- Dans le répertoire
/opt/apigee/data/apigee-openldap
, créez un répertoire de données OpenLDAP avec le nom d'origine:mkdir ldap
- Effectuez la sauvegarde du sous-répertoire ldap_orig/DB_CONFIG de l'étape 3, puis copiez-la dans le répertoire openldap.
cp ldap_orig/DB_CONFIG ldap
- Pour restaurer les données à partir d'une sauvegarde effectuée avec slapcat, utilisez slapadd pour importer le fichier ldif contenant les bonnes données:
slapadd -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
- Démarrez le processus OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
Solution 2 : Nettoyer la base de données LDAP
Les étapes suivantes effacent la base de données OpenLDAP pour repartir à zéro. Cette solution peut être utilisée si aucune sauvegarde de données n'est disponible pour le dernier état où les données OpenLDAP fonctionnaient.
- Arrêtez le service OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Accédez au répertoire de données OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Sauvegardez les données OpenLDAP existantes à l'aide de la commande move:
mv ldap ldap_orig
- Passez à l'utilisateur apigee:
su apigee
- Créez un répertoire de données OpenLDAP avec le nom d'origine:
mkdir ldap
- Prenez le sous-répertoire de sauvegarde ldap_orig/DB_CONFIG de l'étape 3, puis copiez-le dans le répertoire openldap:
cp ldap_orig/DB_CONFIG ldap
- Redémarrez le processus OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
- Redémarrez le serveur de gestion pour forcer l'actualisation des connexions à OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Solution 3 : Réinitialiser OpenLDAP en installation de base
Si la solution 2 ne résout pas le problème, vous pouvez rétablir OpenLDAP en installation de base, comme décrit dans cette section.
Prérequis
Pour réinitialiser OpenLDAP, vous devez remplir les conditions préalables suivantes:
- Possibilité d'exécuter la configuration avec des identifiants d'administrateur système et d'administrateur LDAP racine.
- Accès à l'utilitaire
ldapadd
. - Fichier de configuration silencieux d'origine enregistré pour le nœud de gestion/LDAP.
Pour réinitialiser OpenLDAP, procédez comme suit:
- Réinstallez OpenLDAP et le serveur de gestion.
- Arrêtez le serveur
openldap
:apigee-service apigee-openldap stop
- Supprimez le dossier de données
openldap
corrompu:rm -rf /opt/apigee/data/apigee-openldap
- Désinstallez le composant
openldap
:apigee-service apigee-openldap uninstall
- Réinstallez le composant
openldap
à l'aide du même fichier de configuration que celui utilisé pour l'installation initiale: où/opt/apigee/apigee-setup/bin/setup.sh -p ld -f configfile
configfile
est le nom du fichier de configuration. - Réinstallez le serveur de gestion à l'aide du fichier de configuration d'origine:
/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. - Arrêtez le serveur
- 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: @@@
où orgname est l'organisation que vous essayez de recréer.
- Ajoutez les entités LDAP manquantes à l'aide de la commande suivante:
ldapadd -x -w
-D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f missingLDAP.ldif
Les étapes ci-dessus créent les entrées manquantes pour une organisation existante et les autorisations
orgadmin
pour cette organisation. Répétez la procédure pour chaque organisation à recréer. À ce stade, vous pouvez ajouter des utilisateursorgadmin
à une organisation, mais les autres rôles par défaut n'existent pas encore. Vous devez donc les ajouter à l'aide de l'étape suivante. - Create an ldif file called
Ajoutez les rôles et autorisations par défaut manquants à une organisation existante.
À l'aide du même fichier de configuration que celui utilisé initialement pour configurer l'une des organisations existantes, exécutez la commande suivante:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-roles -f configfile
- Ajoutez tous les rôles personnalisés qui existaient avant la corruption à l'aide de l'UI ou de l'API de gestion.
- Ajoutez des utilisateurs aux rôles utilisateur appropriés.
(Facultatif) rétablissez la configuration d'authentification externalisée sur la gestion.
Restaurez le
/opt/apigee/customer/application/management-server.properties
si la configuration n'a pas changé. Étant donné que l'UI n'a pas été réinstallée,/opt/apigee/customer/application/ui.properties
devrait rester le même, car les identifiants de l'administrateur système ont été restaurés avec la nouvelle installation de la gestion.(Facultatif) Réinstallez mTLS Apigee sur le nœud de gestion.
Si mTLS Apigee a déjà été installé, suivez le guide d'installation de mTLS Apigee pour le réinstaller sur le nœud du serveur de gestion.
Après avoir suivi cette procédure, vous devez effectuer les opérations suivantes manuellement:
Si le problème persiste, contactez l'assistance Apigee pour obtenir de l'aide.