Kullanıcı gruptan farklı bir OU yolunun üyesi olduğunda LDAP kullanan PowerFlex kimlik doğrulaması çalışmıyor
Summary: LDAP hizmet yapılandırmasına atanan dağıtım grubunun üyesi olan kullanıcı, ScaleIO kümesinde LDAP kimlik doğrulaması etkinleştirildikten sonra oturum açamadı.
Symptoms
Senaryo
MDM kümesinde veya tek bir Active Directory etki alanına sahip Ağ Geçidinde ScaleIO için LDAP hizmetlerini ayarlama. Aynı etki alanı içindeki farklı OU'larda Users ve ScaleIO grubu yapılandırılırken de bu sorunla karşılaşılabilir.
Belirtiler
Kullanıcı CN=testuser,OU=Users,OU =BT Bölümü,DC=swlab,DC=local konumundadır
Grup: CN=Sio_Admin_Role,OU = Genel Gruplar, OU=Gruplar, DC = swlab, DC = yerel
MDM veya ağ geçidi izleme günlüğünde aşağıdaki uyarı mesajlarını bulabiliriz.
gateway-trace.log'deki hata mesajı şöyledir: 2017-06-14 11:49:46,587 [http-nio-443-exec-6] ERROR c.e.s.s.w.s.ScaleIOSecurityUtils - User testuser was not found in group CN=Sio_Admin_Role,OU=GlobalGroups,OU=Groups,DC=swlab,DC=local
Etki
Bazı kullanıcılar LDAP kimlik doğrulaması kullanarak ScaleIO sisteminde veya Ağ Geçidinde oturum açamıyor.
Cause
Temel neden
Bu sorunun temel nedeni, LDAP hizmeti ScaleIO kümesine eklenirken kullanılan "--ldap_base_dn" parametresinin çok düşük bir düzeyde olmasıdır.
Yukarıdaki örnek sorun için aşağıdaki yapılandırmaya bakın:
scli --add_ldap_service --ldap_service_uri "ldap://swlab.local" --ldap_base_dn "OU=GlobalGroups,OU=Groups,DC=swlab,DC=local" --ldap_service_name testldap scli --assign_ldap_groups_to_roles --administrator_role_dn "CN=Sio_Admin_Role,OU=GlobalGroups,OU=Groups,DC=swlab,DC=local" --monitor_role_dn "CN=Sio_Admin_Role,OU=GlobalGroups,OU=Groups,DC=swlab,DC=local" --ldap_service_name testldap
Bu, temel dn'yi AD kovan şemasında çok düşük aramaya başlamak için yerleştirir. swlab.local/Groups/GlobalGroups" konumundan başlarken LDAP, daha yüksek düzeydeki bir kullanıcı için sorgulama yapamaz.
Yani bu durumda "testuser", "swlab.local/IT Dept/Users/testuser" içinde bulunur, bu nedenle "Sio_Admin_Role" grubu sorgulandığında, base_dn altındaki üye kullanıcıyı tekrar bulmaya çalışır.
Kullanıcı orada yok ve oturum açma işlemi başarılı olmuyor.
Resolution
Geçici Çözüm
Bu sorunu çözmek için ScaleIO'da LDAP hizmetini yeniden oluşturun ve daha üst düzey bir base_dn kullanın. Yukarıdaki örnekte, "add_ldap_service" scli komutunda aşağıdakiler değiştirilebilir.
scli --add_ldap_service --ldap_service_uri "ldap://swlab.local" --ldap_base_dn "DC=swlab,DC=local" --ldap_service_name testldap
LDAP, base_dn etki alanının kökü olacak şekilde değiştirerek, SIO rol grubunun üyesi olan uygun kullanıcı için herhangi bir OU veya CN yi sorgulayabilir.