Jak mogę skonfigurować uwierzytelnianie Redmine => Active Directory?

9

Po pierwsze, nie jestem administratorem AD na stronie, ale mój menedżer poprosił mnie, abym spróbował zintegrować moją osobistą instalację Redmine z integracją z ActiveDirectory w celu przetestowania jej pod kątem wdrożenia na większą skalę.

Nasz serwer AD znajduje się na hoście: port ims.example.com:389i mam użytkownika IMS/me.

W tej chwili mam również użytkownika mew Redmine korzystającego z lokalnego uwierzytelnienia.

W RedMine utworzyłem metodę uwierzytelniania LDAP ActiveDirectory z następującymi parametrami:

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

Testowanie tego połączenia działa dobrze.

Nie udało mi się jednak z nim uwierzytelnić.

Utworzyłem administratora kopii zapasowej, aby móc odzyskać mekonto, jeśli coś popsuję, a następnie spróbowałem zmienić medane logowania na ActiveDirectory. Jednak gdy to zrobię, nic nie działa, aby się zalogować. Wypróbowałem wszystkie opcje nazwy logowania:

  • me
  • IMS/me
  • IMS\me

Użyłem mojego znanego hasła do domeny, ale nie mam radości.

Więc jakie ustawienie mam błędne lub jakie informacje muszę uzyskać, aby to zadziałało?

Chris R.
źródło

Odpowiedzi:

13

Okej, więc oto konkretne ustawienia, których potrzebowałem, aby to zadziałało:

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

Sztuką było usunięcie cn=Usersz podstawowej nazwy wyróżniającej, po czym wszystko się połączyło.

Inną godną uwagi rzeczą było włączenie użytkownika do odczytu katalogu.

Wreszcie użytkownik logujący się używa swojej nazwy użytkownika bez kwalifikacji domeny i hasła do domeny jak zwykle. Nasza domena nie wymaga adresu e-mail, więc istnieje dodatkowy krok, w którym należy ustawić adres e-mail podczas tworzenia użytkownika, ale jest to dość proste.

Chris R.
źródło
Ahh ... Nawet nie pomyślałem o pytaniu, czy twoje konta użytkowników znajdują się w domyślnym kontenerze „CN = Users, ...”, czy nie.
Evan Anderson,
To byłoby bardziej przydatne wiedzieć, jak ja mógłby ustalili, że. Do tej konfiguracji dotarłem tylko metodą prób i błędów.
Chris R
Dla mnie było to w dużej mierze metodą prób i błędów, ponieważ ręcznie opracowałem własną wtyczkę uwierzytelniania AD dla Devise, która nawet nie wymaga określonego konta AD Read; wiąże i uwierzytelnia się w AD przy użyciu nazwy użytkownika / hasła do logowania. To było bardzo pomocne, Chris, dzięki.
Ben Kreeger
Jedno wyjaśnienie (zajęło mi to całe popołudnie): konto musi być sformatowane jako nazwa wyróżniająca - nie nazwa logowania.
coz
Dla mnie poprawka polegająca na dodaniu domeny do konta użytkownika zapytania, np. Części MYDOMAIN.
Andy Arismendi,
6

Aby znaleźć podstawową nazwę wyróżniającą dla uwierzytelniania LDAP ActiveDirectory, należy sprawdzić, jaka jest w pełni kwalifikowana nazwa domeny użytkownika. możesz to sprawdzić za pomocą:

whoami /FQDN

jeśli jesteś zalogowany jako ten użytkownik, co zwraca coś takiego

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

a podstawową nazwę wyróżniającą można znaleźć, usuwając pierwszą CN.

OU=users,OU=department,DC=corp,DC=domain,DC=com
Remco Schoeman
źródło
Dzięki za to. Byłem nieświadomy tego polecenia, bardzo pomocne.
jasonmmiraglia,
4

Nie znam się na Redmine, ale na pewno wygląda na to, że próbujesz wykonać anonimowe powiązanie z Active Directory, aby zweryfikować poświadczenia. To nie zadziała. Po skonfigurowaniu wielu produktów do integracji LDAP z AD jest to powszechny problem, który widziałem.

Po wyjęciu z pudełka AD wymaga, aby klienci uwierzytelniali się podczas łączenia z katalogiem w celu wykonywania zapytań.

Zobacz publikację wiki Redmine dotyczącą konfigurowania uwierzytelniania LDAP. Mówią o określeniu konta i hasła do użycia przez Redmine (takie, które ma uprawnienia do odczytu katalogu - wystarczy zwykły „użytkownik domeny”) do powiązania z katalogiem.

Evan Anderson
źródło
W jakiej formie powinienem wpisać nazwę użytkownika? Naprawdę nie wyjaśniają tego w poście na wiki (który i tak był moim punktem wyjścia do tego procesu)
Chris R
W szczególności starałem się IMS\mei to nie działało. Nie mogę również uzyskać szczegółowych informacji na temat przyczyny niepowodzenia.
Chris R
Podałbym nazwę użytkownika powiązania w składni DOMAIN \ samAccountName. Jeśli chodzi o ustalenie, dlaczego zawodzi, zalecam wykrycie sniffera (tcpdump, wireshark, wbudowany „Monitor sieci” Microsoft itp.) I przyczynienie się do rozwiązania tego problemu. Nie ma szybszego sposobu, aby dowiedzieć się, co mówi się na drucie, niż spojrzeć na to, co mówi się na drucie. (Brzmi głupio, ale wiele osób nigdy nie myśli, by tam spojrzeć ...). Następnie przynajmniej możesz sprawdzić, czy parametry, które określiłeś, są przekazywane zgodnie z oczekiwaniami.
Evan Anderson,
Wireshark okazuje się tutaj darem niebios. Dzięki za tę wskazówkę. Znalazłem kilka problemów i wkrótce przejdę i opublikuję szczegóły.
Chris R,
Widząc, co mówią sobie pudełka, natychmiast wyjaśnia przyczynę wielu problemów. Cieszę się, że to działa!
Evan Anderson,
3

Użyj przeglądarki ldap i sprawdź wizualnie strukturę ... luma na Ubuntu działa dobrze, ldapper również na Mac.


źródło
Właściwie to nie działało z moim serwerem LDAP, ale widzę, jak byłoby to przydatne.
Chris R