slapd-ldap.5 22.9 KB
Newer Older
1
.TH SLAPD-LDAP 5 "RELEASEDATE" "OpenLDAP LDVERSION"
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
2
.\" Copyright 1998-2019 The OpenLDAP Foundation All Rights Reserved.
3
4
5
.\" Copying restrictions apply.  See COPYRIGHT/LICENSE.
.\" $OpenLDAP$
.SH NAME
6
slapd\-ldap \- LDAP backend to slapd
7
8
9
10
11
12
13
14
15
.SH SYNOPSIS
ETCDIR/slapd.conf
.SH DESCRIPTION
The LDAP backend to
.BR slapd (8)
is not an actual database; instead it acts as a proxy to forward incoming
requests to another LDAP server. While processing requests it will also
chase referrals, so that referrals are fully processed instead of being
returned to the slapd client.
16
17
18
19
20
21
22
23
24

Sessions that explicitly Bind to the back-ldap database always create their
own private connection to the remote LDAP server. Anonymous sessions will
share a single anonymous connection to the remote server. For sessions bound
through other mechanisms, all sessions with the same DN will share the
same connection. This connection pooling strategy can enhance the proxy's
efficiency by reducing the overhead of repeatedly making/breaking multiple
connections.

Pierangelo Masarati's avatar
Pierangelo Masarati committed
25
26
27
28
29
30
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 
31
.IR idassert\- *
Pierangelo Masarati's avatar
Pierangelo Masarati committed
32
33
34
35
36
37
38
39
rules below.
The administrative identity of the proxy, on the remote server, must be 
allowed to authorize by means of appropriate
.B authzTo
rules; see 
.BR slapd.conf (5)
for details.

40
41
42
The proxy instance of
.BR slapd (8)
must contain schema information for the attributes and objectClasses
43
used in filters, request DNs and request-related data in general.
44
45
46
47
48
It should also contain schema information for the data returned
by the proxied server.
It is the responsibility of the proxy administrator to keep the schema
of the proxy lined up with that of the proxied server.

49
.LP
50
51
52
53
Note: When looping back to the same instance of
.BR slapd (8), 
each connection requires a new thread; as a consequence,
.BR slapd (8)
54
55
must be compiled with thread support, and the \fBthreads\fP parameter 
may need some tuning; in those cases, one may consider using 
56
.BR slapd\-relay (5)
57
instead, which performs the relayed operation 
Kurt Zeilenga's avatar
Kurt Zeilenga committed
58
internally and thus reuses the same connection.
59

60
61
62
63
64
65
66
67
68
.SH CONFIGURATION
These
.B slapd.conf
options apply to the LDAP backend database.
That is, they must follow a "database ldap" line and come before any
subsequent "backend" or "database" lines.
Other database options are described in the
.BR slapd.conf (5)
manual page.
69

70
.LP
71
Note: In early versions of back-ldap it was recommended to always set
72
.LP
73
.RS
74
.nf
75
lastmod  off
76
.fi
77
.RE
78
.LP
79
for 
80
81
82
.B ldap
and
.B meta
83
84
85
databases.
This was required because operational attributes related to entry creation 
and modification should not be proxied, as they could be mistakenly written
86
to the target server(s), generating an error.
87
88
The current implementation automatically sets lastmod to \fBoff\fP, 
so its use is redundant and should be omitted.
89

90
91
.TP
.B uri <ldapurl>
92
LDAP server to use.  Multiple URIs can be set in a single
93
94
.B ldapurl
argument, resulting in the underlying library automatically 
95
calling the first server of the list that responds, e.g.
96

97
\fBuri "ldap://host/ ldap://backup\-host/"\fP
98
99

The URI list is space- or comma-separated.
100
101
102
Whenever the server that responds is not the first one in the list,
the list is rearranged and the responsive server is moved to the head,
so that it will be first contacted the next time a connection
103
needs to be created.
104
105
.HP
.hy 0
106
.B acl\-bind
107
108
109
.B bindmethod=simple|sasl [binddn=<simple DN>] [credentials=<simple password>]
.B [saslmech=<SASL mech>] [secprops=<properties>] [realm=<realm>]
.B [authcId=<authentication ID>] [authzId=<authorization ID>]
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
110
.B [starttls=no|yes|critical]
Howard Chu's avatar
Howard Chu committed
111
112
113
114
115
.B [tls_cert=<file>]
.B [tls_key=<file>]
.B [tls_cacert=<file>]
.B [tls_cacertdir=<path>]
.B [tls_reqcert=never|allow|try|demand]
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
116
.B [tls_cipher_suite=<ciphers>]
Howard Chu's avatar
Howard Chu committed
117
.B [tls_protocol_min=<major>[.<minor>]]
Howard Chu's avatar
Howard Chu committed
118
.B [tls_crlcheck=none|peer|all]
119
.RS
120
Allows one to define the parameters of the authentication method that is
121
122
123
internally used by the proxy to collect info related to access control,
and whenever an operation occurs with the identity of the rootdn
of the LDAP proxy database.
124
The identity defined by this directive, according to the properties
125
126
associated to the authentication method, is supposed to have read access 
on the target server to attributes used on the proxy for ACL checking.
127

