tabimoba.net

とあるエンジニアの雑記帳

GitlabでActive Directory(LDAP)認証を使う

GitlabとActive Directory(LDAP)を連携する際のメモとして。

以下の設定を行うと、GitlabでActive Directory認証が利用できるようになります。

設定手順

viなどでgitlab.yml(/home/git/gitlab/config/gitlab.yml)を開き、次の内容を追記(または変更)します。

## LDAP settings
  ldap:
    enabled: true
    host: '192.168.20.100'
    base: 'DC=example,DC=local'
    port: 389
    uid: 'sAMAccountName'
    method: 'plain' # "ssl" or "plain"
    bind_dn: 'CN="LDAP認証用ユーザー",OU="社員",OU="イグザンプル株式会社",DC=example,DC=local'
    password: 'hogepassword'
    allow_username_or_email_login: true

※上記設定における、ADサーバおよび認証ユーザーの仕様(例)
f:id:tabimoba:20140327100443g:plain

ADサーバのIPアドレス 192.168.20.100 (dc.example.local)
ドメイン名 example.local
LDAP認証用ユーザーのCN LDAP認証用ユーザー
LDAP認証用ユーザーのパスワード hogepassword
LDAP認証用ユーザーのOU 1階層目:イグザンプル株式会社、2階層目:社員

なお、gitlabというよりもLDAPに関することとなりますが、
OUの階層が3階層、4階層となる場合は、

OU=4階層目,OU=3階層目,OU=2階層目,OU=1階層目

のようにすれば良いです。

ちなみに、CNやOUは日本語でも通ります。

日本語のCNやOUは他のあまり好ましくないような気もしますが、割とあるあるかなと思いましたので、日本語が使えるという意味で例示してみました。


上記設定が完了したら

# service gitlab restart

してgitlabを再起動をします。


gitlabへアクセスすると、以下のようにLDAPでサインインできるようになっています。
f:id:tabimoba:20140327094633g:plain:w300

ADサーバに登録されているユーザーでログインできればすべて完了です。