OpenLDAP Sorunlarını Giderme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Bu bölümde, OpenLDAP sorunlarını giderme konusunda bilgi ve yol gösterici bilgiler sağlanmaktadır.

SMTP devre dışı bırakıldı ve kullanıcıların şifreyi sıfırlaması gerekiyor

Belirti

Edge kullanıcı arayüzünde SMTP ayarlanmadığında, Edge'e eklenen yeni kullanıcıların şifre belirlemek için bir yönteme ihtiyacı vardır.

Hata mesajları

Unknown username and password combination.

Olası Nedenler

SMTP kurulmadığı için yeni kullanıcılar, şifre belirlemek üzere "Şifrenizi mi unuttunuz?" bağlantısından e-posta alamıyor.

Çözünürlük

Bu sorunu aşağıdaki yöntemlerden birini kullanarak çözebilirsiniz:

1. Çözüm: SMTP Sunucusunu yapılandırın

Belgelerde sağlanan talimatları kullanarak, SMTP Sunucusu'nu kullanıcı için yeni bir şifre belirleyecek şekilde yapılandırın.

2. Çözüm: LDAP kullanma

SMTP sunucusunu yapılandıramıyorsanız bir kullanıcı için yeni şifre belirlemek üzere aşağıdaki LDAP komutlarını kullanın:

  1. Mevcut bir kuruluş yöneticisinin, söz konusu kullanıcıyı aşağıda gösterildiği gibi Edge kullanıcı arayüzü üzerinden eklemesi gerekir:

  2. Kullanıcının ayırt edici adını (dn) bulmak ve çıkışı bir dosyaya yönlendirmek için ldapsearch komutunu kullanın:
    ldapsearch -w Secret123 -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h localhost -p 10389 > ldap.txt
    

    Aşağıda, bir kullanıcı için dn girişi ve kullanıcıya ilişkin özellikler örneği verilmiştir:

    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. ldap.txt dosyasını açın ve yeni kullanıcının e-posta özelliğine göre eklenen yeni kullanıcının dn'sini bulun.
  4. Yeni kullanıcının dn'sini kullanarak şifre eklemek için ldappassword komutunu çalıştırın. Bu örnekte, kullanıcının şifresini Apigee123 olarak ayarlıyorsunuz:
    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. Edge kullanıcı arayüzüne, önceki adımda tanımlanan şifreyle yeni kullanıcı olarak giriş yapın. Kullanıcı, kullanıcı arayüzüne giriş yaptıktan sonra yeni bir şifre belirleyebilir.

LDAP Çoğaltılmıyor

Belirti

Birçok Edge kurulumunda DC-1 ve DC-2 gibi birden fazla veri merkezi bulunur. DC-1'de uç kullanıcı arayüzüne kuruluş yöneticisi olarak giriş yaparken kullanıcı listesini görüntüleyebilirsiniz ancak aynı kullanıcı listesi, DC-2'deki Edge kullanıcı arayüzünde görünmez.

Hata mesajları

Herhangi bir hata görünmez. Edge kullanıcı arayüzü, tüm OpenLDAP sunucularında çoğaltılması gereken kullanıcıların listesini göstermez.

Olası Nedenler

Bu sorunun nedeni genellikle kurulumun değil, yanlış yapılandırılmış bir OpenLDAP çoğaltma yapılandırmasıdır. Ayrıca, OpenLDAP sunucuları arasındaki ağ 10389 numaralı bağlantı noktasında trafiğe izin vermiyorsa çoğaltma bozulabilir.

Teşhis

