Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Ta sekcja zawiera informacje i wskazówki dotyczące rozwiązywania problemów z OpenLDAP.
Protokół SMTP jest wyłączony, a użytkownicy muszą zresetować hasło
Krótki opis problemu
Gdy protokół SMTP nie jest skonfigurowany w interfejsie użytkownika Edge, nowi użytkownicy dodani do Edge muszą ustawić hasło.
Komunikaty o błędach
Unknown username and password combination.
Możliwe przyczyny
Nowi użytkownicy nie mogą otrzymywać e-maili z linku „Nie pamiętasz hasła?”, ponieważ nie skonfigurowano SMTP.
Rozdzielczość
Możesz rozwiązać ten problem na jeden z tych sposobów:
Rozwiązanie 1. Skonfiguruj serwer SMTP
Skonfiguruj serwer SMTP, aby ustawić nowe hasło dla użytkownika, korzystając z instrukcji dostępnych w dokumentacji.
Rozwiązanie 2. Używanie LDAP
Jeśli nie możesz skonfigurować serwera SMTP, użyj poniższych poleceń LDAP, aby ustawić nowe hasło użytkownika:
- Istniejący administrator organizacji musi dodać konkretnego użytkownika w interfejsie Edge, jak pokazano poniżej:
- Za pomocą polecenia ldapsearch znajdź nazwę wyróżniającą użytkownika (dn) i przekieruj dane wyjściowe do pliku:
ldapsearch -w Secret123 -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h localhost -p 10389 > ldap.txt
Oto przykład wpisu dn użytkownika wraz z atrybutami tego użytkownika:
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
- Otwórz plik ldap.txt i znajdź nazwę nn nowego użytkownika dodanego na podstawie atrybutu adresu e-mail nowego użytkownika.
- Wykonaj polecenie ldappassword, aby dodać hasło nowego użytkownika przy użyciu jego identyfikatora dn. W tym przykładzie ustawiasz hasło użytkownika na 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"
- Zaloguj się w interfejsie Edge jako nowy użytkownik z hasłem zdefiniowanym w poprzednim kroku. Użytkownik może ustawić nowe hasło po zalogowaniu się w interfejsie.
LDAP nie replikuje
Krótki opis problemu
Wiele instalacji Edge ma wiele centrów danych, na przykład DC-1 i DC-2. Gdy jako administrator organizacji logujesz się w interfejsie Edge w DC-1, możesz wyświetlić listę użytkowników, ale ta sama lista nie jest widoczna w interfejsie Edge w DC-2.
Komunikaty o błędach
Nie pojawiają się żadne błędy, a interfejs Edge po prostu nie wyświetla listy użytkowników, którzy powinni zostać zreplikowani na wszystkich serwerach OpenLDAP.
Możliwe przyczyny
Zwykle przyczyną tego problemu jest nieprawidłowo skonfigurowana konfiguracja replikacji OpenLDAP, a nie sama instalacja. Ponadto replikacja może zostać przerwana, jeśli sieć między serwerami OpenLDAP nie zezwala na ruch na porcie 10389.
Diagnostyka
Aby zdiagnozować problem, wykonaj te czynności:
- Sprawdź, czy narzędzie ldapsearch zwraca dane z każdego serwera OpenLDAP:
ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h <host-ip> -p 10389
- Sprawdź, czy możesz połączyć się z każdym węzłem OpenLDAP z innych węzłów OpenLDAP na porcie 10389.
Jeśli masz zainstalowany telnet, użyj tego polecenia:
telnet <OpenLDAP_Peer_IP> 10389
-
Jeśli protokół telnet jest niedostępny, użyj narzędzia netcat, aby sprawdzić połączenie w następujący sposób:
nc -vz <OpenLDAP_Peer_IP> 10389
- Sprawdź konfigurację replikacji w tym pliku:
/opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
Plik powinien zawierać następującą konfigurację:
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
- Znajdź też w tym samym pliku wartość atrybutu olcMirrorMode. Powinien mieć wartość PRAWDA:
grep olcMirrorMode /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
- Sprawdź, czy nie ma reguł iptables i opakowania tcp. Usuń wszystkie reguły, które nie zezwalają na komunikację równorzędną serwerów OpenLDAP. Skontaktuj się z administratorem sieci, by odpowiednio ustawić reguły.
- Upewnij się, że hasło systemowe OpenLDAP jest takie samo w każdym węźle OpenLDAP.
- Sprawdź, czy w plikach konfiguracji ldif nie ma ukrytych znaków, które są używane do konfigurowania replikacji OpenLDAP w N-Way, uruchamiając dos2unix względem plików ldif, które zostały utworzone w celu zaktualizowania konfiguracji. Zwykle plik ldif zawierający nieprawidłowe znaki powoduje nieuruchomienie polecenia ldapmodify, więc replikacja może nie zostać skonfigurowana. Usuń wszystkie nieprawidłowe znaki i zapisz pliki konfiguracji.
Jeśli problem będzie się powtarzać, skontaktuj się z zespołem pomocy Apigee, aby uzyskać pomoc w konfigurowaniu replikacji N-Way OpenLDAP.
Nie udało się uruchomić OpenLDAP
Krótki opis problemu
OpenLDAP nie uruchamia się.
Komunikaty o błędach
SLAPD Dead But Pid File Exists
Możliwe przyczyny
Przyczyną tego problemu jest zwykle plik blokady, który pozostaje w systemie plików i należy go usunąć.
Diagnostyka
Aby zdiagnozować ten problem:
- Sprawdź, czy w tej lokalizacji nie ma blokady procesu lub pliku pid OpenLDAP:
/opt/apigee/var/run/apigee-openldap/apigee-openldap.lock /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Jeśli masz plik blokady i pid, usuń go i spróbuj ponownie uruchomić plik openldap.
rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.lock Rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
- Jeśli rozpocznie się proces zatwierdzania OpenLDAP, pomiń poniższe kroki.
- Jeśli proces notowania OpenLDAP się nie uruchomi, spróbuj uruchomić slapd w trybie debugowania i poszukaj błędów:
slapd -h ldap://:10389/ -u apigee -F /opt/apigee/data/apigee-openldap/slapd.d -d 255
- Błędy mogą wskazywać na problemy z zasobami. Sprawdź wykorzystanie pamięci i procesora w systemie.
- Sprawdź wersję OpenLDAP i uaktualnij, jeśli jest stara. Sprawdź obsługiwane wersje OpenLDAP w dokumencie Obsługiwane oprogramowanie.
slapd -V
- Użyj Strace do rozwiązywania problemów z procesem slapania i przekazania danych wyjściowych Strace do
działu pomocy Apigee:
strace -tt -T -f -F -i -v -e read=all -s 8192 -e write=all -o /tmp/strace.out -p <pid>
Uszkodzenie danych OpenLDAP
Krótki opis problemu
Użytkownicy nie będą już mogli uruchamiać wywołań zarządzania ani logować się w interfejsie Edge. Korzystanie z narzędzia ldapsearch do odpytywania użytkowników może sprawdzić, czy użytkownik istnieje w magazynie danych LDAP, albo zidentyfikować ewentualne brakujące konta użytkowników czy role.
Komunikaty o błędach
Unknown username and password combination.
Możliwe przyczyny
Ten problem może być zwykle spowodowany uszkodzeniem danych OpenLDAP. Zwykle dane OpenLDAP nie zostają uszkodzone. W rzadkich przypadkach uszkodzenie może być jednak spowodowane awariami dysku systemu lub problemami z miejscem na dysku.
Diagnostyka
- Sprawdź ilość miejsca na dysku w systemie, w którym zainstalowano OpenLDAP za pomocą tego polecenia:
du -m /opt
- Jeśli zauważysz, że wykorzystywane miejsce na dysku jest bliskie 100%, oznacza to, że przyczyną problemu jest zbyt mało miejsca na dysku.
Rozdzielczość
Jeśli w systemie skończyło się miejsce na dysku lub jest już bliskie wyczerpania, dodaj go więcej, aby mieć pewność, że jest już wystarczająco dużo miejsca.
Gdy masz wystarczającą ilość miejsca na dysku, spróbuj rozwiązać problem z uszkodzeniem danych LDAP, korzystając z jednego z tych rozwiązań:
- Przywróć dane OpenLDAP z kopii zapasowej.
- Wyczyść bazę danych OpenLDAP.
Rozwiązanie nr 1: przywróć dane LDAP z kopii zapasowej
Utwórz kopię zapasową w działającym węźle OpenLDAP. Kopię zapasową należy wykonywać regularnie. Sprawdzone metody dotyczące kopii zapasowych znajdziesz w przewodniku po operacji w chmurze Apigee:
slapcat -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
Aby przywrócić dane OpenLDAP z prawidłowej kopii zapasowej, wykonaj czynności opisane poniżej.
- Zatrzymaj węzeł OpenLDAP, którego dane mają zostać przywrócone:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Zmień katalog na katalog danych OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Utwórz kopię zapasową istniejących danych OpenLDAP przy użyciu polecenia przenoszenia:
mv ldap ldap_orig
- Przełącz na użytkownika Apigee:
su apigee
- W katalogu
/opt/apigee/data/apigee-openldap
utwórz nowy katalog danych OpenLDAP o oryginalnej nazwie:mkdir ldap
- Skopiuj kopię zapasową podkatalogu ldap_orig/DB_CONFIG z kroku 3 i skopiuj ją do katalogu openldap.
cp ldap_orig/DB_CONFIG ldap
- Aby przywrócić dane z kopii zapasowej wykonanej przy użyciu slapcat, za pomocą narzędzia slapadd zaimportuj element ldif, który zawiera prawidłowe dane:
slapadd -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
- Uruchom proces OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
Rozwiązanie nr 2 Wyczyść bazę danych LDAP
Wykonując poniższe czynności, wyczyścisz bazę danych OpenLDAP, aby rozpocząć od nowa. Tego rozwiązania można użyć, jeśli nie ma kopii zapasowej danych w ostatnim stanie, w którym działały dane OpenLDAP.
- Zatrzymaj usługę OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- Zmień katalog na katalog danych OpenLDAP:
cd /opt/apigee/data/apigee-openldap
- Utwórz kopię zapasową istniejących danych OpenLDAP przy użyciu polecenia przenoszenia:
mv ldap ldap_orig
- Przełącz na użytkownika Apigee:
su apigee
- Utwórz nowy katalog danych OpenLDAP o oryginalnej nazwie:
mkdir ldap
- Pobierz podkatalog ldap_orig/DB_CONFIG z kroku 3 i skopiuj go do katalogu openldap:
cp ldap_orig/DB_CONFIG ldap
- Ponownie uruchom proces OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
- Uruchom ponownie serwer zarządzania, aby wymusić odświeżenie połączeń z OpenLDAP:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
Rozwiązanie nr 3 : zresetuj OpenLDAP do instalacji podstawowej
Jeśli rozwiązanie 2 nie rozwiąże problemu, możesz zresetować OpenLDAP do instalacji podstawowej, zgodnie z opisem w tej sekcji.
Wymagania wstępne
Aby zresetować OpenLDAP, musisz spełnić następujące wymagania wstępne:
- możliwość uruchamiania konfiguracji za pomocą danych logowania administratora systemu i danych logowania głównego LDAP,
- Dostęp do narzędzia
ldapadd
. - Zapisany oryginalny plik cichej konfiguracji dla węzła zarządzania/LDAP.
Aby zresetować OpenLDAP, wykonaj te czynności:
- Ponownie zainstaluj OpenLDAP i serwer zarządzania.
- Zatrzymaj serwer
openldap
:apigee-service apigee-openldap stop
- Usuń uszkodzony folder danych
openldap
:rm -rf /opt/apigee/data/apigee-openldap
- Odinstaluj komponent
openldap
:apigee-service apigee-openldap uninstall
- Zainstaluj ponownie komponent
openldap
przy użyciu tego samego pliku konfiguracji, który został użyty podczas pierwszej instalacji:/opt/apigee/apigee-setup/bin/setup.sh -p ld -f configfile
, gdzieconfigfile
to nazwa pliku konfiguracji. - Ponownie zainstaluj serwer zarządzania przy użyciu oryginalnego pliku konfiguracji:
/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. - Zatrzymaj serwer
- 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: @@@
gdzie orgname to organizacja, którą próbujesz odtworzyć.
- Dodaj brakujące encje LDAP za pomocą tego polecenia:
ldapadd -x -w
-D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f missingLDAP.ldif
Wykonując powyższe czynności, utworzysz brakujące wpisy dla istniejącej organizacji i uprawnienia
orgadmin
dla tej organizacji. Powtórz te czynności w przypadku każdej organizacji, którą chcesz odtworzyć. W tym momencie możesz dodać do organizacji użytkowników (orgadmin
), ale inne domyślne role jeszcze nie istnieją, więc musisz ich dodać w następnym kroku. - Create an ldif file called
Dodaj do istniejącej organizacji brakujące domyślne role i uprawnienia.
Przy użyciu tego samego pliku konfiguracji, który został użyty do skonfigurowania dowolnej z istniejących organizacji, uruchom to polecenie:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-roles -f configfile
- Za pomocą interfejsu użytkownika lub interfejsu API zarządzania dodaj wszelkie role niestandardowe, które istniały przed uszkodzeniem.
- Dodaj wszystkich użytkowników do odpowiednich ról.
(Opcjonalnie) Ponownie zdefiniuj konfigurację uwierzytelniania zewnętrznego w funkcjach zarządzania.
Jeśli konfiguracja się nie zmieniła, przywróć
/opt/apigee/customer/application/management-server.properties
. Ponieważ interfejs użytkownika nie został ponownie zainstalowany,/opt/apigee/customer/application/ui.properties
powinien pozostać taki sam, ponieważ dane logowania administratora sysadmin zostały przywrócone z nową instalacją zarządzania.(Opcjonalnie) Ponownie zainstaluj Apigee mTLS w węźle zarządzania.
Jeśli Apigee mTLS zostało wcześniej zainstalowane, postępuj zgodnie z instrukcjami instalacji Apigee mTLS, aby ponownie zainstalować go w węźle serwera zarządzania.
Po wykonaniu tej procedury musisz ręcznie:
Jeśli problem będzie nadal występował, skontaktuj się z zespołem pomocy Apigee.