The LDAP Guys


Home        About        Pricing        Updates        Downloads        Key Relationships        Contact


OpenLDAP TechTip:
Translucent Overlay

Abstract

A directory schema is not a one-size-fits-all solution. Creating customized "views" of a directory can be an effective way to meet one-off requirements.

The Solution

The translucent overlay allows a server to present a modified view of a directory which resides on a remote server. All local search requests are first forwarded to the remote server; if an entry also exists in the local directory, any matching attributes will override those returned from the remote directory. Because entries in the local directory may be incomplete skeletons, schema checking is disabled for the local database.

For example, a regional office might have a different phone system than the corporate headquarters; an ldap directory in that regional office could proxy requests to the headquarters directory server and replace the telephoneNumber attribute for these users. Lookups within the regional office would return the "right" answer without any need for changes to the master directory.

Similarly, one workgroup might use a handful of additional attributes that aren't relevant to the rest of the company. The translucent overlay would allow this group to superimpose a skeleton directory containing their special attributes over the master corporate directory, eliminating the need to make changes to the main directory. A translucent server might also be useful for an internal applications group who could experiment with schema additions before company-wide deployment. Because the translucent proxy server is local, there is no need for access to the production server; similarly, any client which doesn't access the translucent server will see an unmodified directory.

The translucent overlay requires back-ldap in addition to the local backend database which holds the skeletal entries. As such, the configuration keywords documented in the slapd-ldap(5) manual page are necessary to configure access to the remote directory.

Typical Configuration

   modulepath /opt/symas/lib/openldap
   moduleload back_bdb.la
   moduleload translucent.la

   database bdb
   cachesize 10000
   suffix "dc=symas,dc=com"

   rootdn "cn=Manager,dc=symas,dc=com"
   rootpw Secret

   index default eq
   index objectClass,uid,dc,o,ou

   overlay translucent
   uri ldap://remote-server
   lastmod off
   binddn uid=bind-user,dc=symas,dc=com
   bindpw remote-secret
   map objectclass * *
   map attribute * *

Here, the local database (containing the skeletal entries which will be superimposed over the remote data) is bdb, while the remote server is specified using the uri, binddn, and bindpw keywords. The map directives shown here will cause objectClasses and attributeTypes to retain their values when proxied from the remote server.

Currently, the translucent overlay implements very simple-minded access controls: add, modrdn, and delete requests may only be made against the local database if bound as the root user. A modify request will first check to see whether the target entry exists in the remote database; if not, the request will fail. Otherwise, a skeleton of the entry will be stored in the local database. Search operations will be proxied to the remote database, after which any matching entries from the local database will be used to override individual attributes returned from the remote database.

The translucent_strict option, if specified, causes modify requests which attempt to delete non-existent attributes to result in an error; these modifications are otherwise silently ignored.

 

 

 

Home        About        Pricing        Updates        Downloads        Key Relationships        Contact


Copyright © 2001 - 2012, Symas Corporation.All rights reserved. The content on this page has been approved by Jordan H. Heyman, the Dog in "seven guys and a dog." No rabbits were harmed in the production of this Web site.