Sorunu teşhis etmek için aşağıdaki adımları uygulayın:

  1. ldapsearch'ün her OpenLDAP sunucusundan veri döndürüp döndürmediğini kontrol edin:
    ldapsearch -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -h <host-ip> -p 10389
    
  2. 10389 numaralı bağlantı noktasındaki diğer OpenLDAP düğümlerinden her bir OpenLDAP düğümüne bağlanıp bağlanamadığınızı kontrol edin. Telnet yüklüyse aşağıdaki komutu kullanın:
    telnet <OpenLDAP_Peer_IP> 10389
    
  3. Telnet kullanılamıyorsa bağlantıyı aşağıdaki şekilde kontrol etmek için netcat'i kullanın:

    nc -vz <OpenLDAP_Peer_IP> 10389
    
  4. Aşağıdaki dosyada çoğaltma yapılandırmasını kontrol edin:
    /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
    

    Dosya şuna benzer bir yapılandırma içermelidir:

    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. olcMirrorMode özelliğinin değeri için aynı dosyayı da kontrol edin. TRUE (DOĞRU) değerine ayarlanmalıdır:
    grep olcMirrorMode /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
    
  6. iptables ve TCP sarmalayıcı kurallarını kontrol edin. Lütfen eş OpenLDAP sunucularının birbiriyle iletişim kurmasına izin vermeyen tüm kuralları kaldırın. Kuralları uygun şekilde ayarlamak için ağ yöneticinizle birlikte çalışın.
  7. OpenLDAP sistem şifresinin her OpenLDAP düğümünde aynı olduğundan emin olun.
  8. Yapılandırmayı güncellemek için oluşturulan ldif dosyalarında dos2unix'i çalıştırarak N-Way OpenLDAP replikasını yapılandırmak için kullanılan ldif yapılandırma dosyalarında gizli karakterler olup olmadığını kontrol edin. Genellikle, bozuk karakterler içeren bir ldif dosyası, ldapmodify komutunun çalışmamasına neden olur ve bu nedenle çoğaltma ayarlanamayabilir. Bozuk karakterleri kaldırın ve yapılandırma dosyalarını kaydedin.

Sorun devam ederse N-Way OpenLDAP replikasını ayarlama konusunda yardım almak için Apigee Destek Ekibi ile iletişime geçin.

OpenLDAP başlatılamıyor

Belirti

OpenLDAP başlatılmıyor.

Hata mesajları

SLAPD Dead But Pid File Exists

Olası Nedenler

Bu sorun genellikle dosya sisteminde geride kalan ve kaldırılması gereken bir kilit dosyasından kaynaklanır.

Teşhis

Bu sorunu teşhis etmek için aşağıdaki adımları uygulayın:

  1. Şu konumda OpenLDAP destekli işlem kilidi veya pid dosyası olup olmadığını kontrol edin:
    /opt/apigee/var/run/apigee-openldap/apigee-openldap.lock
    /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
    
  2. Varsa, kilit ve pid dosyasını silin, ardından Openldap'ı yeniden başlatmayı deneyin.
    rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.lock
    Rm /opt/apigee/var/run/apigee-openldap/apigee-openldap.pid
    
  3. OpenLDAP engelleme işlemi başlarsa aşağıdaki adımları atlayın.
  4. OpenLDAP engelleme işlemi başlamıyorsa hata ayıklama modunda "slapd" özelliğini çalıştırmayı deneyin ve hata olup olmadığına bakın:
    slapd -h ldap://:10389/ -u apigee -F /opt/apigee/data/apigee-openldap/slapd.d -d 255
    
  5. Hatalar kaynak sorunlarına işaret edebilir. Sistemdeki bellek ve CPU kullanımını kontrol edin.
  6. OpenLDAP sürümünü kontrol edin ve eskiyse yükseltin. Desteklenen Yazılımlar belgemizde OpenLDAP'nin desteklenen sürümlerini kontrol edin.
    slapd -V
    
  7. Sökülmüş işlemleri gidermek ve Apigee Desteği'ne stratejik çıkış sağlamak için strace'i kullanın:
    strace -tt -T -f -F -i -v -e read=all -s 8192 -e write=all -o /tmp/strace.out -p <pid>
    

OpenLDAP Veri Bozulması

Belirti

Kullanıcılar artık yönetim çağrıları çalıştıramaz veya Edge kullanıcı arayüzüne giriş yapamaz. Kullanıcıları sorgulamak için ldapsearch yardımcı programını kullanmak, kullanıcının LDAP veri deposunda mevcut olduğunu belirtebilir veya olası eksik kullanıcıları ya da rolleri tanımlayabilir.

