2016-12-29 29 views
0

Я пытаюсь настроить сервер GitLab на использование JumpCloud LDAP в качестве службы, но не смог заставить его работать. Команда gitLab rake показывает, что подключение к LDAP-серверу успешно, но когда я пытаюсь войти в систему, ошибка Не удалось аутентифицировать вас из Ldapmain из-за «Недействительных учетных данных». показанИнтеграция с LDAP в GitLab с JumpCloud не работает

Команда ldapsearch производит вывод правильно:

ldapsearch -H ldap://ldap.jumpcloud.com:389 -D "uid=username,ou=Users,o=org12345,dc=jumpcloud,dc=com" -w "password" -b "ou=Users,o=org12345,dc=jumpcloud,dc=com" "(objectClass=inetOrgPerson)" sAMAccountName 

# extended LDIF 
# 
# LDAPv3 
# base <ou=Users,o=org12345,dc=jumpcloud,dc=com> with scope subtree 
# filter: (objectClass=inetOrgPerson) 
# requesting: sAMAccountName 
# 

# username, Users, org12345, jumpcloud.com 
dn: uid=username,ou=Users,o=org12345,dc=jumpcloud,dc=com 

# user1, Users, org12345, jumpcloud.com 
dn: uid=user1,ou=Users,o=org12345,dc=jumpcloud,dc=com 

# search result 
search: 2 
result: 0 Success 

# numResponses: 3 
# numEntries: 2 

Gitlab Rake проверить

sudo gitlab-rake gitlab:ldap:check 

Checking LDAP ... 

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

Checking LDAP ... Finished 

Ошибка в unicorn_stdout.log

I, [2016-12-29T05:52:50.947393 #7067] INFO -- omniauth: (ldapmain) Callback phase initiated. 
E, [2016-12-29T05:52:51.834803 #7067] ERROR -- omniauth: (ldapmain) Authentication failure! invalid_credentials encountered. 

Ошибка показано пользователю

enter image description here

конфигурации GitLab LDAP

gitlab_rails['ldap_enabled'] = true 
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' # remember to close this block with 'EOS' below 
main: 
    label: 'LDAP' 
    host: 'ldap.jumpcloud.com' 
    port: 389 #Change to 636 if using LDAPS 
    method: 'plain' # Change to "tls" if using LDAPS 
    uid: 'sAMAccountName' # Don't change this 
    bind_dn: 'uid=username,ou=Users,o=org12345,dc=jumpcloud,dc=com' 
    password: 'password' 
    active_directory: true 
    allow_username_or_email_login: false 
    block_auto_created_users: false 
    base: 'ou=Users,o=org12345,dc=jumpcloud,dc=com' 
    user_filter: '(objectClass=inetOrgPerson)' 
EOS 

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

Большое спасибо за вашу помощь

réponse я получил от поддержки JumpCloud 29/Dec:

После просмотра конфигурации в дополнение к gitlab вот оно выглядит как оно потребовало, что UID поле = sAMAccountName. Это атрибут samba, который мы в настоящее время не поддерживаем. Пока в JumpCloud, uid = uid. Если вы можете изменить это поле, похоже, что он должен подключиться, но кажется, что gitlab требует, чтобы схема samba аутентифицировалась через LDAP.

+0

Показать конфигурацию LDAP (без пароля) от gitlab.rb –

+0

сведения о конфигурации LDAP Добавлено в вопрос – Sudhir

ответ

0

The bind_dn должен быть домен \ имя пользователя используется для подключения к серверу LDAP. Bind_dn и пароль используются для аутентификации GitLab с помощью службы LDAP.

Вот что мое выглядит следующим образом:

bind_dn: 'gintra \ gitlab-регистратор'