Die PowerFlex-Authentifizierung über LDAP funktioniert nicht, wenn der Nutzer Mitglied eines anderen OU-Pfads als die Gruppe ist
Summary: Der Nutzer, der Mitglied der Verteilergruppe ist, die der LDAP-Servicekonfiguration zugewiesen wurde, konnte sich nach der Aktivierung der LDAP-Authentifizierung im ScaleIO-Cluster nicht anmelden. ...
Symptoms
Beispiel
Konfigurieren von LDAP-Services für ScaleIO im MDM-Cluster oder im Gateway mit einer einzigen Active Directory-Domain Bei der Konfiguration von Nutzern und der ScaleIO-Gruppe in verschiedenen Organisationseinheiten innerhalb derselben Domäne kann dieses Problem auftreten.
Problem
Nutzer befindet sich in CN=testuser,OU=Users,OU=IT-Abteilung,DC=swlab,DC=local
Die Gruppe besteht aus: CN=Sio_Admin_Role,OU=GlobalGroups,OU=Gruppen,DC=swlab,DC=local
Die folgenden Warnmeldungen finden wir im MDM- oder Gateway-Trace-Protokoll.
Die Fehlermeldung in gateway-trace.log lautet: 2017-06-14 11:49:46,587 [http-nio-443-exec-6] FEHLER c.e.s.s.w.s.ScaleIOSecurityUtils - Nutzer testuser wurde nicht in Gruppe gefunden CN=Sio_Admin_Role,OU=GlobalGroups,OU=Groups,DC=swlab,DC=local
Auswirkungen
Einige Nutzer können sich nicht mit LDAP-Authentifizierung beim ScaleIO-System oder Gateway anmelden.
Cause
Ursache
Die Ursache für dieses Problem ist, dass der Parameter "--ldap_base_dn", der verwendet wurde, als der LDAP-Service zum ScaleIO-Cluster hinzugefügt wurde, zu niedrig war.
In der folgenden Konfiguration finden Sie das obige Beispielproblem:
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
Dadurch wird der Basis-DN so platziert, dass die Suche im AD-Strukturschema zu weit unten beginnt. Beim Start bei "swlab.local/Groups/GlobalGroups" kann LDAP keinen Nutzer auf einer höheren Ebene abfragen.
In diesem Fall existiert der "testuser" in "swlab.local/IT Dept/Users/testuser", so dass bei einer Abfrage der Gruppe "Sio_Admin_Role" versucht wird, den Mitgliedsbenutzer unter dem base_dn erneut zu finden.
Der Nutzer ist dort nicht vorhanden und die Anmeldung ist nicht erfolgreich.
Resolution
Problemumgehung
Um dieses Problem zu beheben, erstellen Sie den LDAP-Service in ScaleIO neu und verwenden Sie einen base_dn einer höheren Ebene. Im obigen Beispiel kann Folgendes im SCLI-Befehl "add_ldap_service" geändert werden.
scli --add_ldap_service --ldap_service_uri "ldap://swlab.local" --ldap_base_dn "DC=swlab,DC=local" --ldap_service_name testldap
Durch Ändern des base_dn in den Stamm der Domain kann LDAP jede OU oder jeden CN nach dem entsprechenden Nutzer abfragen, der Mitglied der SIO-Rollengruppe ist.