Drupal で、Active Directory(OpenLDAP)サーバに認証させる方法

もしあなたの会社がウィンドウズベース、すなわち Active Directory ベースのユーザー管理をしているなら、Drupal の LDAP Integration というモジュールに含まれる ldapauth モジュールを使うことによって、認証、グループ、ユーザーの属性情報 と連携することができる。このモジュールは地味な機能を提供するが、実際に使用してみるとものすごい効果であった。グループの追加、ユーザーの属性情報などはすべて自動で Active Directory から情報を引っ張って Drupal で扱えるため、既存のユーザー管理はそのままにイントラネットを Drupal に置き換える場合などは、非常に強力な機能だと思う。 以下にその設定のポイントを挙げておこう。
  1. Active Directory を使っている場合は、LDAP オプションを有効にする。
  2. もしあなたの Active Directory / OpenLDAP が匿名による検索をサポートしていない場合、Active Directory / LDAP 上に、Drupal からアクセスして Active Directory(OpenLDAP)内を検索できるユーザーを作成しておく(例えば、ldapadmin など、名前は何でもよい)。Drupal 側からは、ログインしようとしているユーザーの情報を検索するためだ。そのユーザー名とパスワードは LDAP Integration の設定の Configure LDAP Server - DN for non-anonymous search: に入力する。
  3. Name:LDAP Server:LDAP Port: の設定は問題ないと思う。 ちなみに、LDAP の well-known ポートは 389
  4. 一番悩むのは Login procedure のところだろう。Base DNs: のところは、以下のような感じ。
    DC=subdomain, DC=your_domain, DC=com
    OU=YOUR_COMPANY_NAME
    OU=Users
    Active Directory の場合は、UserName attribute: のところは、
    sAMAccountName
    Email attribute: のところは、
    mail
    でよいだろう。
以上の設定で、Active Directory / OpenLDAP認証が可能となる。
トラックバック URL: https://perltips.twinkle.cc/trackback/309