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以降)を併記しています。
/etc/openldap/schemaディレクトリが存在しない場合は、以下のようにしてOpenLDAPパッケージをインストールしてください。
# yum install openldap-clients openldap-servers |
インストール後、自動起動の設定を行います。
|
|
以下のURLには、edupersonスキーマの内容が記載されています。
/etc/openldap/schema 配下に「eduperson.schema」を作成し、スキーマの内容をコピーしてください。
※edupersonスキーマの追加は必須ではありません。
(既に統合認証基盤が構築されており、必要な属性値が存在する場合など)
https://spaces.internet2.edu/display/macedir/OpenLDAP+eduPerson
ディレクトリサービス上に設定する方法は、slapd.confから変換する方法もありますが、ここではディレクトリサービスのインタフェースを介した手順を説明します。 ・LDAPサーバの起動
・データベースの設定
ここで設定したolcRootPWは、LDAPのデータベースに対する管理者パスワードです。 ※暗号化の例:
以下のコマンドを実行して、ドメイン情報を変更します。
・eduPersonスキーマの登録
以下のコマンドを実行して、eduPersonスキーマのldifファイルを作成します。
作成したldifファイルから余分な情報を削除します。
以下のコマンドを実行して、edupersonスキーマを登録します。
|
/etc/openldap/slapd.conf を変更します。
ここで設定したパスワードは IdPの設定ファイルにも記述します。(後述) ※暗号化の例:
設定後、LDAPサーバを起動します。
|
以下のサンプルを基に、テスト用データを作成し、LDAPへ登録します。
Shibboleth を利用したID/パスワードでの認証に使用されるIDはuid 、パスワードは userPassword になります。
※IDに使用する属性については、login.configの設定で他の属性に変更できます。
また、同様に送信属性値取得の設定がattribute-resolver.xmlで行われています。
こちらのLDAP検索キーも同様に変更しなければ不整合が起きるので、注意してください。
・test.ldif ファイル作成
※環境にもよりますが、文字コードは「UTF-8」で作成してください。
dn: o=test_o,dc=ac,c=JP |
・LDAPへの登録
# ldapadd -x -h localhost -D "cn=olmgr,o=test_o,dc=ac,c=JP" -w csildap -f test.ldif |