Uwierzytelnianie PowerFlex przy użyciu protokołu LDAP nie działa, gdy użytkownik jest członkiem innej ścieżki jednostki organizacyjnej niż grupa
Summary: Użytkownik, który jest członkiem grupy dystrybucyjnej, która została przypisana do konfiguracji usługi LDAP, nie mógł się zalogować Po włączeniu uwierzytelniania LDAP w klastrze ScaleIO. ...
Symptoms
Scenariusz
Konfigurowanie usług LDAP dla ScaleIO w klastrze MDM lub bramie z pojedynczą domeną Active Directory. Ten problem może wystąpić podczas konfigurowania użytkowników i grupy ScaleIO w różnych jednostkach organizacyjnych w tej samej domenie.
Objawy
Użytkownik jest w CN=testuser,OU=Users,OU=IT Dept,DC=swlab,DC=local
W skład grupy wchodzą: CN=Sio_Admin_Role,OU=GlobalGroups,OU=Grupy,DC=swlab,DC=local
Następujące komunikaty ostrzegawcze można znaleźć w dzienniku śledzenia MDM lub bramy.
Komunikat o błędzie w gateway-trace.log to: 2017-06-14 11:49:46,587 [http-nio-443-exec-6] BŁĄD c.e.s.s.w.s.ScaleIOSecurityUtils - Nie znaleziono użytkownika testowego użytkownika w grupie CN=Sio_Admin_Role,OU=GlobalGroups,OU=Groups,DC=swlab,DC=local
Wpływ
Niektórzy użytkownicy nie mogą zalogować się do systemu ScaleIO lub bramki przy użyciu uwierzytelniania LDAP.
Cause
Główny powód
Główną przyczyną tego problemu jest to, że parametr "--ldap_base_dn", który został użyty podczas dodawania usługi LDAP do klastra ScaleIO, był na zbyt niskim poziomie.
Zapoznaj się z poniższą konfiguracją dla powyższego przykładowego problemu:
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
Spowoduje to umieszczenie podstawowej nazwy wyróżniającej w celu rozpoczęcia wyszukiwania zbyt nisko w schemacie gałęzi usługi AD. Rozpoczynając od "swlab.local/Groups/GlobalGroups", LDAP nie może wysyłać zapytań o użytkownika na wyższym poziomie.
Tak więc w tym przypadku "testuser" istnieje w "swlab.local/IT Dept/Users/testuser", więc gdy grupa "Sio_Admin_Role" jest odpytywana, próbuje ponownie znaleźć użytkownika członkowskiego w base_dn.
Użytkownik tam nie istnieje, a logowanie się nie powiedzie.
Resolution
Obejście problemu
Aby rozwiązać ten problem, ponownie utwórz usługę LDAP w ScaleIO i użyj base_dn wyższego poziomu. W powyższym przykładzie następujące elementy można zmienić w poleceniu scli "add_ldap_service".
scli --add_ldap_service --ldap_service_uri "ldap://swlab.local" --ldap_base_dn "DC=swlab,DC=local" --ldap_service_name testldap
Zmieniając base_dn na katalog główny domeny, protokół LDAP może wysyłać zapytania do dowolnej jednostki organizacyjnej lub CN dla odpowiedniego użytkownika, który jest członkiem grupy ról SIO.