Frage Active Directory LDAP_MATCHING_RULE_IN_CHAIN ​​gibt nach dem Verschieben der Organisationseinheit keine Datensätze zurück


Bei der Active Directory-LDAP-Abfrage tritt ein seltsames Problem auf.

Die Situation ist: Wir haben eine Sicherheitsgruppe in einer bestimmten Organisationseinheit. Diese Sicherheitsgruppe muss vollständig wechseln anders OU.

Wir haben eine Anwendung, die LDAP verwendet, um sich gegen AD zu authentifizieren, und es fragt das Active Directory ab LDAP_MATCHING_RULE_IN_CHAIN, so dass es eingebettete Gruppen unterstützt:

(memberOf:1.2.840.113556.1.4.1941:=CN=SystemAdministrators,OU=SA Users,OU=System Administrators,OU=Departments,DC=ds,DC=example,DC=com)

Eine Beispielabfrage wäre:

ldapsearch -LLL -x -W -H 'ldap://ny-dc02.ds.example.com:389' -D '[binding account details]' -b 'OU=Departments,DC=ds,DC=example,DC=com' '(memberOf:1.2.840.113556.1.4.1941:=CN=SystemAdministrators,OU=SA Users,OU=System Administrators,OU=Departments,DC=ds,DC=example,DC=com)' dn

Sie gibt eine vollständige Liste der Benutzer zurück, die der angeforderten Organisationseinheit angehören - wie erwartet.

Wenn wir diese Gruppe jedoch entfernen, Departments\System Administrators und hinein Security Groups\System Administration (und die Abfrage entsprechend aktualisieren):

(memberOf:1.2.840.113556.1.4.1941:=CN=SystemAdministrators,OU=System Administration,OU=Security Groups,DC=ds,DC=example,DC=com)

zum Beispiel:

ldapsearch -LLL -x -W -H 'ldap://ny-dc02.ds.example.com:389' -D '[binding account details]' -b 'OU=Security Groups,DC=ds,DC=example,DC=com' '(memberOf:1.2.840.113556.1.4.1941:=CN=SystemAdministrators,OU=System Administration,OU=Security Groups,DC=ds,DC=example,DC=com)' dn

Von der LDAP-Suche werden keine Ergebnisse zurückgegeben.

Unser erster Gedanke war "Oh, es ist wahrscheinlich etwas Caching". Aber wir haben die Sicherheitsgruppe in ihrer neuen Organisationseinheit für mehrere Stunden verlassen und wir haben immer noch die gleichen Ergebnisse gesehen.

Hat jemand schon mal so etwas gesehen? Irgendwelche Vorschläge, wo als nächstes zu behandeln ist?


5
2017-07-05 14:21


Ursprung


Ich würde prüfen, was wirklich abgefragt wird, indem ich die Pakete schnüffle. Außerdem: Werden die GUIDs (+ der Rest der AD-Attribute) in AD aktualisiert? Oder bleiben sie gleich? Können Sie einen neu erstellten Benutzer in der neuen Organisationseinheit abfragen? - Lenniey
@Lenniey Packet Capture bestätigt, dass die Anfrage wie erwartet ist. Auch das Erstellen eines neuen Benutzers und das Zuweisen dieser Gruppe zu dieser Gruppe wird in der Abfrage ebenfalls nicht angezeigt (ich kann bestätigen, dass sie angezeigt werden, wenn ich die LDAP_MATCHING_RULE_IN_CHAIN Parameter obwohl). - Mark Henderson♦
Also, es funktioniert wie erwartet ohne die LDAP_MATCHING_RULE_IN_CHAIN Parameter? Nun ... das ist seltsam. Irgendwelche Unterschiede in der Anfrage an die "alte" OE neben dem OU-Namen natürlich? - Lenniey
@Lenniey richtig. Was Unterschiede betrifft, kann ich ehrlich gesagt nicht sagen - es sind sehr alte OUs, daher gibt es möglicherweise ein paar Unterschiede. - Mark Henderson♦
Wurde ein LDAP-Fehlercode zurückgegeben? Die erste Sache in meinem Kopf war, dass Sie wahrscheinlich falsche DN in Ihrer Abfrage haben, aber dann sagten Sie, es funktionierte, wenn die Kettenoption entfernt wurde. //// EDIT: also google ich die Verwendung der Kette Option, darauf hingewiesen, dass die Suchbasis soll, wo der USER ist, anstatt wo festgelegt ist, wo die Gruppe ist (Ort der Gruppe ist bereits in der Option enthalten). Unabhängig davon, wo sich die Gruppe befindet, sollte Ihre Suchbasis gleich bleiben (wenn der Benutzer nicht verschoben wurde). - strongline


Antworten:


Die Suchbasis sollte auf den Standort des USERS und nicht auf die Gruppe eingestellt werden (der Standort der Gruppe ist bereits in der Option enthalten). Unabhängig davon, wo sich die Gruppe befindet, sollte Ihre Suchbasis gleich bleiben (wenn der Benutzer nicht verschoben wurde).


5
2017-07-05 19:14



Hm. Vielleicht irre ich mich, aber als ich die AD-Abfrage durch Verschieben der Gruppe (nicht der Benutzer / s oder irgendetwas, nur die Gruppe) getestet habe, waren meine Ergebnisse genau die, die ich erwartet hätte, wie @MarkHenderson. Oder vielleicht verhält sich der AD / DC-Include-Befehl einfach anders. - Lenniey
@Lenniey meine beiden OUs sind voneinander getrennt und somit die Suchbasis. Hat die Suchbasis beide OUs enthalten, mit denen Sie getestet haben? - Mark Henderson♦
@MarkHenderson Ja, deshalb bin ich so verwirrt :) - Lenniey


Was ist mit Berechtigungen? Verfügt die Anwendung über die Berechtigung, in der neuen Organisationseinheit zu suchen? Ich würde auf die effektiven Rechte der alten und neuen OUs schauen.

Außerdem würde ich bestätigen, dass der neue Standort tatsächlich eine Organisationseinheit ist. Es ist möglich, "Container" -Objekte in AD zu erstellen, ähnlich wie der Container "Benutzer" keine Organisationseinheit ist. Als solcher würde sich der DN ändern von: CN = SystemAdministrators, OU = Systemadministration, OU = Sicherheitsgruppen, DC = ds, DC = Beispiel, DC = com zu: CN = Systemadministratoren,CN = Systemverwaltung, OU = Sicherheitsgruppen, DC = ds, DC = Beispiel, DC = com


0
2017-07-06 17:38



Berechtigungen waren korrekt. In dem Moment, in dem ich die Suchwurzel änderte, funktionierte die Abfrage genau so, wie sie sollte. Es scheint, dass es sich um einen Fehler im Anwendungscode handelte, der davon ausging, dass die Benutzer in derselben Organisationseinheitsstruktur wie die Gruppe leben würden. - Mark Henderson♦