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 hakkında bilgi ve rehberlik sağlanmaktadır.

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

Belirti

SMTP, Edge kullanıcı arayüzünde ayarlanmadığında Edge'e eklenen yeni kullanıcıların şifre belirlemesi gerekir.

Hata mesajları

Unknown username and password combination.

Olası nedenler

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

Çözünürlük

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

1. çözüm: SMTP sunucusunu yapılandırın

Belgelerde verilen talimatları kullanarak SMTP sunucusunu, 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 kullanıcı için yeni şifreyi ayarlamak üzere aşağıdaki LDAP komutlarını kullanın:

  1. Mevcut bir kuruluş yöneticisinin, Edge kullanıcı arayüzü üzerinden ilgili kullanıcıyı eklemesi gerekir. Bu işlem aşağıda gösterilmiştir:

  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ının DN girişine ve kullanıcının özelliklerine dair bir örnek 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ıya 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. Önceki adımda tanımlanan şifreyle yeni kullanıcı olarak Edge kullanıcı arayüzüne giriş yapın. Kullanıcı, kullanıcı arayüzüne giriş yaptıktan sonra yeni bir şifre belirleyebilir.

LDAP Replication Yapılmıyor

Belirti

Birçok Edge kurulumunda birden fazla veri merkezi bulunur (ör. DC-1 ve DC-2). DC-1'deki Edge kullanıcı arayüzüne kuruluş yöneticisi olarak giriş yaptığınızda 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ı

Hata görünmüyor, Edge kullanıcı arayüzü yalnızca tüm OpenLDAP sunucularına kopyalanması gereken kullanıcıların listesini göstermiyor.

Olası nedenler

Bu sorunun nedeni genellikle OpenLDAP replikasyon yapılandırmasının yanlış yapılandırılmasıdır, yükleme değildir. Ayrıca, OpenLDAP sunucuları arasındaki ağ, 10389 numaralı bağlantı noktasından trafiğe izin vermiyorsa çoğaltma işlemi 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ında 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 gibi netcat ile kontrol edin:

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

    Dosya şu gibi 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. Aynı dosyada olcMirrorMode özelliğinin değerini de kontrol edin. TRUE değerine ayarlanmalıdır:
    grep olcMirrorMode /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
    
  6. iptables ve tcp wrapper kurallarını kontrol edin. Lütfen eş OpenLDAP sunucularının birbiriyle iletişim kurmasına izin vermeyen 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ına karşı dos2unix çalıştırarak N-Way OpenLDAP replikasyonunu yapılandırmak için kullanılan ldif yapılandırma dosyalarındaki gizli karakterleri kontrol edin. Genellikle kötü karakterler içeren bir ldif dosyası, ldapmodify komutunun çalışmasını engeller ve bu nedenle replikasyon ayarlanmayabilir. Hatalı karakterleri kaldırın ve yapılandırma dosyalarını kaydedin.

Sorun devam ederse N-Way OpenLDAP replikasyonunu 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 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. Aşağıdaki konumda OpenLDAP slapd 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. Kilit ve pid dosyasını (varsa) silin ve 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 slapd işlemi başlatılırsa aşağıdaki adımları atlayın.
  4. OpenLDAP slapd işlemi başlamazsa slapd'yi hata ayıklama modunda çalıştırmayı deneyin ve hataları arayı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 eski bir sürümse yükseltin. OpenLDAP'in desteklenen sürümlerini Desteklenen Yazılımlar dokümanımızda bulabilirsiniz.
    slapd -V
    
  7. slapd sürecinde sorun gidermek ve Apigee Destek Ekibi'ne strace çı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ünde oturum açamaz. Kullanıcıları sorgulamak için ldapsearch yardımcı programını kullanmak, kullanıcının LDAP veri deposunda bulunduğunu gösterebilir veya olası eksik kullanıcıları ya da rolleri belirleyebilir.

Hata mesajları

Unknown username and password combination.

Olası nedenler

Bu sorun genellikle OpenLDAP verilerinin bozulmasından kaynaklanır. OpenLDAP verileri genellikle bozulmaz. Ancak nadir durumlarda bu sorun yaşanırsa bozulmanın nedeni sistem diski arızası veya disk alanı sorunları 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üyorsanız bu durum, sorunun nedeninin sisteminizin disk alanının tükenmesi olduğunu gösterir.
  3. LDAP düğümleri arasındaki veri tutarlılığını kontrol edin:
    1. Her LDAP düğümünde kullanıcı ve rol sayısını karşılaştırın. Aşağıdaki komutları çalıştırın ve sonuçları karşılaştırın.
      ldapsearch -o ldif-wrap=no -b "ou=users,ou=global,dc=apigee,dc=com" -D "cn=manager,dc=apigee,dc=com" -H ldap://:10389 -LLL -x -w PASSWORD|wc -l
      ldapsearch -o ldif-wrap=no -b "ou=resources,ou=global,dc=apigee,dc=com" -D "cn=manager,dc=apigee,dc=com" -H ldap://:10389 -LLL -x -w PASSWORD|wc -l 
      Düğümler arasındaki sayı uyuşmazlığı, olası veri bozulmasına işaret eder.
    2. LDAP replikasyon durumunu doğrulayın. Her LDAP düğümünde aşağıdaki komutu çalıştırın.
        ldapsearch -x -LLL -H ldap://ldap_ip:10389 -s base -b 'dc=apigee,dc=com' contextCSN dn: dc=apigee,dc=com -D "cn=manager,dc=apigee,dc=com" -w PASSWORD dn: dc=apigee,dc=com 
      contextCSN değeri tüm düğümlerde aynıysa LDAP replikasyonu düzgün şekilde çalışıyor demektir.