128
129
There is no risk of giving away such values; they are only used to
check permissions.
130
The default is to use
131
132
.BR simple 
bind, with empty \fIbinddn\fP and \fIcredentials\fP,
133
which means that the related operations will be performed anonymously.
134
135
If not set, and if \fBidassert\-bind\fP is defined, this latter identity
is used instead.  See \fBidassert\-bind\fP for details.
136
137
138
139

The connection between the proxy database and the remote server
associated to this identity is cached regardless of the lifespan
of the client-proxy connection that first established it.
140

141
.B This identity is not implicitly used by the proxy
142
.B when the client connects anonymously.
143
The
144
.B idassert\-bind
145
146
feature, instead, in some cases can be crafted to implement that behavior,
which is \fIintrinsically unsafe and should be used with extreme care\fP.
147
This directive obsoletes
148
.BR acl\-authcDN ,
149
and
150
.BR acl\-passwd .
Howard Chu's avatar
Howard Chu committed
151
152
153
154
155

The TLS settings default to the same as the main slapd TLS settings,
except for
.B tls_reqcert
which defaults to "demand".
156
.RE
157

158
.TP
159
.B cancel {ABANDON|ignore|exop[\-discover]}
160
161
162
163
164
165
166
167
168
Defines how to handle operation cancellation.
By default,
.B abandon
is invoked, so the operation is abandoned immediately.
If set to
.BR ignore ,
no action is taken and any further response is ignored; this may result
in further response messages to be queued for that connection, so it is
recommended that long lasting connections are timed out either by
169
.I idle\-timeout
170
or
171
.IR conn\-ttl ,
172
173
174
175
176
177
178
179
180
181
182
so that resources eventually get released.
If set to
.BR exop ,
a
.I cancel
operation (RFC 3909) is issued, resulting in the cancellation 
of the current operation; the
.I cancel
operation waits for remote server response, so its use 
may not be recommended.
If set to
183
.BR exop\-discover ,
184
185
186
187
support of the
.I cancel 
extended operation is detected by reading the remote server's root DSE.

188
.TP
189
.B chase\-referrals {YES|no}
190
191
enable/disable automatic referral chasing, which is delegated to the
underlying libldap, with rebinding eventually performed if the
192
\fBrebind\-as\-user\fP directive is used.  The default is to chase referrals.
193
194

.TP
195
.B conn\-ttl <time>
196
This directive causes a cached connection to be dropped and recreated
197
198
199
after a given ttl, regardless of being idle or not.

.TP
200
.B idassert\-authzFrom <authz-regexp>
201
202
203
204
205
206
207
208
209
210
211
if defined, selects what
.I local
identities are authorized to exploit the identity assertion feature.
The string
.B <authz-regexp>
follows the rules defined for the
.I authzFrom
attribute.
See 
.BR slapd.conf (5),
section related to
212
.BR authz\-policy ,
213
214
for details on the syntax of this field.

215
216
.HP
.hy 0
217
.B idassert\-bind
218
219
220
221
.B bindmethod=none|simple|sasl [binddn=<simple DN>] [credentials=<simple password>]
.B [saslmech=<SASL mech>] [secprops=<properties>] [realm=<realm>]
.B [authcId=<authentication ID>] [authzId=<authorization ID>]
.B [authz={native|proxyauthz}] [mode=<mode>] [flags=<flags>]
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
222
.B [starttls=no|yes|critical]
Howard Chu's avatar
Howard Chu committed
223
224
225
226
227
.B [tls_cert=<file>]
.B [tls_key=<file>]
.B [tls_cacert=<file>]
.B [tls_cacertdir=<path>]
.B [tls_reqcert=never|allow|try|demand]
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
228
.B [tls_cipher_suite=<ciphers>]
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
229
.B [tls_protocol_min=<version>]
Howard Chu's avatar
Howard Chu committed
230
.B [tls_crlcheck=none|peer|all]
231
.RS
232
Allows one to define the parameters of the authentication method that is
233
234
internally used by the proxy to authorize connections that are 
authenticated by other databases.
235
236
Direct binds are always proxied without any idassert handling.

