千家信息网

Gitlab加入LDAP认证

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,如果企业大大小小系统较多,每个系统都给用户单独配置一账户。这样各个系统的账户信息都要单独记忆,比较繁琐,而且账户信息易忘。所以加入集成 LDAP 统一认证,域控管理。这里对Gitlab应用系统结合LD
千家信息网最后更新 2024年11月11日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 serverlabel: 'LDAP'host: '10.10.10.60'port: 389uid: 'sAMAccountName'bind_dn: 'CN=ldapadmin,CN=Users,DC=hicore,DC=local'password: 'password'encryption: 'plain' # "start_tls" or "simple_tls" or "plain"active_directory: trueallow_username_or_email_login: falsebase: '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

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