OpenLDAP Sorunlarını Giderme

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

Bu bölümde, OpenLDAP sorunlarını gidermeyle ilgili bilgiler ve yönergeler yer almaktadır.

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

Belirti

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

Hata mesajları

Unknown username and password combination.

Olası Nedenler

SMTP ayarlanmadığı için yeni kullanıcılar, şifre belirlemek üzere "Ş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

SMTP sunucusunu, kullanıcı için yeni bir şifre ayarlayacak şekilde yapılandırın. SMTP'yi yapılandırma hakkında ayrıntılı bilgi için Edge SMTP sunucusunu yapılandırma başlıklı makaleyi inceleyin.

2. çözüm: LDAP kullanma

SMTP sunucusunu yapılandıramıyorsanız bir kullanıcının yeni şifresini ayarlamak için aşağıdaki LDAP komutlarını kullanın:

  1. Mevcut bir kuruluş yöneticisi, yeni Edge kullanıcı arayüzünde (veya önceki sürümlerdeki klasik Edge kullanıcı arayüzünde, aşağıdaki resimde gösterildiği gibi) belirli bir kullanıcıyı eklemelidir:

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

    Aşağıda, bir kullanıcının DN girişinin yanı sıra kullanıcının özellikleriyle ilgili 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ının DN'sini kullanarak şifre eklemek için ldappassword komutunu çalıştırın. Bu örnekte, kullanıcının şifresini Apigee123 olarak ayarlayacaksınız:
    ldappasswd -x -H ldap://localhost: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 yeni 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 çoğaltılmıyor

Belirti

Birçok Edge kurulumunda birden fazla veri merkezi (ör. DC-1 ve DC-2) bulunur. DC-1'deki Yeni Edge kullanıcı arayüzünde kuruluş yöneticisi olarak oturum açtığınızda kullanıcı listesini görüntüleyebilirsiniz ancak aynı kullanıcı listesi DC-2'deki Yeni Edge kullanıcı arayüzünde görünmez.

Hata mesajları

Hata görünmüyor. Yeni Edge kullanıcı arayüzünde, tüm OpenLDAP sunucularına kopyalanması gereken kullanıcıların listesi gösterilmiyor.

Olası nedenler

Bu sorunun nedeni genellikle kurulumun kendisi değil, yanlış yapılandırılmış bir OpenLDAP replikasyon yapılandırmasıdır. Ayrıca, OpenLDAP sunucuları arasındaki ağ 10389 numaralı bağlantı noktasında trafiğe izin vermiyorsa replikasyon 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 -x -W -D "cn=manager,dc=apigee,dc=com" -b "dc=apigee,dc=com" -LLL -H ldap://HOST_IP: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ı kontrol etmek için netcat'i aşağıdaki gibi kullanın:

    nc -vz <OpenLDAP_Peer_IP> 10389
    
  4. ldapsearch komutunu kullanarak çalışma zamanı replikasyon yapılandırmasını kontrol edin:
    ldapsearch -o ldif-wrap=no -D cn=admin,cn=config -H ldap://:10389 -LLL -x -w LDAP_ADMIN_PASSWORD -b "cn=config" "(olcSyncrepl=*)" olcSyncrepl
    

    Çıkış, aşağıdakine benzer bir yapılandırma içermelidir:

    dn: olcDatabase={2}mdb,cn=config
    olcSyncrepl: {0}rid=001 provider=ldap://OTHER_LDAP_SERVER:10389/ 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. olcMultiProvider (eski adıyla olcMirrorMode) özelliğinin çalışma zamanı yapılandırmasını kontrol etmek için ldapsearch komutunu kullanarak TRUE olarak ayarlandığını doğrulayın:
    ldapsearch -o ldif-wrap=no -D cn=admin,cn=config -H ldap://:10389 -LLL -x -w LDAP_ADMIN_PASSWORD -b "cn=config" "(olcMultiProvider=*)" olcMultiProvider olcMirrorMode
    

    Çıkış şu şekilde görünmelidir:

    dn: olcDatabase={2}mdb,cn=config
    olcMultiProvider: TRUE
  6. iptables ve tcp sarmalayıcı 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. N-Way OpenLDAP replikasyonunu yapılandırmak için kullanılan ldif yapılandırma dosyalarında gizli karakterler olup olmadığını kontrol edin. Bunun için, yapılandırmayı güncellemek üzere oluşturulan ldif dosyalarında dos2unix komutunu çalıştırın. Genellikle kötü karakterler içeren bir ldif dosyası, ldapmodify komutunun çalışmamasına neden olur ve bu nedenle replikasyon ayarlanmayabilir. Kötü 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ılamı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. Varsa kilit ve pid dosyasını silin ve openldap'yi 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 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 eski sürümse yükseltin. OpenLDAP'nin desteklenen sürümleri için Desteklenen yazılımlar bölümüne bakın.
    slapd -V
    
  7. Slapd işleminde sorun gidermek ve strace çıkışını Apigee Destek Ekibi'ne 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ı yapamaz veya yeni 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 bulunduğunu gösterebilir veya eksik kullanıcıları ya da rolleri belirleyebilir.