237
238
239
240
241
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
242
243
.B proxyAuthz
privileges on a wide set of DNs, e.g.
Pierangelo Masarati's avatar
Pierangelo Masarati committed
244
.BR authzTo=dn.subtree:"" ,
245
and the remote server to have
246
.B authz\-policy
247
set to
248
.B to
249
or
250
.BR both .
251
See
252
253
254
.BR slapd.conf (5)
for details on these statements and for remarks and drawbacks about
their usage.
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
The supported bindmethods are

\fBnone|simple|sasl\fP

where
.B none
is the default, i.e. no \fIidentity assertion\fP is performed.

The authz parameter is used to instruct the SASL bind to exploit 
.B 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 
.B authzDN
or
.B authzID
parameters).
Otherwise, the default
.B proxyauthz
274
275
is used, i.e. the proxyAuthz control (Proxied Authorization, RFC 4370)
is added to all operations.
276

277
The supported modes are:
Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
278

279
\fB<mode> := {legacy|anonymous|none|self}\fP
Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
280

281
282
283
284
285
286
287
If 
.B <mode>
is not present, and 
.B authzId
is given, the proxy always authorizes that identity.
.B <authorization ID>
can be 
Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
288

289
\fBu:<user>\fP
290

291
292
293
294
295
296
297
298
299
300
301
\fB[dn:]<DN>\fP

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

The default mode is 
302
.BR legacy ,
303
304
305
306
which implies that the proxy will either perform a simple bind as the
.I authcDN
or a SASL bind as the
.I authcID
307
and assert the client's identity when it is not anonymous.
308
309
310
311
312
The other modes imply that the proxy will always either perform a simple bind 
as the
.IR authcDN
or a SASL bind as the
.IR authcID ,
313
unless restricted by
314
.BR idassert\-authzFrom
315
316
317
318
rules (see below), in which case the operation will fail;
eventually, it will assert some other identity according to
.BR <mode> .
Other identity assertion modes are
319
320
321
.BR anonymous
and
.BR self ,
322
323
324
325
326
327
328
329
which respectively mean that the 
.I empty 
or the 
.IR client 's 
identity
will be asserted;
.BR none ,
which means that no proxyAuthz control will be used, so the
330
331
332
.I authcDN
or the
.I authcID
333
identity will be asserted.
334
335
336
337
338
339
340
341
For all modes that require the use of the
.I proxyAuthz 
control, on the remote server the proxy identity must have appropriate 
.I authzTo
permissions, or the asserted identities must have appropriate
.I authzFrom 
permissions.  Note, however, that the ID assertion feature is mostly 
useful when the asserted identities do not exist on the remote server.
342

343
344
Flags can be

Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
345
\fBoverride,[non\-]prescriptive,proxy\-authz\-[non\-]critical\fP
346

Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
347
348
349
350
351
352
353
When the 
.B 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.
354

355
356
357
358
359
When the
.B prescriptive
flag is used (the default), operations fail with
\fIinappropriateAuthentication\fP
for those identities whose assertion is not allowed by the
360
.B idassert\-authzFrom
361
362
patterns.
If the 
363
.B non\-prescriptive
364
365
flag is used, operations are performed anonymously for those identities 
whose assertion is not allowed by the
366
.B idassert\-authzFrom
367
368
patterns.

Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
369
370
371
372
373
374
375
When the
.B proxy\-authz\-non\-critical
flag is used (the default), the proxyAuthz control is not marked as critical,
in violation of RFC 4370.  Use of
.B proxy\-authz\-critical
is recommended.

Howard Chu's avatar
Howard Chu committed
376
377
378
379
380
The TLS settings default to the same as the main slapd TLS settings,
except for
.B tls_reqcert
which defaults to "demand".

381
The identity associated to this directive is also used for privileged
382
383
operations whenever \fBidassert\-bind\fP is defined and \fBacl\-bind\fP
is not.  See \fBacl\-bind\fP for details.
384

