如果企業大大小小系統較多,每個系統都給用戶單獨配置一賬戶。這樣各個系統的賬戶信息都要單獨記憶,比較繁瑣,而且賬戶信息易忘。所以加入集成 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 認證的方式進行登陸。