极狐GitLab 如何配置多个 LDAP?

本文仅适用于极狐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技术支持团队

Bash 复制代码
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

Bash 复制代码
gitlab-ctl reconfigure
相关推荐
明月心95221 小时前
git remote add 用法
gitlab
only_Klein1 天前
jenkins流水线报错:Connection reset by peer
ci/cd·kubernetes·gitlab·jenkins·ssl
梁萌2 天前
docker部署gitlab和gitlab runner
docker·eureka·gitlab
johnnyAndCode2 天前
Idea 设置GitLab时使用账密,而不是token的配置方法
gitlab·idea
天外飞雨2 天前
Gitlab使用
gitlab
BUTCHER53 天前
GitLab SSH 密钥配置
运维·ssh·gitlab
明月心9523 天前
GitLab使用
gitlab
明月心9524 天前
gitlab pull requets
gitlab
BUTCHER54 天前
GitLab基本设置
gitlab
张小凡vip4 天前
Kubernetes---gitlab的ci/cd发布基于k8s的项目示例参考
ci/cd·kubernetes·gitlab