本文作者 极狐GitLab资深解决方案架构师 尹学峰
本文仅适用于极狐GitLab私有化部署场景。

场景化痛点

极狐GitLab 的多 LDAP 接入功能解决了企业在以下场景中可能遇到的痛点:

  1. 多个组织/部门的整合:在大型企业或跨国公司中,往往存在多个组织或部门,它们可能拥有独立的 LDAP 服务器。GitLab 的多 LDAP 接入功能允许这些组织或部门在一个统一的平台上进行协作,同时保持各自的身份验证和授权体系。
  2. 并购与合并:当企业进行并购或合并时,它们可能需要整合不同的 IT 系统和身份验证服务器。极狐GitLab 的多 LDAP 接入功能简化了这个过程,使得不同来源的员工可以使用各自的原始 LDAP 凭据登录 极狐GitLab 平台。
  3. 权限管理与安全性:多 LDAP 接入功能有助于企业实现细粒度的权限管理。通过将不同的 LDAP 服务器分配给相应的用户群组,企业可以确保每个用户仅能访问其所需的资源,从而提高整体的安全性。
  4. 灵活性与可扩展性:对于快速发展的企业来说,能够方便地整合新的 LDAP 服务器是很重要的。极狐GitLab 的多 LDAP 接入功能提供了这种灵活性,使得企业可以随着其规模的扩大,轻松地添加更多的 LDAP 服务器。
  5. 减轻 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

极狐GitLab
64 声望36 粉丝

极狐(GitLab) 以“核心开放”为原则,面向中国市场,提供开箱即用的开放式一体化安全DevOps平台——极狐GitLab。通过业界领先的优先级管理、安全、风险和合规性功能,实现产品、开发、QA、安全和运维团队间的高效协同...