Hata mesajları

Unknown username and password combination.

Olası Nedenler

Genellikle bu sorun OpenLDAP verilerinin bozulmasından kaynaklanabilir. OpenLDAP verileri genellikle bozulmaz. Ancak nadiren de olsa bozulmalar sistem disk hatasından veya disk alanı sorunlarından kaynaklanıyor olabilir.

Teşhis

  1. Aşağıdaki komutu kullanarak OpenLDAP'nin yüklü olduğu sistemdeki disk alanını kontrol edin:
    du -m /opt
    
  2. Kullanılan disk alanının %100'e çok yakın olduğunu görürseniz bu, sorunun nedeninin sisteminizde disk alanı tükenmesidir.

Çözünürlük

Sisteminizde disk alanı kalmadıysa veya disk alanı tükenmek üzereyse yeterli disk alanınız olduğundan emin olmak için daha fazla disk alanı ekleyin.

Yeterli disk alanına sahip olduğunuzda, LDAP verilerinin bozulması sorununu çözmek için aşağıdaki çözümlerden birini kullanın:

  1. OpenLDAP verilerini yedekten geri yükleyin.
  2. OpenLDAP veritabanını temizleyin.

1. Çözüm: LDAP verilerini yedekten geri yükleyin

Çalışan bir OpenLDAP düğümünde yedekleme yapın. Yedekleme düzenli olarak yapılmalıdır. Yedeklemelerle ilgili en iyi uygulamalar için Apigee Private Cloud İşlem Rehberi'ne bakın:

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

Aşağıdaki adımlar, OpenLDAP verilerini iyi bir yedekten geri yüklemek için kullanılabilir.

  1. Verilerin geri yüklenmesi gereken OpenLDAP düğümünü durdurun:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
    
  2. Dizini OpenLDAP veri dizini olarak değiştirin:
    cd /opt/apigee/data/apigee-openldap
    
  3. Mevcut OpenLDAP verilerini taşıma komutunu kullanarak yedekleyin:
    mv ldap ldap_orig
    
  4. Apigee kullanıcısına geçin:
    su apigee
    
  5. /opt/apigee/data/apigee-openldap dizininden orijinal adla yeni bir OpenLDAP veri dizini oluşturun:
    mkdir ldap
    
  6. 3. adımdaki ldap_orig/DB_CONFIG alt dizininin yedeğini alın ve Openldap dizinine kopyalayın.
    cp ldap_orig/DB_CONFIG ldap
    
  7. Slapcat ile alınan yedeklerden verileri geri yüklemek amacıyla iyi verileri içeren ldif'i içe aktarmak için slapadd özelliğini kullanın:
    slapadd -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
    
  8. OpenLDAP işlemini başlatın:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
    

2. Çözüm LDAP veritabanını temizleyin

Aşağıdaki adımlar, yeni bir başlangıç sağlamak için OpenLDAP veritabanını siler. Bu çözüm, OpenLDAP verilerinin çalıştığı son duruma ait veri yedeği yoksa kullanılabilir.

  1. OpenLDAP hizmetini durdurun:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
    
  2. Dizini OpenLDAP veri dizini olarak değiştirin:
    cd /opt/apigee/data/apigee-openldap
    
  3. Mevcut OpenLDAP verilerini taşıma komutunu kullanarak yedekleyin:
    mv ldap ldap_orig
    
  4. Apigee kullanıcısına geçin:
    su apigee
    
  5. Orijinal adla yeni bir OpenLDAP veri dizini oluşturun:
    mkdir ldap
    
  6. 3. adımdaki yedek ldap_orig/DB_CONFIG alt dizinini alın ve Openldap dizinine kopyalayın:
    cp ldap_orig/DB_CONFIG ldap
    
  7. OpenLDAP işlemini yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap start
    
  8. OpenLDAP ile kurulan bağlantıların yenilenmesini zorunlu kılmak için Yönetim Sunucusu'nu yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    

