使用内部部署LDAP的Gitlab(AWS)身份验证(Win 2008 R2)

时间:2015-10-19 13:34:09

标签: amazon-web-services ldap gitlab gitlab-omnibus

我已安装GitLab Omnibus Community Edition 8.0.2用于评估目的。我正在尝试将Gitlab(AWS上的Linux AMI)与在Win 2008 R2上运行的内部部署LDAP服务器连接起来。但是,我无法这样做。我收到以下错误(无法从Ldapmain授权您,因为"凭据无效"):

enter image description here

这是我在gitlab.rb中使用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: 'XX.YYY.Z.XX'
     port: 389
     uid: 'sAMAccountName'
     method: 'plain' # "tls" or "ssl" or "plain"
     bind_dn: 'CN=git lab,OU=users,OU=Service Accounts,OU=corp,OU=India,OU=Users,OU=UserId&Rooms,DC=india,DC=local'
     password: 'pwd1234'
     active_directory: true
     allow_username_or_email_login: true
     base: 'CN=git lab,OU=users,OU=Service Accounts,OU=corp,OU=India,OU=Users,OU=UserId&Rooms,DC=india,DC=local'
     user_filter: ''
 EOS

有两个用户:gitlab(新创建的AD用户)和john.doe(旧AD用户)

两位用户都可以使用 ldapsearch 命令查询所有 AD用户,但是当我在gitlab.rb中使用他们各自的详细信息(一次一个)并运行{{ 1}}命令,它仅显示有关该特定用户的信息,而不显示所有用户。

之前,当我在gitlab.rb文件中配置了我的凭据(john.doe)时,gitlab-rake gitlab:ldap:check显示了AD的前100个结果。由于这是我的个人凭证,我要求我的IT团队为GitLab创建一个新的AD用户(gitlab)。在gitlab.rb文件中配置新用户(gitlab)并运行gitlab-rake gitlab:ldap:check后,它只显示该特定用户的记录。我认为这可能是由于新创建的用户的一些权限问题所以我在gitlab.rb中恢复了我的个人凭据。令人惊讶的是,现在当我运行gitlab-rake gitlab:ldap:check时,我只为我的用户获得一条记录,而不是我之前获得的100条记录。这真是太奇怪了!我想,不知怎的,GitLab是&#34;忘记&#34;以前的细节。

真的很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

此问题现已解决。好像它是我正在使用的版本(8.0.2)中的一个错误。将其升级到8.0.5解决了我的问题。

此外,对我有用的 bind_dn base 的值为:

bind_dn: 'CN=git lab,OU=users,OU=Service Accounts,OU=corp,OU=India,OU=Users,OU=UserId&Rooms,DC=india,DC=local'

base: 'OU=users,OU=Service Accounts,OU=corp,OU=India,OU=Users,OU=UserId&Rooms,DC=india,DC=local'