極狐GitLab 如何配置多個 LDAP?

發表於2024-02-19
本文作者 極狐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

相關文章