Ověřování PowerFlex pomocí protokolu LDAP nefunguje, pokud je uživatel členem jiné cesty organizační jednotky než skupina
Summary: Uživatel, který je členem distribuční skupiny, která byla přiřazena ke konfiguraci služby LDAP, se nemohl přihlásit po povolení ověřování LDAP v clusteru ScaleIO.
Symptoms
Scénář
Konfigurace služeb LDAP pro ScaleIO v clusteru MDM nebo bráně s jednou doménou Active Directory. K tomuto problému může dojít také při konfiguraci uživatelů a skupiny ScaleIO v různých organizačních jednotkách v rámci stejné domény.
Příznaky
Uživatel je v CN=testuser,OU=Users,OU=IT oddělení,DC=swlab,DC=local.
Skupina je: CN = Sio_Admin_Role, OU = globální skupiny, OU = skupiny, DC = swlab, DC = místní
V protokolu trasování MDM nebo brány najdeme následující varovné zprávy.
Chybová zpráva v gateway-trace.log je: 2017-06-14 11:49:46,587 [http-nio-443-exec-6] ERROR c.e.s.s.w.s.ScaleIOSecurityUtils – Testuser nebyl nalezen ve skupině CN=Sio_Admin_Role,OU=GlobalGroups,OU=Groups,DC=swlab,DC=local
Důsledky
Někteří uživatelé se nemohou přihlásit k systému ScaleIO nebo bráně pomocí ověřování LDAP.
Cause
Hlavní příčina
Hlavní příčinou tohoto problému je, že parametr "--ldap_base_dn", který byl použit při přidání služby LDAP do clusteru ScaleIO, byl na příliš nízké úrovni.
Podívejte se na níže uvedenou konfiguraci pro výše uvedený příklad problému:
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
Tím se umístí základní název domény, aby se začalo hledat příliš nízko ve schématu podregistru AD. Při spuštění na adrese "swlab.local/Groups/GlobalGroups" se LDAP nemůže dotazovat na uživatele na vyšší úrovni.
Takže v tomto případě "testuser" existuje v "swlab.local/IT Dept/Users/testuser", takže když je skupina "Sio_Admin_Role" dotazována, pokusí se znovu najít člena uživatele pod base_dn.
Uživatel tam neexistuje a přihlášení se nezdaří.
Resolution
Zástupné řešení
Pokud chcete tento problém vyřešit, znovu vytvořte službu LDAP ve ScaleIO a použijte base_dn vyšší úrovně. Ve výše uvedeném příkladu lze příkazem "add_ldap_service" scli změnit následující.
scli --add_ldap_service --ldap_service_uri "ldap://swlab.local" --ldap_base_dn "DC=swlab,DC=local" --ldap_service_name testldap
Změnou base_dn tak, aby byl kořenem domény, se protokol LDAP může dotazovat libovolné organizační jednotky nebo CN na příslušného uživatele, který je členem skupiny rolí SIO.