Hallo,
Version: 1.6.0p7
AD: Microsoft Active Directory
ich habe im AD eine Gruppe “checkmk_read_only”, darin habe ich weitere Gruppen, z.b. rewe_storage oder rewe_aix. Jetzt möchte ich zum einen, dass alle User in den Gruppen, bzw. den Untergruppen im checkmk angelegt werden und zum anderen will ich auch noch Rollen mappen. Die Untergruppen werden allerdings nicht aufgelöst… auch beim Setzen des Hakens “Nested Groups” nicht. Verstehe ich das Nested Groups Feature falsch oder mache ich sonst irgendetwas falsch?
Ich denke dein Problem ist, dass die User schon gar nicht gefunden werden welche sich in den nested groups befinden oder?
Falls das so ist musst du denn Search Filter für die User noch etwas erweitern.
Dort steht bei dir ja “member of=cn=…”.
Dies muss geändert werden in
memberOf:1.2.840.113556.1.4.1941:=cn=…
Damit sollten auch die nested groups durchsucht werden.
Hi @andreas-doehler,
ja genau, einzelne User werden gefunden, aber User die sich in nested groups befinden, nicht. Ich habe den Users Search Filter nun angepasst, das Testen der LDAP Verbindung war auch erfolgreich, aber wenn ich danach auf Sync Users klicke, erhalte ich diese exception:
Synchronization started…
[htpasswd] Starting sync for connection
[htpasswd] Finished sync for connection
[KADS] Starting sync for connection
[KADS] Exception: Unable to successfully perform the LDAP search ()
2019-12-19 15:21:02,422 [40] [cmk.web 23607] Exception (KADS, userdb_job): Traceback (most recent call last):
File “/omd/sites/dev_master/lib/python/cmk/gui/userdb.py”, line 1380, in _execute_sync_action
connection.do_sync(add_to_changelog=add_to_changelog, only_username=False)
File “/omd/sites/dev_master/lib/python/cmk/gui/plugins/userdb/ldap_connector.py”, line 1154, in do_sync
ldap_users = self.get_users()
File “/omd/sites/dev_master/lib/python/cmk/gui/plugins/userdb/ldap_connector.py”, line 793, in get_users
self._config[‘user_scope’]):
File “/omd/sites/dev_master/lib/python/cmk/gui/plugins/userdb/ldap_connector.py”, line 646, in _ldap_search
_(‘Unable to successfully perform the LDAP search (%s)’) % last_exc)
MKLDAPException: Unable to successfully perform the LDAP search ()
Finalizing synchronization
The user synchronization completed successfully.
Ich hatte in den User Filter nun “memberOf:1.2.840.113556.1.4.1941:=CN=checkmk-admins,OU=Di…” eingetragen. Vorher hatte ich darin stehen “memberOf=CN=checkmk-admins,OU=Dis…”
HI @andreas-doehler,
so, ich habe heute nochmal den User-Suchfilter getestet, der sieht nun wie folgt aus:
(&(objectClass=user)(objectcategory=person)(|(memberOf:1.2.840.113556.1.4.1941:=CN=checkmk-read-only,OU=foo,OU=bar)(memberOf:1.2.840.113556.1.4.1941:=CN=checkmk-admins,OU=foo,OU=bar)(memberOf:1.2.840.113556.1.4.1941:=CN=checkmk-user,OU=foo,OU=bar)))
In einem LDAP Abfrage-Tool funktioniert das auch genau so, wie ich es gerne hätte.
Aber im checkmk erhalte ich folgende Fehler:
Synchronization started...
[KADS] Starting sync for connection
[KADS] Exception: Unable to successfully perform the LDAP search ()
2020-01-06 15:43:12,669 [40] [cmk.web 102964] Exception (KADS, userdb_job): Traceback (most recent call last):
File "/omd/sites/rewe_poc/lib/python/cmk/gui/userdb.py", line 1380, in _execute_sync_action
connection.do_sync(add_to_changelog=add_to_changelog, only_username=False)
File "/omd/sites/rewe_poc/lib/python/cmk/gui/plugins/userdb/ldap_connector.py", line 1154, in do_sync
ldap_users = self.get_users()
File "/omd/sites/rewe_poc/lib/python/cmk/gui/plugins/userdb/ldap_connector.py", line 793, in get_users
self._config['user_scope']):
File "/omd/sites/rewe_poc/lib/python/cmk/gui/plugins/userdb/ldap_connector.py", line 646, in _ldap_search
_('Unable to successfully perform the LDAP search (%s)') % last_exc)
MKLDAPException: Unable to successfully perform the LDAP search ()
Finalizing synchronization
The user synchronization completed successfully.
Hi,
so es funktioniert nun. Es ist ein wenig peinlich…aber es lag am response timeout.
Ich habe immer nur den connect timeout hoch gesetzt und nicht gesehen, dass es noch einen response timeout gab. Da die Abfrage von nested Groups natürlich deutlich länger dauert, musste ich den Wert erhöhen.
Schön zu hören
Wusste schon nicht mehr was ich schreiben kann. Der Timeout bei nested Groups kann durchaus sehr sehr hoch sein. AD mit 30k Nutzern hat eine nested Group schon mal 1-2 Minuten gedauert.
Eigentlich geht es bei uns noch relativ fix. Wir haben 300k User im AD und die Suche dauert bisher 31 Sekunden. Mal sehen, wie sich das zukünftig noch entwickelt.
Danke auf jeden Fall für die Hilfe