Конфигурация LDAP не работает на Gitlab CE 8.12

Мы пытаемся интегрировать нашу локальную установку Gitlab CE (омнибус, версия 8.12) с нашим сервером LDAP. К сожалению, после нескольких изменений в следующей конфигурации нам не удалось выяснить правильный конфиг.

gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-EOS # remember to close this block with 'EOS' below
main: # 'main' is the GitLab 'provider ID' of this LDAP server
  label: 'LDAP'
  host: '******.******.***'
  port: 389
  uid: 'sAMAccountName'
  method: 'plain' # "tls" or "ssl" or "plain"

  bind_dn: 'uid=******,ou=******,o=Applications,o=******,c=******'
  password: '**********'

  timeout: 10

  active_directory: true

  allow_username_or_email_login: false

  block_auto_created_users: false

  base: 'o=******'

  user_filter: ''

  attributes:
    username: ['uid', 'userid', 'sAMAccountName']
    email:    ['mailExterno', 'mail', 'email', 'userPrincipalName']

    name:       'cn'
    first_name: 'givenName'
    last_name:  'sn'

  ## EE only

  group_base: ''

  admin_group: ''

  sync_ssh_keys: false

EOS

При выполнении проверки LDAP отображаются нулевые пользователи:

[root@myserver mydir]# gitlab-rake gitlab:ldap:check
Checking LDAP ...

LDAP users with access to your GitLab server (only showing the first 100 results)
Server: ldapmain

Checking LDAP ... Finished

У нас есть десятки пользователей на нашем LDAP-сервере, и многие приложения (такие как Redmine, Jenkins, Svn....) интегрированы с ним без проблем...

Есть идеи, что мы делаем не так с Gitlab?

Помощь будет очень признательна.


person Romén Rodríguez-Gil    schedule 06.03.2017    source источник
comment
У меня были похожие проблемы с настройкой LDAP, когда я начал использовать Gitlab. Вероятно, что-то связано с конфигами bind_dn и base. Попробуйте несколько разных комбинаций, пока не найдете правильную. Похоже, что у вас нет CN или DC в вашей конфигурации, вероятно, это может быть причиной.   -  person alejdg    schedule 09.03.2017
comment
Также добавьте к @alejdg, вы должны использовать различающееся имя для обоих свойств. Если вы используете sAMAccountName для аутентификации, установите для параметра allow_username_or_email_login значение true.   -  person Fairy    schedule 13.03.2017
comment
Спасибо вашим комментариям. Наконец, мы нашли решение. Я разместил его как ответ ниже, на случай, если кто-то еще найдет его полезным.   -  person Romén Rodríguez-Gil    schedule 16.03.2017


Ответы (1)


Наконец мы нашли решение. Я публикую ответ здесь на тот случай, если кто-то другой, читающий это и столкнувшийся с похожими проблемами, может найти его полезным.

Сервер LDAP, к которому я подключался, не был Active Directory, поэтому изменения конфигурации, которые мне нужно было сделать, были сделаны здесь:

  #...

  uid: 'uid'

  #...

  active_directory: false

  #...

Очень важный аспект, который следует учитывать, заключается в том, что для применения изменений перезапуска gitlab недостаточно, мы должны выполнить reconfigure:

sudo gitlab-ctl reconfigure
person Romén Rodríguez-Gil    schedule 16.03.2017