385
This directive obsoletes
386
387
388
.BR idassert\-authcDN ,
.BR idassert\-passwd ,
.BR idassert\-mode ,
389
and
390
.BR idassert\-method .
Pierangelo Masarati's avatar
Pierangelo Masarati committed
391
.RE
392

Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
.TP
.B idassert-passthru <authz-regexp>
if defined, selects what
.I local
identities bypass the identity assertion feature.
Those identities need to be known by the remote host.
The string
.B <authz-regexp>
follows the rules defined for the
.I authzFrom
attribute.
See 
.BR slapd.conf (5),
section related to
.BR authz\-policy ,
for details on the syntax of this field.


411
.TP
412
.B idle\-timeout <time>
413
414
415
This directive causes a cached connection to be dropped an recreated
after it has been idle for the specified time.

416
417
418
419
420
421
422
.TP
.B keepalive  <idle>:<probes>:<interval>
The
.B keepalive
parameter sets the values of \fIidle\fP, \fIprobes\fP, and \fIinterval\fP
used to check whether a socket is alive;
.I idle
423
is the number of seconds a connection needs to remain idle before TCP
424
425
426
427
428
429
430
431
432
433
434
starts sending keepalive probes;
.I probes
is the maximum number of keepalive probes TCP should send before dropping
the connection;
.I interval
is interval in seconds between individual keepalive probes.
Only some systems support the customization of these values;
the
.B keepalive
parameter is ignored otherwise, and system-wide settings are used.

435
.TP
436
.B network\-timeout <time>
437
438
439
440
441
442
Sets the network timeout value after which
.BR poll (2)/ select (2) 
following a 
.BR connect (2) 
returns in case of no activity.
The value is in seconds, and it can be specified as for
443
.BR idle\-timeout .
444

Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
445
446
447
448
449
450
451
.TP
.B norefs <NO|yes>
If
.BR yes ,
do not return search reference responses.
By default, they are returned unless request is LDAPv2.

452
453
454
455
456
457
458
.TP
.B omit-unknown-schema <NO|yes>
If
.BR yes ,
do not return objectClasses or attributes that are not known to the local server.
The default is to return all schema elements.

Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
459
460
461
462
463
464
465
466
467
468
469
.TP
.B noundeffilter <NO|yes>
If
.BR yes ,
return success instead of searching if a filter is undefined or contains
undefined portions.
By default, the search is propagated after replacing undefined portions
with
.BR (!(objectClass=*)) ,
which corresponds to the empty result set.

470
471
.TP
.B onerr {CONTINUE|stop}
472
This directive allows one to select the behavior in case an error is returned
473
474
475
476
by the remote server during a search.
The default, \fBcontinue\fP, consists in returning success.
If the value is set to \fBstop\fP, the error is returned to the client.

477
478
479
480
481
482
483
484
.TP
.B protocol\-version {0,2,3}
This directive indicates what protocol version must be used to contact
the remote server.
If set to 0 (the default), the proxy uses the same protocol version 
used by the client, otherwise the requested protocol is used.
The proxy returns \fIunwillingToPerform\fP if an operation that is 
incompatible with the requested protocol is attempted.
Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
485

Pierangelo Masarati's avatar
Pierangelo Masarati committed
486
.TP
487
.B proxy\-whoami {NO|yes}
488
489
490
491
492
493
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.
494

495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
.TP
.B quarantine <interval>,<num>[;<interval>,<num>[...]]
Turns on quarantine of URIs that returned
.IR LDAP_UNAVAILABLE ,
so that an attempt to reconnect only occurs at given intervals instead
of any time a client requests an operation.
The pattern is: retry only after at least
.I interval
seconds elapsed since last attempt, for exactly
.I num
times; then use the next pattern.
If
.I num
for the last pattern is "\fB+\fP", it retries forever; otherwise, 
no more retries occur.
The process can be restarted by resetting the \fIolcDbQuarantine\fP
attribute of the database entry in the configuration backend.

513
.TP
514
.B rebind\-as\-user {NO|yes}
515
If this option is given, the client's bind credentials are remembered
516
517
for rebinds, when trying to re-establish a broken connection,
or when chasing a referral, if 
518
.B chase\-referrals
519
520
is set to
.IR yes .
521

522
523
524
525
526
527
528
.TP
.B session\-tracking\-request {NO|yes}
Adds session tracking control for all requests.
The client's IP and hostname, and the identity associated to each request,
if known, are sent to the remote server for informational purposes.
This directive is incompatible with setting \fIprotocol\-version\fP to 2.

529
530
531
532
.TP
.B single\-conn {NO|yes}
Discards current cached connection when the client rebinds.

