本文作者 極狐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