Hata mesajları

Unknown username and password combination.

Olası Nedenler

Bu sorun genellikle OpenLDAP verilerinin bozulması nedeniyle ortaya çıkabilir. Genellikle OpenLDAP verileri bozulmaz. Ancak nadiren de olsa bu durum gerçekleşirse bozulma, sistem diski arızasından veya disk alanı sorunlarından kaynaklanıyor olabilir.

Teşhis

  1. OpenLDAP'nin yüklü olduğu sistemdeki disk alanını aşağıdaki komutu kullanarak kontrol edin:
    du -m /opt
    
  2. Kullanılan disk alanı %100'e çok yakınsa 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ı tutarsızlığı, verilerin bozulmuş olabileceğini gösterir.
    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 çalışıyor demektir.

Çözünürlük

Sisteminizde disk alanı kalmadıysa veya çok az kaldıysa yeterli kullanılabilirlik sağlamak için daha fazla disk alanı ekleyin.

Yeterli disk alanınız olduğunda LDAP verilerinin bozulması sorununu çözmek 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 Management Server 1'i (Yönetim Sunucusu 1) 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. LDAP2'yi salt okunur modda ayarlayarak LDAP1'in LDAP2'ye kopyalanmasına izin verin.
    6. LDAP1 ve LDAP2'deki satır sayısının eşleştiğini doğrulamak için ldapsearch işlevini kullanın.
    7. 2. düğümde Yönetim Sunucusu 2'yi ve Yeni Edge kullanıcı arayüzü'nü yeniden başlatın ve başarıyla başladıklarını doğrulayın.

Ayrıntılı talimatlar için herkese açık Issue Tracker'a bakın.

1 numaralı çö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 İşlemleri Kılavuzu'na bakı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. Verilerinin 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. Taşıma komutunu kullanarak mevcut OpenLDAP verilerini 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ı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 yedekten verileri geri yüklemek için slapadd kullanarak doğru 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 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, 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 dizini olarak değiştirin:
    cd /opt/apigee/data/apigee-openldap
    
  3. Taşıma komutunu kullanarak mevcut OpenLDAP verilerini 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 bağlantılarını yenilemeye 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'yi temel bir kuruluma sıfırlayın

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

Ön koşullar

OpenLDAP'yi 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 kaydedilen 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. İlk yükleme için kullanılan yapılandırma dosyasını kullanarak openldap bileşenini 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

    Bu adımları uyguladıktan sonra, Yönetim API'si çağrıları yalnızca sysadmin hesabı kullanılarak tekrar çalışır. Ancak yeni Edge kullanıcı arayüzüne giriş yapmak mümkün değildir ve başka kullanıcılarla yapılan Management API çağrıları çalışmaz.

  2. Bozulmadan önce mevcut olan kuruluşlar için eksik openldap girişlerini ekleyin.

    Yukarıdaki adım tamamlandıktan sonra openldap, bozulma meydana geldiğinde mevcut olan kuruluşlar için eksik girişlere sahip olur. Cassandra veya Zookeeper'da depolanan proxy paketleri gibi gerçek kuruluş verilerinin çoğu kaybolmaz. Ancak setup-org komut dosyasının çalıştırılması, Cassandra ve Zookeeper'da mevcut olan kuruluşlar için openldap verilerini otomatik olarak eklemez. Bu veriler, bozulmadan önce var olan her kuruluş için aşağıdaki adımlar kullanılarak manuel olarak eklenmelidir:

    1. Aşağıdaki içeriğe sahip missingLDAP.ldif adlı bir ldif dosyası oluşturun:
      # 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 "OPENLDAP_ROOT_PASSWORD" -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 o 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 manuel olarak şunları yapmanız gerekir:

    • Bozulmadan önce mevcut olan özel rolleri yeni Edge kullanıcı arayüzünü veya Management API'yi kullanarak ekleyin.
    • Kullanıcıları ilgili kullanıcı rollerine 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 geri yükleyin. Yeni Edge kullanıcı arayüzü yeniden yüklenmediğinden, Yönetim Sunucusu'nun yeni yüklemesiyle sysadmin hesabının kimlik bilgileri geri yüklendikten sonra /opt/apigee/customer/application/management-ui.properties aynı kalır.

  6. (İsteğe bağlı) Yönetim düğümüne Apigee mTLS'yi 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.