533
.TP
534
.B t\-f\-support {NO|yes|discover}
535
enable if the remote server supports absolute filters
536
(see \fIRFC 4526\fP for details).
537
538
If set to
.BR discover ,
Hallvard Furuseth's avatar
Hallvard Furuseth committed
539
support is detected by reading the remote server's root DSE.
540

541
.TP
542
.B timeout [<op>=]<val> [...]
543
This directive allows one to set per-operation timeouts.
544
545
Operations can be

546
\fB<op> ::= bind, add, delete, modrdn, modify, compare, search\fP
547

548
The overall duration of the \fBsearch\fP operation is controlled either
549
550
by the \fBtimelimit\fP parameter or by server-side enforced
time limits (see \fBtimelimit\fP and \fBlimits\fP in
551
.BR slapd.conf (5)
552
for details).
553
554
This \fBtimeout\fP parameter controls how long the target can be 
irresponsive before the operation is aborted.
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
Timeout is meaningless for the remaining operations,
\fBunbind\fP and \fBabandon\fP, which do not imply any response,
while it is not yet implemented in currently supported \fBextended\fP 
operations.
If no operation is specified, the timeout \fBval\fP affects all
supported operations.

Note: if the timelimit is exceeded, the operation is cancelled
(according to the \fBcancel\fP directive);
the protocol does not provide any means to rollback operations,
so the client will not be notified about the result of the operation,
which may eventually succeeded or not.
In case the timeout is exceeded during a bind operation, the connection
is destroyed, according to RFC4511.

Note: in some cases, this backend may issue binds prior
to other operations (e.g. to bind anonymously or with some prescribed
572
identity according to the \fBidassert\-bind\fP directive).
573
574
In this case, the timeout of the operation that resulted in the bind
is used.
575

Howard Chu's avatar
Howard Chu committed
576
577
.HP
.hy 0
578
.B tls {none|[try\-]start|[try\-]propagate|ldaps}
579
.B [starttls=no]
Howard Chu's avatar
Howard Chu committed
580
581
582
583
584
.B [tls_cert=<file>]
.B [tls_key=<file>]
.B [tls_cacert=<file>]
.B [tls_cacertdir=<path>]
.B [tls_reqcert=never|allow|try|demand]
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
585
.B [tls_cipher_suite=<ciphers>]
Howard Chu's avatar
Howard Chu committed
586
587
.B [tls_crlcheck=none|peer|all]
.RS
588
589
590
591
592
593
594
Specify TLS settings for regular connections.

The first parameter only applies to \fBldap://\fP connections and so
at the moment, \fBnone\fP and \fBldaps\fP are equivalent.

With \fBpropagate\fP, the proxy issues StartTLS operation only if
the original connection has a TLS layer set up.
595
The \fBtry\-\fP prefix instructs the proxy to continue operations
596
if the StartTLS operation failed; its use is \fBnot\fP recommended.
597

Howard Chu's avatar
Howard Chu committed
598
599
600
The TLS settings default to the same as the main slapd TLS settings,
except for
.B tls_reqcert
601
602
which defaults to "demand" and
.B starttls
603
which is overshadowed by the first keyword and thus ignored.
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
604
.RE
Howard Chu's avatar
Howard Chu committed
605

606
.TP
607
.B use\-temporary\-conn {NO|yes}
608
609
610
611
612
when set to 
.BR yes ,
create a temporary connection whenever competing with other threads
for a shared one; otherwise, wait until the shared connection is available.

613
.SH BACKWARD COMPATIBILITY
614
615
616
The LDAP backend has been heavily reworked between releases 2.2 and 2.3,
and subsequently between 2.3 and 2.4.
As a side-effect, some of the traditional directives have been
617
618
deprecated and should be no longer used, as they might disappear
in future releases.
619
620

.TP
621
.B acl\-authcDN "<administrative DN for access control purposes>"
622
623
624
625
Formerly known as the
.BR binddn ,
it is the DN that is used to query the target server for acl checking;
it is supposed to have read access on the target server to attributes used
626
627
628
on the proxy for acl checking.
There is no risk of giving away such values; they are only used to
check permissions.
629

630
.B The acl\-authcDN identity is by no means implicitly used by the proxy 
631
.B when the client connects anonymously.
632
The
633
.B idassert\-*
634
635
feature can be used (at own risk) for that purpose instead.

