Wie kann ich Redmine => Active Directory-Authentifizierung einrichten?

9

Erstens bin ich kein AD-Administrator vor Ort, aber mein Manager hat mich gebeten, zu versuchen, meine persönliche Redmine-Installation in ActiveDirectory zu integrieren, um sie für einen größeren Rollout zu testen.

Unser AD-Server befindet sich am Host: Port ims.example.com:389und ich habe einen Benutzer IMS/me.

Im Moment habe ich auch einen Benutzer mein Redmine, der die lokale Authentifizierung verwendet.

Ich habe eine ActiveDirectory-LDAP-Authentifizierungsmethode in RedMine mit den folgenden Parametern erstellt:

Host: ims.example.com
Port: 389
Base DN: cn=Users,dc=ims,dc=example,dc=com

On-The-Fly User Creation: YES
Login: sAMAccountName
Firstname: givenName
Lastname: sN
Email: mail

Das Testen dieser Verbindung funktioniert einwandfrei.

Ich habe mich jedoch nicht erfolgreich damit authentifiziert.

Ich habe einen Backup-Administrator erstellt, damit ich wieder in das meKonto zurückkehren kann, wenn ich meProbleme habe. Anschließend habe ich versucht , die ActiveDirectory-Anmeldeinformationen zu verwenden. Sobald ich dies tue, funktioniert jedoch nichts mehr, um mich anzumelden. Ich habe alle diese Optionen für den Anmeldenamen ausprobiert:

  • me
  • IMS/me
  • IMS\me

Ich habe mein bekanntes Domain-Passwort verwendet, aber keine Freude.

Welche Einstellung habe ich falsch gemacht oder welche Informationen muss ich erhalten, damit dies funktioniert?

Chris R.
quelle

Antworten:

13

Okay, hier sind die spezifischen Einstellungen, die ich brauchte, damit dies funktioniert:

Host: ims.example.com
Port: 389
User: MYDOMAIN\accountName
Password: *******
Base DN: dc=mydomain,dc=example,dc=com

On-The-Fly User Creation: YES
Login: sAMAccountName
Firstname: givenName
Lastname: sN
Email: mail

Der Trick bestand darin, ihn cn=Usersaus dem Basis-DN zu entfernen , woraufhin alles irgendwie zusammenkam.

Die andere bemerkenswerte Sache war die Einbeziehung eines Benutzers zum Lesen des Verzeichnisses.

Schließlich verwendet der Benutzer, der sich anmeldet, seinen Benutzernamen ohne Domänenqualifikation und sein Domänenkennwort wie gewohnt. Unsere Domain benötigt keine E-Mail-Adresse, daher gibt es einen zusätzlichen Schritt, in dem die E-Mail-Adresse während der Benutzererstellung festgelegt werden muss, aber das ist ziemlich einfach.

Chris R.
quelle
Ahh ... Ich habe nicht einmal darüber nachgedacht, Sie zu fragen, ob sich Ihre Benutzerkonten unter dem Standardcontainer "CN = Users, ..." befinden oder nicht.
Evan Anderson
Es wäre nützlicher zu wissen, wie ich das hätte feststellen können. Ich bin nur durch Ausprobieren zu diesem Setup gekommen.
Chris R
Dies war auch für mich größtenteils ein Versuch und Irrtum, da ich mein eigenes AD-Authentifizierungs-Plugin für Devise von Hand gerollt habe, für das nicht einmal ein bestimmtes AD Read-Konto erforderlich ist. Es bindet und authentifiziert sich mit AD unter Verwendung des Benutzernamens / Passworts, das sich anmeldet. Dies war sehr hilfreich, Chris, danke.
Ben Kreeger
Eine Klarstellung (ich habe einen ganzen Nachmittag gebraucht): Das Konto muss als eindeutiger Name formatiert werden - nicht als Anmeldename.
Coz
Für mich ist das Update das Hinzufügen der Domain zum Abfragebenutzerkonto, zB der MYDOMAIN-Teil.
Andy Arismendi
6

Ein Trick, um den Basis-DN für die ActiveDirectory-LDAP-Authentifizierung zu finden, besteht darin, den vollständig qualifizierten Domänennamen des Benutzers zu überprüfen. Sie können dies überprüfen mit:

whoami /FQDN

Wenn Sie als dieser Benutzer angemeldet sind, wird so etwas wie zurückgegeben

CN=John Doe,OU=users,OU=department,DC=corp,DC=domain,DC=com

und der Basis-DN kann durch Entfernen des ersten CN gefunden werden.

OU=users,OU=department,DC=corp,DC=domain,DC=com
Remco Schoeman
quelle
Danke dafür. Ich wusste nichts von diesem Befehl, sehr hilfreich.
Jasonmmiraglia
4

Ich bin mit Redmine nicht vertraut, aber es sieht so aus, als würden Sie versuchen, eine anonyme Bindung an Active Directory herzustellen, um die Anmeldeinformationen zu überprüfen. Das wird nicht funktionieren. Nachdem ich mehrere Produkte für die LDAP-Integration mit AD konfiguriert habe, ist dies ein häufiges Problem, das ich gesehen habe.

Standardmäßig erfordert AD, dass sich Clients beim Binden an das Verzeichnis authentifizieren, um Abfragen durchzuführen.

Schauen Sie sich diesen Redmine-Wiki-Beitrag zum Konfigurieren der LDAP-Authentifizierung an. Sie sprechen über die Angabe eines Kontos und eines Kennworts, das Redmine verwenden soll (eines, das zum Lesen des Verzeichnisses berechtigt ist - ein einfacher alter "Domänenbenutzer" wird dies tun), um sich an das Verzeichnis zu binden.

Evan Anderson
quelle
In welcher Form soll ich den Benutzernamen eingeben? Sie erklären das nicht wirklich in der Wiki-Veröffentlichung (die sowieso mein Ausgangspunkt für diesen Prozess war)
Chris R
Insbesondere habe ich es versucht IMS\meund es schien nicht zu funktionieren. Ich kann auch keine Details darüber bekommen, warum es fehlschlägt.
Chris R
Ich würde den Bindungsbenutzernamen in der Syntax DOMAIN \ samAccountName angeben. Um herauszufinden, warum dies fehlschlägt, würde ich empfehlen, einen Sniffer (tcpdump, wireshark, integrierter Microsoft "Network Monitor" usw.) herauszubringen und das Problem zu lösen. Es gibt keinen schnelleren Weg, um herauszufinden, was auf dem Draht gesagt wird, als zu sehen, was auf dem Draht gesagt wird. (Es klingt albern, aber viele Leute denken nie daran, dorthin zu schauen ...) Dann können Sie zumindest sehen, ob die von Ihnen angegebenen Parameter so übergeben werden, wie Sie es erwarten.
Evan Anderson
Wireshark erweist sich hier als ein Glücksfall. Danke für diesen Tipp. Ich habe einige Probleme dafür gefunden, und ich werde in Kürze die Details veröffentlichen.
Chris R
Zu sehen, was die Kästchen zueinander sagen, macht die Ursache vieler Probleme sofort klar. Schön zu hören, dass du es zum Laufen gebracht hast!
Evan Anderson
3

Verwenden Sie einen ldap-Browser und überprüfen Sie die Struktur visuell ... luma auf Ubuntu funktioniert gut, ldapper auch für den Mac.


quelle
Es hat nicht wirklich mit meinem LDAP-Server funktioniert, aber ich kann sehen, wie nützlich es wäre.
Chris R