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サーバおよび認証ユーザーの仕様(例)
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でサインインできるようになっています。
ADサーバに登録されているユーザーでログインできればすべて完了です。