2013年5月13日月曜日

GitLabをActive Directory(LDAP)と連携してみたよ!



GitLabをActive Directory(LDAP)と連携してユーザー管理にしてみました。

もくじ


きっかけ


前回「GitLab」をインストールしたわけですが、社内やプライベート環境に立ち上げるメリットとして、現状の認証基盤を使えるという事があります。

前回紹介した「特徴」として

  • 社内などプライベートなサーバーに構築
  • github に似たUIを持っている
    • issue, wiki, Merge Requests(pull request)
  • Ruby on Rails で作られている
  • ソースが公開されていて自由にインストールできる

を上げたのですが、他にも

  • 「LDAP」認証ができる! ← と、ざっくり書いてあるw (´・ω・`)
    • てことは「Active Directory」のLDAPも大丈夫なはず!

※ githubで、LDAP連携できるか出来ないかはよく知りません!w

「Omniauth Providers」も気になる!

ま、やってみました!

設定


  • /home/git/gitlab/config/gitlab.yml を編集

78行目から91行目あたり

↓ こんなのを

  #
  # 2. Auth settings
  # ==========================

  ## LDAP settings
  ldap:
    enabled: false
    host: '_your_ldap_server'
    base: '_the_base_where_you_search_for_users'
    port: 636
    uid: 'sAMAccountName'
    method: 'ssl' # "ssl" or "plain"
    bind_dn: '_the_full_dn_of_the_user_you_will_bind_with'
    password: '_the_password_of_the_bind_user'

enabled: true

にして、環境に合わせて変えます。

  #
  # 2. Auth settings
  # ==========================

  ## LDAP settings
  ldap:
    enabled: true
    host: 'dc.example.com( or 192.168.0.1)'
    base: 'DC=example,DC=com'
    port: 636
    uid: 'sAMAccountName'
    method: 'ssl' # "ssl" or "plain"
    bind_dn: 'CN=oreore,OU=shacho,DC=example,DC=com'
    password: '$oreore_no_password'

「Active Directory」でのLDAP属性などは以下を参照されるといいと思います!

  • 第3回 LDAPを使ってActive Directoryを制御しよう[その1:ldpとcsvde]:知られざるActive Directory技術の「舞台裏」|gihyo.jp … 技術評論社
    http://gihyo.jp/admin/serial/01/ad2010/0003


  • gitlab の再起動

  •     # gitlab の起動
        sudo /etc/init.d/gitlab restart
    

    うまくいくと、ログイン画面が以下のように変わります。


    • 参考までに、通常のログイン画面


    • 「My Profile」では
      • Name
      • Email

    が、自動で取得されています。


    まとめ


    • Active Directory(LDAP) との連携も、社内やプライベートに置くメリットになるのかな! 

    • 思った以上に、サクッと出来ました! 

    • LDAPや、Active Directoryまだまだ勉強中です!


    Zenback