如何配置GitLab FreeIPA LDAP认证
在本指南中,将介绍如何配置GitLab服务器以根据FreeIPA服务器对用户进行身份验证。 FreeIPA是由Red Hat赞助的一个开源身份管理系统。
另一方面,GitLab是用于加速软件开发的全功能平台。它提供了最多的功能,例如集成的CI/CD,Auto DevOps,Kubernetes集成,GitLab Container Registry 等
通过利用FreeIPA的高级用户管理功能,可以轻松管理用户对GitlLab服务器的访问。我们不必在GitLab服务器上手动创建用户,这对于大而言可能是乏味的。
配置GitLab FreeIPA身份验证准备工作
此设置的准备工作是:运行GitLab服务器运行FreeIPA服务器
如果我们有兴趣全新安装FreeIPA或者GitLab服务器,则可以参考以下指南:
如何在CentOS 7上安装FreeIPA服务器
如何在Ubuntu 18.04和Ubuntu 16.04上安装FreeIPA Server
对于GitLab,我们有以下指南:
在Ubuntu 18.04/Debian 9上安装Gitlab CE在CentOS 7/Fedora 29/Fedora 28上安装Gitlab CE
设置GitLab FreeIPA身份验证的步骤如下。
在FreeIPA上创建LDAP绑定用户
很需要一个用户绑定到FreeIPA服务器。登录到FreeIPA服务器并创建一个名为gitlab
的用户。
导航到身份>用户>添加
填写所需的详细信息,然后单击添加
配置GitLab服务器
如果我们没有在DNS上配置FreeIPA Server的域名,则将该行添加到/etc/hosts
文件中。
echo "192.168.3.10 ipa.example.com" | sudo tee -a /etc/hosts
编辑/etc/gitlab/gitlab.rb
并启用LDAP
gitlab_rails['ldap_enabled'] = true
然后使用FreeIPA的LDAP设置指定文件的路径
gitlab_rails['ldap_servers'] = YAML.load_file('/etc/gitlab/freeipa_settings.yml')
最后,创建YAML文件以保存IPA连接设置
sudo vim /etc/gitlab/freeipa_settings.yml
如下配置:
main: label: 'FreeIPA' host: 'ipa.example.com' port: 389 uid: 'uid' method: 'tls' bind_dn: 'uid=gitlab,cn=users,cn=accounts,dc=example,dc=com' password: 'gitlabuserpassword' encryption: 'plain' base: 'cn=accounts,dc=example,dc=com' verify_certificates: false attributes: username: ['uid'] email: ['mail'] name: 'displayName' first_name: 'givenName' last_name: 'sn'
用FreeIPA服务器主机名替换为ipa.example.com
,并使用FreeIPA服务器域组件替换example
和com
的所有外观。用yourgitlab IPA用户密码替换为gitlabuserpassword。
保存文件,然后重新配置GitLab:
sudo gitlab-ctl reconfigure
通过FreeIPA登录到GitLab
现在,我们可以使用FreeIPA服务器上的用户凭据登录到GitLab服务器。
点击登录,使用提供的用户名登录到GitLab服务器。