3. Çözüm: OpenLDAP'yi temel bir yükleme olarak sıfırlayın

2. Çözüm sorunu çözmezse OpenLDAP'yi bu bölümde açıklandığı şekilde temel bir yüklemeye sıfırlayabilirsiniz.

Ön koşullar

OpenLDAP'yi sıfırlamak için aşağıdaki ön koşullara ihtiyacınız vardır:

  • Kurulumu sistem yöneticisi ve kök LDAP kimlik bilgileriyle çalıştırma olanağı.
  • ldapadd yardımcı programına erişim.
  • Yönetim/LDAP düğümü için kaydedilen orijinal sessiz yapılandırma dosyası.

OpenLDAP'yi sıfırlamak için aşağıdaki adımları uygulayın:

  1. OpenLDAP'yi ve Yönetim Sunucusu'nu yeniden yükleyin.
    1. openldap sunucusunu durdurun:
      apigee-service apigee-openldap stop
    2. Bozuk openldap veri klasörünü silin:
      rm -rf /opt/apigee/data/apigee-openldap
    3. openldap bileşenini kaldırın:
      apigee-service apigee-openldap uninstall
    4. openldap bileşenini, ilk yüklemede kullanılan yapılandırma dosyasını kullanarak yeniden yükleyin:
      /opt/apigee/apigee-setup/bin/setup.sh -p ld -f configfile
      Burada configfile, yapılandırma dosyasının adıdır.
    5. Yönetim Sunucusu'nu orijinal yapılandırma dosyasını kullanarak yeniden yükleyin:
      /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: @@@

      orgname, yeniden oluşturmaya çalıştığınız kuruluştur.

    2. Aşağıdaki komutu kullanarak eksik LDAP varlıklarını ekleyin:
      ldapadd -x -w  -D "cn=manager,dc=apigee,dc=com" -H ldap://localhost:10389 -f missingLDAP.ldif

    Yukarıdaki adımlar, mevcut bir kuruluş için eksik girişler ve bu kuruluş için orgadmin izinleri oluşturur. Yeniden oluşturulması gereken her kuruluş için bu adımları tekrarlayın. Bu aşamada orgadmin kullanıcılarını bir kuruluşa ekleyebilirsiniz ancak diğer varsayılan roller henüz mevcut olmadığından sonraki adımı kullanarak bunları eklemeniz gerekir.

  3. Eksik varsayılan rol ve izinleri mevcut bir kuruluşa ekleyin.

    Başlangıçta mevcut kuruluşlardan birini ayarlamak için kullanılan yapılandırma dosyasını kullanarak aşağıdaki komutu çalıştırın:

    /opt/apigee/apigee-service/bin/apigee-service apigee-provision create-roles -f configfile
  4. Bu prosedürü uyguladıktan sonra aşağıdakileri manuel olarak yapmanız gerekir:

    • Kullanıcı arayüzünü veya yönetim API'sini kullanarak, bozulmadan önce var olan tüm özel rolleri ekleyin,
    • İlgili kullanıcı rollerine tüm kullanıcıları ekleyin.
  5. (İsteğe bağlı) Yönetim'de Harici Kimlik Doğrulama Yapılandırmasını yeniden oluşturun.

    Yapılandırma değişmediyse /opt/apigee/customer/application/management-server.properties öğesini geri yükleyin. Kullanıcı arayüzü yeniden yüklenmediğinden, yeni yönetim yüklemesi kullanılarak sistem yöneticisinin kimlik bilgilerinin geri yüklenmesi durumunda /opt/apigee/customer/application/ui.properties öğesinin aynı kalması gerekir.

  6. (İsteğe bağlı) Yönetim düğümünde Apigee mTLS'yi yeniden yükleyin.

    Apigee mTLS daha önce yüklenmişse Apigee mTLS Yükleme Kılavuzu'ndaki talimatları uygulayarak Apigee mTLS'yi yönetim sunucusu düğümüne yeniden yükleyin.

Sorun devam ederse daha fazla yardım almak için Apigee Destek Ekibi ile iletişime geçin.