Авторизация в GitLab через OpenLDAP.

GitLab установлен из исходников, так что будем исходить из этого, для Omnibus настройка немного отличается.

Редактируем в конфиге gitlab.yml секцию ldap

 
  ldap:
    enabled: true
    servers:
      main: 
        label: 'LDAP Server'
 
        #хост OpenLDAP сервера
        host: 'ldap'
        #порт
        port: 389
        #идентификатор пользователя
        uid: 'uid'
        #метод аутентификации по логину\паролю для поиска по ldap
        method: 'plain' 
        #полное имя пользователя который будет осуществлять поиск
        bind_dn: 'cn=ldap_search,cn=system,dc=local,dc=domain,dc=ru'
        #его пароль
        password: 'Qwerty12'
        #время ожидания ответа от LDAP сервера
        timeout: 10
        #т.к. не AD
        active_directory: false
        #т.к. не AD
        allow_username_or_email_login: true
        #
        block_auto_created_users: false
        #католог в котором будет осуществляться поиск
        base: 'ou=users,dc=local,dc=domain,dc=ru'
        #фильтр поиска
        user_filter: '(memberOf=cn=gitlabusers,cn=groups,dc=local,dc=domain,dc=ru)'
 
        #атрибуты оставляем без изменений
        attributes:
          username: ['uid', 'userid', 'sAMAccountName']
          email:    ['mail', 'email', 'userPrincipalName']
 
          name:       'cn'
          first_name: 'givenName'
          last_name:  'sn'

Сохраняем конфиг

Перезапускаем GitLab

service gitlab restart

Выполняем проверку настройки ldap

git-test:/home/git/gitlab/config# sudo -u git -H bundle exec rake gitlab:ldap:check RAILS_ENV=production
(in /home/git/gitlab)
Checking LDAP ...
 
LDAP users with access to your GitLab server (only showing the first 100 results)
Server: ldapmain
	DN: cn=test1,ou=users,dc=local,dc=domain,dc=ru	 uid: test1
	DN: cn=test2,ou=users,dc=local,dc=domain,dc=ru	 uid: test2
	DN: cn=test3,ou=users,dc=local,dc=domain,dc=ru	 uid: test3
 
Checking LDAP ... Finished

Проверка прошла успешно.

Пробуем авторизоваться, видно, что в окне авторизации появилось две вкладки

sing_in_gitlab

В вкладке Owerview видно что ldap включен.

overview_gitlab

Настройка завершена.

Менее подробно и на английском здесь http://docs.gitlab.com/ce/administration/auth/ldap.html