PowerFlex-verificatie met LDAP werkt niet wanneer de gebruiker lid is van een ander OU-pad dan de groep
Summary: De gebruiker die lid is van de distributiegroep die aan de LDAP-serviceconfiguratie is toegewezen, kon zich niet aanmelden na het inschakelen van LDAP-authenticatie in het ScaleIO-cluster. ...
Symptoms
Scenario
LDAP-services configureren voor ScaleIO in het MDM-cluster of de Gateway met één Active Directory-domein. Dit probleem kan zich voordoen bij het configureren van gebruikers en de ScaleIO-groep in verschillende organisatie-eenheden binnen hetzelfde domein.
Symptomen
User is in CN=testuser,OU=Users,OU=IT Dept,DC=swlab,DC=local
De groep bestaat uit: CN=Sio_Admin_Role,OU=GlobalGroups,OU=Groups,DC=swlab,DC=local
We kunnen de volgende waarschuwingsberichten vinden in het MDM- of gatewaytraceringslogboek.
De foutmelding in gateway-trace.log is: 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
Impact
Sommige gebruikers kunnen zich niet aanmelden bij het ScaleIO-systeem of de Gateway met LDAP-authenticatie.
Cause
Oorzaak
De hoofdoorzaak van dit probleem is dat de parameter "--ldap_base_dn" die werd gebruikt toen de LDAP-service werd toegevoegd aan het ScaleIO-cluster, zich op een te laag niveau bevond.
Zie de onderstaande configuratie voor het bovenstaande voorbeeldprobleem:
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
Dit plaatst de basis-dn om te gaan zoeken te laag in het AD-bijenkorfschema. Wanneer LDAP begint bij 'swlab.local/Groups/GlobalGroups', kan er geen query worden uitgevoerd op een gebruiker op een hoger niveau.
Dus in dit geval bestaat de "testuser" in "swlab.local/IT Dept/Users/testuser", dus wanneer de groep "Sio_Admin_Role" wordt opgevraagd, probeert deze de lidgebruiker opnieuw onder de base_dn te vinden.
De gebruiker bestaat daar niet en het aanmelden is niet gelukt.
Resolution
Tijdelijke oplossing
Om dit probleem op te lossen, maakt u de LDAP-service opnieuw in ScaleIO en gebruikt u een base_dn van een hoger niveau. Voor het bovenstaande voorbeeld kan het volgende worden gewijzigd in de "add_ldap_service" scli-opdracht.
scli --add_ldap_service --ldap_service_uri "ldap://swlab.local" --ldap_base_dn "DC=swlab,DC=local" --ldap_service_name testldap
Door de base_dn te wijzigen in de hoofdmap van het domein, kan LDAP een query uitvoeren op elke organisatieorganisatie of CN voor de juiste gebruiker die lid is van de SIO-rollengroep.