OpenLDAPの設定

OpenLDAPの設定

OpenLDAPの設定

OpenLDAPは、バージョンによって設定の方法が変わっています。バージョン2.2まではslapd.confに設定内容を定義していましたが、バージョン2.3以降で非推奨となりディレクトリサービス上に設定を格納するようになりました。
CentOS 5標準のOpenLDAPは2.2までのslapd.confによる設定方法を採っています。
CentOS 6標準のOpenLDAPは2.3以降の、ディレクトリサービス上での設定を基本としています。
下記では、slapd.confで設定する方法(CentOS 5まで)と、ディレクトリサービス上に設定する方法(CentOS 6以降)を併記しています。

 


0. OpenLDAPパッケージの確認

/etc/openldap/schemaディレクトリが存在しない場合は、以下のようにしてOpenLDAPパッケージをインストールしてください。

# yum install openldap-clients openldap-servers

 

インストール後、自動起動の設定を行います。

 


1. 追加のスキーマファイル

以下のURLには、edupersonスキーマの内容が記載されています。
/etc/openldap/schema 配下に「eduperson.schema」を作成し、スキーマの内容をコピーしてください。
※edupersonスキーマの追加は必須ではありません。
(既に統合認証基盤が構築されており、必要な属性値が存在する場合など)

 


2. LDAPサーバのデフォルト設定

 

ディレクトリサービス上に設定する方法は、slapd.confから変換する方法もありますが、ここではディレクトリサービスのインタフェースを介した手順を説明します。

・LDAPサーバの起動
  事前に起動させておく必要があります。

 ・データベースの設定
  初期登録されている既存のドメイン情報を変更して、使用します。
  以下のような内容で、ドメイン情報変更用のldifファイルを作成します。

  ここで設定したolcRootPWは、LDAPのデータベースに対する管理者パスワードです。
  また、このパスワードは IdPの設定ファイルにも記述します。(後述)

 ※暗号化の例:

 以下のコマンドを実行して、ドメイン情報を変更します。

 ・eduPersonスキーマの登録
  スキーマの登録においてもディレクトリサービスのインタフェースを介した手順となります。
  ldifファイルより行うため、eduPersonスキーマを使ってldifファイルを作成します。
  以下のような内容で、ldifファイル作成に必要な設定ファイルを作成します。

  以下のコマンドを実行して、eduPersonスキーマのldifファイルを作成します。

   作成したldifファイルから余分な情報を削除します。
  以下の手順に従って、/etc/openldap/schema/eduperson.ldifを編集してください。

   以下のコマンドを実行して、edupersonスキーマを登録します。

/etc/openldap/slapd.conf を変更します。

ここで設定したパスワードは IdPの設定ファイルにも記述します。(後述)

※暗号化の例:

 設定後、LDAPサーバを起動します。

 


3. LDAPのテストデータ作成

以下のサンプルを基に、テスト用データを作成し、LDAPへ登録します。
Shibboleth を利用したID/パスワードでの認証に使用されるIDはuid 、パスワードは userPassword になります。
※IDに使用する属性については、login.configの設定で他の属性に変更できます。
  また、同様に送信属性値取得の設定がattribute-resolver.xmlで行われています。
  こちらのLDAP検索キーも同様に変更しなければ不整合が起きるので、注意してください。

 

・test.ldif ファイル作成
  ※環境にもよりますが、文字コードは「UTF-8」で作成してください。

・LDAPへの登録