PowerFlex-godkjenning ved hjelp av LDAP fungerer ikke når brukeren er medlem av en annen OU-bane enn gruppen
Summary: Brukeren som er medlem av distribusjonsgruppen som ble tilordnet LDAP-tjenestekonfigurasjonen, kunne ikke logge på Etter aktivering av LDAP-godkjenning i ScaleIO-klyngen.
Symptoms
Scenario
Konfigurering av LDAP-tjenester for ScaleIO i enten MDM-klyngen eller gatewayen med ett enkelt Active Directory-domene. Samtidig som du konfigurerer brukere og ScaleIO-gruppen i forskjellige OUer innenfor samme domene, kan dette problemet oppstå.
Symptomer
Brukeren er i CN=testuser,OU=Users,OU=IT Dept,DC=swlab,DC=local
Gruppen er: CN=Sio_Admin_Role,OU=GlobalGroups,OU=Groups,DC=swlab,DC=local
Vi finner følgende advarsler i MDM- eller gateway-sporingsloggen.
Feilmeldingen i gateway-trace.log er: 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
Innvirkning
Noen brukere kan ikke logge på ScaleIO-systemet eller gatewayen ved hjelp av LDAP-godkjenning.
Cause
Rotårsak
Hovedårsaken til dette problemet er at parameteren "--ldap_base_dn" som ble brukt da LDAP-tjenesten ble lagt til i ScaleIO-klyngen, var på et for lavt nivå.
Se konfigurasjonen nedenfor for eksempelproblemet ovenfor:
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
Dette plasserer base dn for å begynne å søke for lavt i AD-strukturskjemaet. Når du starter på "swlab.local/Groups/GlobalGroups", kan ikke LDAP søke etter en bruker på et høyere nivå.
Så i dette tilfellet finnes "testuser" i "swlab.local/IT Dept/Users/testuser", så når gruppen "Sio_Admin_Role" spørres prøver den å finne medlemsbrukeren under base_dn igjen.
Brukeren finnes ikke der, og påloggingen lykkes ikke.
Resolution
Omgåelse av problemet
Du kan løse dette problemet ved å opprette LDAP-tjenesten på nytt i ScaleIO og bruke et høyere nivå base_dn. I eksempelet ovenfor kan følgende endres i "add_ldap_service" scli-kommandoen.
scli --add_ldap_service --ldap_service_uri "ldap://swlab.local" --ldap_base_dn "DC=swlab,DC=local" --ldap_service_name testldap
Ved å endre base_dn til å være roten til domenet, kan LDAP spørre hvilken som helst OU eller CN etter den riktige brukeren som er medlem av SIO-rollegruppen.