Gitlab加入LDAP认证

如果企业大大小小系统较多,每个系统都给用户单独配置一账户。这样各个系统的账户信息都要单独记忆,比较繁琐,而且账户信息易忘。所以加入集成 LDAP 统一认证,域控管理。这里对Gitlab应用系统结合LDAP认证,前提是企业内部已搭建好AD域服务。
  1. Gitlab配置LDAP
    Gitlab已安装好,安装的CE版本。Gitlab配置LDAP服务要在配置文件中修改,无法像Jenkins加入LDAP那样安装一LDAP插件,然后配置LDAP信息即可。Gitlab中需在默认的配置文件/etc/gitlab/gitlab.rb中修改LDAP配置项。默认LDAP服务是关闭的,配置项 gitlab_rails[‘ldap_enabled‘] = false。现开启LDAP服务并配置,修改以下配置项:
    gitlab_rails[‘ldap_enabled‘] = true
    ###! **remember to close this block with ‘EOS‘ below**
    gitlab_rails[‘ldap_servers‘] = YAML.load <<-‘EOS‘
    main: # ‘main‘ is the GitLab ‘provider ID‘ of this LDAP server
    label: ‘LDAP‘
    host: ‘10.10.10.60‘
    port: 389
    uid: ‘sAMAccountName‘
    bind_dn: ‘CN=ldapadmin,CN=Users,DC=hicore,DC=local‘
    password: ‘password‘
    encryption: ‘plain‘ # "start_tls" or "simple_tls" or "plain"
    active_directory: true
    allow_username_or_email_login: false
    base: ‘DC=hicore,DC=local‘
    user_filter: ‘‘
        ....
        ...
        ..
    EOS

    host 、port :是 LDAP 服务的主机IP和端口。
    bind_dn :管理 LDAP 的 dn。指定ldap服务器的管理员信息,即cn=账户,cn=组织单位。
    base:表 LDAP 将以该 dn 为 节点,向下查找用户。ldap服务器的base域。
    user_filter:表以某种过滤条件筛选用户。
    使用gitlab命令配置重置生效。

    gitlab-ctl reconfigure
  2. 获取AD域中用户列表
    从AD域服务中获取域用户。
    gitlab-rake gitlab:ldap:check

    Gitlab加入LDAP认证

  3. LDAP账户登录
    接下来登录Gitlab中将出现一新的账户登录窗口,LDAP登录,如下图:
    Gitlab加入LDAP认证
  4. Gitlab关闭注册
    接下来为了提高系统安全性,Gitlab注册功能关闭,新用户只能通过 LDAP 认证的方式进行登陆。
    Gitlab加入LDAP认证

相关推荐