FOREACH – Kasztelan Paweł – PHP Developer – Toruń
  • Strona główna
  • Kontakt

[GITLAB] Could not authorize you from LDAP because „Invalid credentials”

27 lutego 2017 Kasztelan Paweł serwery,systemy informatyczne,wtyczki i pluginy

Mam przyjemność konfigurowania kont użytkowników w GitLabie tak aby pobierał dane z Active Directory. No i wszystko pięknie … ale trzeba się trochę namęczyć. Dokumentacja jest piękna, ale dopiero kilka porad z interńetów połączonych w całość dała radę. Poniższe czynności były realizowane na licencji darmowej w oparciu o serwer Ubuntu.

1. Uzupełniamy config

Dla uproszczenia podam swój ocenzurowany config, żeby pokazać jak to u mnie wygląda i jak bardzo różni się to od dokumentacji.

external_url 'http://git.example.com'
gitlab_rails['ldap_enabled'] = true

gitlab_rails['ldap_servers'] = YAML.load <<-EOS
main:
  label: 'LDAP'
  host: 'myad.example.com'
  port: 389 or 636
  uid: 'sAMAccountName'
  method: 'plain' # "tls" or "ssl" or "plain"
  bind_dn: 'CN=myGitAdminAccount,OU=Konta AD,OU=IT,OU=Example,DC=myad,DC=example,DC=com'
  password: 'My_SecretPassword'
  active_directory: true
  allow_username_or_email_login: false
  block_auto_created_users: false
  base: 'DC=myad,DC=example,DC=com'
  user_filter: '(memberOf=CN=gr_GitUsers,OU=GIT,OU=IT,OU=Groups,DC=myad,DC=example,DC=com)'
  attributes:
    username: ['uid', 'userid', 'sAMAccountName']
    email:    ['mail', 'email', 'userPrincipalName']
    name:       'cn'
    first_name: 'givenName'
    last_name:  'sn'
EOS

Najważniejsze w configu to ustawienie portu gdzie domyślnie jest to 389, ale Administrator mógł zmienić port. W przypadku podawania konta dla odczytu użytkowników z AD należy podać FULL DN dla konta. Skąd go wziąć? Jest to proste jeżeli działamy na komputerze podpiętym do domeny. Wystarczy w CMD wydać polecenie:

DSQUERY.exe * -limit 0 -filter "(&(objectCategory=Person)(objectClass=User)(!userAccountControl:1.2.840.113556.1.4.803:=2))" >"c:\activeUsers.txt"

Komenda zapisze nam w pliku tekstowym wszystkich znalezionych użytkowników. Wystarczy teraz skopiować FULL DN dla konta.

Kolejnym krokiem jest ustawienie user_filter (jeżeli potrzebujemy) oraz base. W obu przypadkach również musimy podać pełne ścieżki. Możemy napisać je ręcznie, pamiętając o pokręconej kolejności lub użyć komendy:

DSQUERY.exe group DC=myad,DC=example,DC=com -limit 0 > c:\group.txt

Komenda zapisze nam na dysku C wszystkie dostępne grupy oraz ich FULL DN. Zapisujemy configa i przesyłamy go do /etc/gitlab/ jako gitlab.rb.

 

2. Re konfigurujemy GitLaba

W tym celu wydajemy w konsoli komendę

sudo gitlab-ctl reconfigure

Jeżeli nasz config jest dobrze sformatowany to zobaczymy ścianę tekstu jak na powyższym screenie. W przeciwnym wypadku dostaniemy screen debugu z zaznaczoną linią i opisem co jest źle. Teraz należy sprawdzić czy działa nasze połączenie. W tym celu wydajemy w konsoli komendę:

gitlab-rake gitlab:ldap:check --trace

Jeżeli nasza konfiguracja działa uzyskamy w odpowiedzi pierwsze 100 rekordów z Active Directory. Możemy rozpocząć pracę z GitLabem i logowaniem przez Active Directory!

Share this:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)
Active AD Creditials Directory GIT Gitlab invalid LDAP Login Server Windows

Kasztelan Paweł

Programista samouk, zakochany w ZF i Laravel, szerzący opinię że PHP + JS + HTML + CSS to są języki w których może zostać stworzona aplikacja równie dobra, a nawet lepsza od twardego klienta.

Nawigacja postu

Bezpieczeństwo bloga dla laika – WordPress.
SSL For Free – naprawdę!

Mój profil LinkedIn

Paweł Kasztelan

Tagi

10 ANALYTICS APACHE BASH BOOTSTRAP C# CENTOS Config Controller CSS GIT GOOGLE HTML Hyper-V IIS INSERT JavaScript LINUX Microsoft Model MVC MVVM MVW MySQL nginx notatka PHP POEDIT Run Security Server SQL SUBIEKT TaskCentre Teoria time TWIG View Virtual VirtualBox web Windows wordpress ZEND ZF

Ostatnie komentarze

  • Dawid Lorek o Mazovia to UTF-8 PHP function
  • Dawid Lorek o Mazovia to UTF-8 PHP function
  • Dawid Lorek o Mazovia to UTF-8 PHP function
  • Wojciech Kościołek o Windows 10, UEFI i partycja GPT – jak zainstalować
  • AD FS i delegacja SAML Token w PHP | FOREACH - Kasztelan Paweł - PHP Developer, Webmaster. Toruń o AD FS – uzyskiwanie Security Token dla użytkownika

Kategorie

  • programowanie 25
  • moje wypociny 21
  • systemy informatyczne 20
  • serwery 17
  • strony www 13
  • wtyczki i pluginy 12
  • sklepy www 5
  • brak kategorii 4
  • bazy danych 4
  • TaskCentre 4

Ostatnio napisałem o:

  • Neuca DevDay: Speech to Text
  • RODO + WordPress w 3 minuty
  • SSL For Free – naprawdę!
  • [GITLAB] Could not authorize you from LDAP because „Invalid credentials”
  • Bezpieczeństwo bloga dla laika – WordPress.

Kategorie wpisów

bazy danych brak kategorii moje wypociny pozycjonowanie programowanie projekty graficzne serwery sklepy www strony www systemy informatyczne TaskCentre wtyczki i pluginy

Szybki kontakt:

ANGELS TORUŃ - Paweł Kasztelan
NIP: 9562253780
REGON: 362938496
ul. Małachowskiego 24c/1
87-100 Toruń
email: pawel@kasztelan.me
phone: +48 661 173 619

  • GitHub
  • Facebook
  • Strona główna
  • Kontakt
2015 FOREACH - Kasztelan Paweł