636
637
638
This directive is obsoleted by the
.B binddn
arg of
639
.B acl\-bind
640
when \fIbindmethod\fP=\fBsimple\fP, and will be dismissed in the future.
641
642

.TP
643
.B acl\-passwd <password>
644
645
646
Formerly known as the
.BR bindpw ,
it is the password used with the above
647
.B acl\-authcDN
648
649
directive.
This directive is obsoleted by the
650
.B credentials
651
arg of
652
.B acl\-bind
653
when \fIbindmethod\fP=\fBsimple\fP, and will be dismissed in the future.
654
655

.TP
656
.B idassert\-authcDN "<administrative DN for proxyAuthz purposes>"
657
658
DN which is used to propagate the client's identity to the target
by means of the proxyAuthz control when the client does not
Hallvard Furuseth's avatar
Hallvard Furuseth committed
659
belong to the DIT fragment that is being proxied by back-ldap.
660
661
662
This directive is obsoleted by the
.B binddn
arg of
663
.BR idassert\-bind
664
when \fIbindmethod\fP=\fBsimple\fP, and will be dismissed in the future.
665
666

.TP
667
.B idassert\-passwd <password>
668
Password used with the
669
.B idassert\-authcDN
670
above.
671
672
This directive is obsoleted by the
.B crendentials
673
arg of
674
.B idassert\-bind
675
when \fIbindmethod\fP=\fBsimple\fP, and will be dismissed in the future.
676
677

.TP
678
.B idassert\-mode <mode> [<flags>]
679
680
681
defines what type of
.I identity assertion
is used.
682
683
684
This directive is obsoleted by the
.B mode
arg of 
685
.BR idassert\-bind ,
686
and will be dismissed in the future.
687
688

.TP
689
.B idassert\-method <method> [<saslargs>]
690
691
692
This directive is obsoleted by the
.B bindmethod
arg of
693
.BR idassert\-bind ,
694
and will be dismissed in the future.
695

696
697
698
699
700
701
.TP
.B port <port>
this directive is no longer supported.  Use the 
.B uri
directive as described above.

702
703
704
705
706
707
.TP
.B server <hostname[:port]>
this directive is no longer supported.  Use the 
.B uri
directive as described above.

708
.TP
Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
709
710
711
712
.B suffixmassage, map, rewrite*
These directives are no longer supported by back-ldap; their 
functionality is now delegated to the
.B rwm
713
714
715
716
717
overlay.  Essentially, add a statement

.B overlay rwm

first, and prefix all rewrite/map statements with
718
.B rwm\-
719
720
to obtain the original behavior.
See
721
.BR slapo\-rwm (5)
Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
722
for details.
723
724
725
726
727
.\" However, to ease update from existing configurations, back-ldap still 
.\" recognizes them and automatically instantiates the
.\" .B rwm
.\" overlay if available and not instantiated yet.
.\" This behavior may change in the future.
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743

.SH ACCESS CONTROL
The
.B ldap
backend does not honor all ACL semantics as described in
.BR slapd.access (5).
In general, access checking is delegated to the remote server(s).
Only
.B read (=r)
access to the
.B entry
pseudo-attribute and to the other attribute values of the entries
returned by the
.B search
operation is honored, which is performed by the frontend.

744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
.SH OVERLAYS
The LDAP backend provides basic proxying functionalities to many overlays.
The 
.B chain
overlay, described in
.BR slapo\-chain (5),
and the
.B translucent
overlay, described in
.BR slapo\-translucent (5),
deserve a special mention.

Conversely, there are many overlays that are best used in conjunction
with the LDAP backend.
The
.B proxycache 
overlay allows caching of LDAP search requests (queries) 
in a local database.
See 
.BR slapo\-pcache (5)
for details.
The
.B rwm
overlay provides DN rewrite and attribute/objectClass mapping
capabilities to the underlying database.
769
See 
770
.BR slapo\-rwm (5)
771
for details.
772

773
.SH FILES
774
.TP
775
ETCDIR/slapd.conf
776
default slapd configuration file
777
778
.SH SEE ALSO
.BR slapd.conf (5),
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
779
.BR slapd\-config (5),
780
.BR slapd\-meta (5),
781
.BR slapo\-chain (5),
782
.BR slapo\-pcache (5),
Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
783
.BR slapo\-rwm (5),
784
.BR slapo\-translucent (5),
785
786
.BR slapd (8),
.BR ldap (3).
Howard Chu's avatar
Howard Chu committed
787
788
.SH AUTHOR
Howard Chu, with enhancements by Pierangelo Masarati