SLAPD-LDAP

Section: File Formats (5)
Updated: 2005/03/15
Index Return to Main Contents
 

名前

slapd-ldap - slapd の LDAP バックエンド  

所在

/usr/local/etc/openldap/slapd.conf  

説明

slapd(8) の LDAP バックエンドは実際にはデータベースではありません。 受け付けた要求を他の LDAP サーバにフォワードする代理サーバとして動作します。 要求の処理をする一方で紹介の追跡もするので、紹介は slapd のクライアントに返すことなく完全に処理されます。

back-ldap データベースに直にバインドするセッションは、常に リモート LDAP サーバとの内部的な接続を確立します。 匿名セッションは、リモートサーバとの単一の匿名接続を共有します。 その他の機構でバインドしているセッションは、 同じ DN のセッションすべてが同じ接続を共有します。 この接続のプーリング方針により、多くの接続を確立/切断を繰り返す負荷を低減 するので、代理サーバの効率が上がります。

 

設定オプション

ここにあげる slapd.conf オプションは LDAP バックエンドデータベースに指定できます。 すなわち、これらのオプションは "database ldap" とある行の後で、次の "backend" あるいは "database" 行が現れる前になければなりません。 この他に指定できるデータベースオプションについては slapd.conf(5) マニュアルページを参照してください。

注記:すべての ldapmeta データベースについて次の設定を入れておくことを強く勧めます。

lastmod  off

このようにするのはエントリの作成と更新に関係する運用属性が使われる べきではないからです。運用属性がダーゲットサーバに渡されるとエラーが置きます。

uri <ldapurl>
利用する LDAP サーバを指定します。引数 ldapurl には複数の URI を指定できます。複数の URI を指定すると、 基盤のライブラリがリスト中の最初に反応したサーバを呼び出します。 たとえば次のように指定します。

uri "ldap://host/ ldap://backup-host"

URI のリストはスペースかカンマで区切ります。

server <hostport>
時代遅れのオプション。`uri ldap://<hostport>/' と指定するのと同じです。
binddn <administrative DN for access control purposes>
acl チェックのためにターゲットサーバに問い合わせるために用いる DN を指定します。この DN は、ターゲットサーバの acl チェックのための 代理に使われる属性に対して読取りアクセス権を持っているべきです。 このような値を指定することに危険はありません。 指定する DN は利用権のチェックだけに使われるからです。
bindpw <password>
上のオプションで指定した DN で使うパスワードを指定します。
proxyauthzdn <administrative DN for proxyAuthz purposes>
クライアントが back-ldap で代理する DIT の一部分に属しない場合、proxyAuthz 制御によってクライアントの ID をターゲットに伝播するのに使う DN を指定します。 これは、別のバックエンドにバインドしている利用者の実行した操作が back-ldap におよぶ場合に有用です。 このオプションは、リモートサーバに DN として proxyauthzdn を持つエントリがあることを要求します。このエントリは広範囲な DN について proxyAuthz 権限を有してなければなりません。たとえば saslAuthzTo=dn.regex:.* などとし、リモートサーバの sasl-authz-policyto あるいは both に設定します。 これらの設定の詳細および注意点については slapd.conf(5) を参照してください。
proxyauthzpw <password>
上記の代理認可 DN で使うパスワードを指定します。
proxy-whoami
WhoAmI 拡張操作の代理に切替えます。 このディレクティブを与えた場合、 back-ldap は slapd の元の WhoAmI ルーチンを back-ldap のもので置換します。 back-ldap で認証した slapd セッションでは WhoAmI 要求をリモートの LDAP サーバに転送します。 その他のセッションについてはローカルの slapd で処理します。 このオプションは主に代理認可と併せて利用します。

rebind-as-user
このオプションが与えられていれば、クライアントのバインド認証情報が記憶さ れ、紹介の追跡時の再バインドに使われます。
suffixmassage <suffix> <massaged (remote) suffix>
要求に含まれる DN に接尾辞 <suffix> が付いている場合、 その要求をリモートサーバに送る前に <suffix> を <remote suffix> に変更します。 結果に含まれる DN に接尾辞 <remote suffix> が付いている場合、 その結果をクライアントに返す前に <remote suffix> を <suffix> に変更します。 引数 <suffix> は現在のデータベースのための適切な接尾辞として 定義されていなければなりません。
map {attribute | objectclass} [<local name> | *] {<foreign name> | *}
外部サーバの属性名とオブジェクトクラスをローカルの slapd の違う値に マッピングします。 この設定が必要になるのは、ローカルの slapd のスキーマになり属性があったり、 同じ目的のための属性の名前が違っていたりする場合です。 ローカルまたは外部の名前に '*' を指定すると、名前はそのまま維持されます。 ローカル名を省略すると、対応する外部名は取り除かれます。 ローカル名と外部名がともに '*' であるとマッピングされていない名前が維持されます。 ローカル名が省略され外部名が `*' であるとマッピングされていない名前が除去されます。
rewrite*
このオプションについては slapd-meta(5) マニュアルページの "再書込み" の項に説明されています。
 

設定例

次の設定は OpenLDAP のオブジェクトクラス `groupOfNames' を Active Directory のオブジェクトクラス group にマッピングします。

map objectclass groupOfNames group

次の設定は外部サーバの限定した属性だけを与えます。

map attribute cn *
map attribute sn *
map attribute manager *
map attribute description *
map attribute *

これらの行は cn, sn, manager, description をその名前でマッピングし、 他の属性はクライアントに送り返す前にオブジェクトクラスから「除去」します。 これは単純明解な例ですが要点はおさえています。  

関連ファイル

/usr/local/etc/openldap/slapd.conf
デフォルト slapd 設定ファイル
 

関連項目

slapd.conf(5), slapd-meta(5), slapd(8), ldap(3).

 

作者

Howard Chu, Pierangelo Masarati (機能拡張)  

和訳

稲地 稔 <inachi@kkd.biglobe.ne.jp>


 

Index

名前
所在
説明
設定オプション
設定例
関連ファイル
関連項目
作者
和訳