极狐GitLab 如何配置多个 LDAP?
本文作者 极狐GitLab资深解决方案架构师 尹学峰
本文仅适用于极狐GitLab私有化部署场景。
场景化痛点
极狐GitLab 的多 LDAP 接入功能解决了企业在以下场景中可能遇到的痛点:
- 多个组织/部门的整合:在大型企业或跨国公司中,往往存在多个组织或部门,它们可能拥有独立的 LDAP 服务器。GitLab 的多 LDAP 接入功能允许这些组织或部门在一个统一的平台上进行协作,同时保持各自的身份验证和授权体系。
- 并购与合并:当企业进行并购或合并时,它们可能需要整合不同的 IT 系统和身份验证服务器。极狐GitLab 的多 LDAP 接入功能简化了这个过程,使得不同来源的员工可以使用各自的原始 LDAP 凭据登录 极狐GitLab 平台。
- 权限管理与安全性:多 LDAP 接入功能有助于企业实现细粒度的权限管理。通过将不同的 LDAP 服务器分配给相应的用户群组,企业可以确保每个用户仅能访问其所需的资源,从而提高整体的安全性。
- 灵活性与可扩展性:对于快速发展的企业来说,能够方便地整合新的 LDAP 服务器是很重要的。极狐GitLab 的多 LDAP 接入功能提供了这种灵活性,使得企业可以随着其规模的扩大,轻松地添加更多的 LDAP 服务器。
- 减轻 IT 管理负担:通过使用极狐 GitLab 的多 LDAP 接入功能,企业可以避免在多个平台上分别管理用户的身份验证和授权。这有助于降低 IT 管理的复杂性和成本,同时提高工作效率。
配置
原理
不同LDAP域下的用户通过不同的LDAP服务登录到同一个极狐GitLab实例,实现跨LDAP域的用户开发协作与共享。
效果
配置完成后效果如下,可以根据实际所处的LDAP域选择合适的LDAP登录入口。
方法
编辑 /etc/gitlab/gitlab.rb
,其中内容以实际内容为准,具体配置方式可以咨询极狐GitLab技术支持团队。
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = {
'main' => {
'label' => 'GitLab AD',
'host' => 'ad.mydomain.com',
'port' => 636,
'uid' => 'sAMAccountName',
'encryption' => 'simple_tls',
'base' => 'dc=example,dc=com',
},
'secondary' => {
'label' => 'GitLab Secondary AD',
'host' => 'ad-secondary.mydomain.com',
'port' => 636,
'uid' => 'sAMAccountName',
'encryption' => 'simple_tls',
'base' => 'dc=example,dc=com',
},
'tertiary' => {
'label' => 'GitLab Tertiary AD',
'host' => 'ad-tertiary.mydomain.com',
'port' => 636,
'uid' => 'sAMAccountName',
'encryption' => 'simple_tls',
'base' => 'dc=example,dc=com',
}
}
保存文件并重新配置极狐GitLab
gitlab-ctl reconfigure