Çözünürlük

Sisteminizde disk alanı bittiyse veya bitmek üzereyse yeterli alan olduğundan emin olmak için daha fazla disk alanı ekleyin.

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

  1. OpenLDAP verilerini yedekten geri yükleyin.
  2. Aşağıdaki adımları uygulayarak OpenLDAP veritabanını temizleyin:
    1. Yönetim Sunucusu 2 ve LDAP2'yi kapatın.
    2. LDAP1'i bir sanal makine yedeğinden (veya Apigee yedeğinden) geri yükleyin.
    3. Başlatma ve kurtarma için Yönetim Sunucusu 1'i kontrol edin.
    4. Yönetim Sunucusu 1 ve LDAP1 doğru şekilde çalıştıktan sonra LDAP2'yi sıfırdan (tamamen boş bir başlangıç yaparak) yeniden yükleyin.
    5. LDAP1'in LDAP2'ye kopyalanmasına izin vererek LDAP2'yi salt okunur modda ayarlayın.
    6. LDAP1 ve LDAP2'deki satır sayısının eşleştiğini doğrulamak için ldapsearch komutunu kullanın.
    7. Yönetim Sunucusu 2 ve UI2'yi yeniden başlatın ve başarıyla başlatıldıklarını onaylayın.

Ayrıntılı talimatlar için Herkese Açık Issue Tracker'ı inceleyin.

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

Çalışan bir OpenLDAP düğümünde yedekleme yapın. Yedekleme işlemi düzenli olarak yapılmalıdır. Yedeklemelerle ilgili en iyi uygulamalar için Apigee Private Cloud İşlemleri Kılavuzu'na göz atın:

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

OpenLDAP verilerini iyi bir yedekten geri yüklemek için aşağıdaki adımlar 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 dizinine 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 dizininde, orijinal adla yeni bir OpenLDAP veri dizini oluşturun:
    mkdir ldap
    
  6. 3. adımda 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 yedeklemeden verileri geri yüklemek için slapadd'i kullanarak iyi verileri içeren ldif'i içe aktarın:
    slapadd -F /opt/apigee/data/apigee-openldap/slapd.d -l /tmp/ldap-backup.ldif
    
  8. OpenLDAP sürecini 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, OpenLDAP veritabanını silerek yeni bir başlangıç yapmanızı sağlar. Bu çözüm, OpenLDAP verilerinin çalıştığı son durumun veri yedeği yoksa kullanılabilir.

  1. OpenLDAP hizmetini durdurun:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
    
  2. Dizini OpenLDAP veri dizinine 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ımda oluşturulan yedek ldap_orig/DB_CONFIG alt dizinini alıp 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 bağlantılarının yenilenmesini zorlamak 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'ı temel kuruluma sıfırlayın

2. Çözüm sorunu çözmezse OpenLDAP'i bu bölümde açıklandığı gibi temel bir kuruluma sıfırlayabilirsiniz.

Ön koşullar

OpenLDAP'ı sıfırlamak için aşağıdaki ön koşulları karşılamanız gerekir:

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

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

  1. OpenLDAP'ı 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ükleme için kullanılan yapılandırma dosyasıyla 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 sunucusunu 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: @@@

      Burada 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şleri ve bu kuruluşun orgadmin izinlerini oluşturur. Yeniden oluşturulması gereken her kuruluş için bu adımları tekrarlayın. Bu noktada, bir kuruluşa orgadmin kullanıcı ekleyebilirsiniz ancak diğer varsayılan roller henüz mevcut değildir. Bu nedenle, bunları sonraki adımı kullanarak eklemeniz gerekir.

  3. Mevcut bir kuruluşa eksik varsayılan rolleri ve izinleri ekleme.

    Mevcut kuruluşlardan herhangi birini ayarlamak için başlangıçta 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 şunları manuel olarak yapmanız gerekir:

    • Kullanıcı arayüzünü veya Management API'yi kullanarak bozulmadan önce var olan özel rolleri ekleyin.
    • İlgili kullanıcı rollerine kullanıcı ekleyin.
  5. (İsteğe bağlı) Yönetim'de Haricileştirilmiş 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, sistem yöneticisi kimlik bilgileri yönetim uygulamasının yeni yüklemesiyle geri yüklendiği için /opt/apigee/customer/application/ui.properties aynı kalmalıdır.

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

    Apigee mTLS daha önce yüklendiyse yönetim sunucusu düğümüne yeniden yüklemek için Apigee mTLS Yükleme Kılavuzu'ndaki talimatları uygulayın.

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