Content-type: text/html Manpage of SLAPD-LDAP

SLAPD-LDAP

Section: File Formats (5)
Updated: 2005/10/13
Index Return to Main Contents
 

名前

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

所在

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

説明

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

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

The ldap database can also act as an information service, i.e. the identity of locally authenticated clients is asserted to the remote server, possibly in some modified form. For this purpose, the proxy binds to the remote server with some administrative identity, and, if required, authorizes the asserted identity. See the idassert-* rules below. The administrative identity of the proxy, on the remote server, must be allowed to authorize by means of appropriate authzTo rules; see slapd.conf(5) for details.

 

設定オプション

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

注記:back-ldap の初期バージョンでは、次の設定を強く勧めていました。

lastmod  off

このようにしたのは、エントリの作成と更新に関係する運用属性が使われる べきではないからです。運用属性がダーゲットサーバに渡されるとエラーが置きます。 現在の実装では lastmod が自動的に off に設定されるので、無用な lastmod の記述は除いてください。lastmod ディレクティブは将来的に利用できなくなる予定です。

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

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

URI のリストはスペースかカンマで区切ります。 このディレクティブの指定は必須です。 時代遅れのオプション。`uri ldap://<hostport>/' と指定するのと同じです。

acl-bind bindmethod=simple|sasl [binddn=<simple DN>] [credentials=<simple password>] [saslmech=<SASL mech>] [secprops=<properties>] [realm=<realm>] [authcId=<authentication ID>] [authzId=<authorization ID>]
アクセス制御に関連する情報を集めるために、代理が内部的に利用する 認証方式のパラメータを指定します。 このディレクティブで指定するID (認証方式に関連するプロパティによる)は、 ターゲットサーバの ACL チェックのための 代理に使われる属性に対して読取りアクセス権を持っているべきです。 現在のところ secprops 指定は無視されます。 このような値を指定することに危険はありません。 指定したものは利用権のチェックだけに使われるからです。 デフォルトでは simple 認証を使い binddn と credentials は空になります。すなわち関連する操作 は匿名で行われます。

This identity is by no means implicitly used by the proxy when the client connects anonymously.

See the idassert-bind feature instead. This directive obsoletes acl-authcDN, and acl-passwd.

idassert-bind bindmethod=none|simple|sasl [binddn=<simple DN>] [credentials=<simple password>] [saslmech=<SASL mech>] [secprops=<properties>] [realm=<realm>] [authcId=<authentication ID>] [authzId=<authorization ID>] [authz={native|proxyauthz}] [mode=<mode>] [flags=<flags>]
Allows to define the parameters of the authentication method that is internally used by the proxy to authorize connections that are authenticated by other databases. The identity defined by this directive, according to the properties associated to the authentication method, is supposed to have auth access on the target server to attributes used on the proxy for authentication and authorization, and to be allowed to authorize the users. This requires to have proxyAuthz privileges on a wide set of DNs, e.g. authzTo=dn.regex:.*, and the remote server to have authz-policy set to to or both. See slapd.conf(5) for details on these statements and for remarks and drawbacks about their usage. The supported bindmethods are

none|simple|sasl

where none is the default, i.e. no identity assertion is performed.

The authz parameter is used to instruct the SASL bind to exploit native SASL authorization, if available; since connections are cached, this should only be used when authorizing with a fixed identity (e.g. by means of the authzDN or authzID parameters). Otherwise, the default proxyauthz is used, i.e. the proxyAuthz control is added to all operations.

The supported modes are:

<mode> := {legacy|anonymous|none|self}

If <mode> is not present, and authzId is given, the proxy always authorizes that identity. <authorization ID> can be

u:<user>

[dn:]<DN>

The former is supposed to be expanded by the remote server according to the authz rules; see slapd.conf(5) for details. In the latter case, whether or not the dn: prefix is present, the string must pass DN validation and normalization.

The default mode is legacy, which implies that the proxy will either perform a simple bind as the authcDN or a SASL bind as the authcID and assert the client's identity when it is not anonymous. Direct binds are always proxied. The other modes imply that the proxy will always either perform a simple bind as the authcDN or a SASL bind as the authcID, unless restricted by idassert-authzFrom rules (see below), in which case the operation will fail; eventually, it will assert some other identity according to <mode>. Other identity assertion modes are anonymous and self, which respectively mean that the empty or the client's identity will be asserted; none, which means that no proxyAuthz control will be used, so the authcDN or the authcID identity will be asserted. For all modes that require the use of the proxyAuthz control, on the remote server the proxy identity must have appropriate authzTo permissions, or the asserted identities must have appropriate authzFrom permissions. Note, however, that the ID assertion feature is mostly useful when the asserted identities do not exist on the remote server.

When the override flag is used, identity assertion takes place even when the database is authorizing for the identity of the client, i.e. after binding with the provided identity, and thus authenticating it, the proxy performs the identity assertion using the configured identity and authentication method.

This directive obsoletes idassert-authcDN, idassert-passwd, idassert-mode, and idassert-method.

idassert-authzFrom <authz-regexp>
if defined, selects what local identities are authorized to exploit the identity assertion feature. The string <authz-regexp> follows the rules defined for the authzFrom attribute. See slapd.conf(5), section related to authz-policy, for details on the syntax of this field.

proxy-whoami {NO|yes}
Turns on proxying of the WhoAmI extended operation. If this option is given, back-ldap will replace slapd's original WhoAmI routine with its own. On slapd sessions that were authenticated by back-ldap, the WhoAmI request will be forwarded to the remote LDAP server. Other sessions will be handled by the local slapd, as before. This option is mainly useful in conjunction with Proxy Authorization.

rebind-as-user {NO|yes}
このオプションが与えられていれば、クライアントのバインド認証情報が記憶さ れ、紹介の追跡時の再バインドに使われます。
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

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

This document was created by man2html, using the manual pages.
Time: 07:24:59 GMT, October 27, 2005