如果企业大大小小系统较多,每个系统都给用户单独配置一账户。这样各个系统的账户信息都要单独记忆,比较繁琐,而且账户信息易忘。所以加入集成 LDAP 统一认证,域控管理。这里对Gitlab应用系统结合LDAP认证,前提是企业内部已搭建好AD域服务。
- 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
- 获取AD域中用户列表
从AD域服务中获取域用户。gitlab-rake gitlab:ldap:check
- LDAP账户登录
接下来登录Gitlab中将出现一新的账户登录窗口,LDAP登录,如下图: - Gitlab关闭注册
接下来为了提高系统安全性,Gitlab注册功能关闭,新用户只能通过 LDAP 认证的方式进行登陆。
原文地址:https://blog.51cto.com/10874766/2459536
时间: 2024-11-08 19:54:52