Sun Java logo     Previous      Contents      Next     

Sun logo
Sun Java System Identity Manager 6.0 Resources Reference 2005Q4M3 


LDAP

Identity Manager provides the following resource adapters for supporting Lightweight Directory Access Protocol (LDAP) v3:

GUI Name

Class Name

LDAP

com.waveset.adapter.LDAPResourceAdapter

LDAP Listener Active Sync

com.waveset.adapter.LDAPListenerActiveSyncAdapter

The LDAP adapter provides provisioning services for standard LDAP installations.It can also read the replication changelog of an LDAP server and apply those changes to Identity Manager users or custom workflows.

The LDAP Listener Active Sync adapter uses an LDAP Listener to discover changes as they are made on the server, queues them, and processes them at the scheduling interval. The listener is primarily intended for demos as it requires the Identity Manager server to be connected at all times. Any changes made when the adapter is not running will be lost.


Note  The LDAP ChangeLog Active Sync adapter has been deprecated. All functionality of this adapter has been merged into the LDAP resource adapter. Although existing instances of resources using the deprecated adapter will still function, new instances of resources using the LDAP ChangeLog Active Sync adapter can no longer be created.

Resource Configuration Notes

To setup a Sun Java™ System Directory Server resource for use with the LDAP adapter, you must configure the server to enable the change log and enable tracking of modifier information. This is done from the directory server configuration tab.

  1. Click on the Replication folder, then select the “Enable change log” box. For 5.0 and later servers, you must also enable the RetroChangelog Snapin. On the configuration tab go to the plugin object, select the Retro change log plugin and enable it.
  2. To verify that the server is configured to maintain special attributes for newly created or modified entries, in the Directory Server console, click Configuration > select the root entry in the navigation tree in the left pane.
  3. Click Settings > verify that the Track Entry Modification Times box is checked.

The server adds the following attributes to a newly created or modified entry to determine if an event was initiated from Identity Manager.

Identity Manager Installation Notes

No additional installation procedures are required on this resource.

Usage Notes

This section provides information related to using the LDAP resource adapter, which is organized into the following sections:

For information about enabling password synchronization on an LDAP resource, see Synchronizing LDAP Passwords on page 4-1.

General Notes

It is recommend that you create an Identity Manager service account to connect to LDAP, rather than using the administrator account CN=Directory Manager. Use your LDAP Directory Server management tool to set permissions via an ACI (access control instructions) at each base context.

Set the permissions in the ACI based on the source. If the adapter is connecting to an authoritative source, then set read, search, and possibly compare permissions only. If the adapter is used to write back, then you will need to set write and possibly delete permissions.


Note  If the account will be used for the monitoring the changelog, an ACI should also be created on cn=changelog. The permissions should be set to read and search only, because you cannot write or delete changelog entries.

For the Listener adapter, the changes by users listed in the “Filter changes by” resource parameter will be ignored. Add the User DN used by any adapter to make changes through Identity Manager. This avoids loops where a change is made through Identity Manager, and then the change is detected and reapplied. If this field is blank, changes from any administrator are processed and will be filtered by the Identity Manager provisioning engine if they are unnecessary.

The sources.ResourceName.hosts property in the waveset.properties file can be used to control which host or hosts in a cluster will be used to execute the synchronization portion of an Active Sync resource adapter. ResourceName must be replaced with the name of the Resource object.

Virtual List View Support


Note  This discussion assumes that Identity Manager connects to the LDAP resource as a non-RootDN user. If you are connecting as a RootDN user, the procedures described are applicable, but additional LDAP attribute values might be possible. Consult the Directory Server documentation for more information.

In Directory Server, the nsLookThroughLimit and nsslapd-sizelimit attributes define how many LDAP entries can be searched and returned, respectively. The default value for nsLookThroughLimit is 5,000, while the default for nsslapd-sizelimit is 2,000. Both attributes can be set to -1 to disable limits. You must restart Directory Server if you change the value of these attributes.

It is not always desirable to change the default values. To improve performance on LDAP searches, you can enable the LDAP Virtual List View (VLV) control. VLV returns partial results of a search, rather than returning all results at once.

The Use Blocks resource attribute enables Identity Manager to stay within the query result size limit by using the VLV control. The Block Count resource attribute specifies how many users to return, but this value must be less than or equal to the value set in the nsslapd-sizelimit attribute.

A VLV index (also known as a browsing index) must be created, or the nsslapd-sizelimit size limit will still be in effect. Using a VLV index significantly improves the performance of iterating over accounts, so you should set up the index if you plan to reconcile, load from resource, or export to file frequently.

Refer to the Directory Server documentation for detailed instructions on creating a VLV index. The basic process follows:

  1. Create a vlvsearch object with the following properties:
  2. vlvbase: YourBaseContext

    vlvfilter: (&(objectclass=top)(objectclass=person)
    (objectclass=organizationalPerson) (objectclass=inetorgperson))

    vlvscope: 2

    The vlvbase attribute must match the value specified in the Base Context resource attribute. The vlvfilter attribute must contain the classes specified in the Object Classes resource attribute in the format shown. The vlvscope value of 2 indicates subtree searches.

  3. Create a vlvindex component as a subobject of vlvsearch. The vlvsort attribute must be set to uid.
  4. Build the VLV index using the vlvindex command or other mechanism.
  5. Set permissions via access control instructions (ACI) for the following:
    • vlvsearch object
    • vlvindex
    • the directory the index was created for.

To set up VLV for the changelog, use the following general steps. Refer to the Directory Server documentation for detailed instructions.

  1. If you have not already done so, create a browsing index for the changelog. If you use the Directory Server user interface, then by default, a vlvsearch object named “MCC cn=changelog” and a vlvindex object named “SN MCC cn=changelog” will be created.
  2. Set permissions via access control instructions (ACI) so that the Identity Manager account has read, compare, and search rights for the following:
    • The changelog (cn=changelog)
    • The vlvsearch object (cn=”MCC cn=changelog”,cn=config,cn=ldbm)
    • The vlvindex object (“SN MCC cn=changelog”,cn=config,cn=ldbm)

    • Note  On some versions of Directory Server, the changelog nsLookThroughLimit attribute has a hard-coded value of 5,000. To avoid hitting the changelog lookthrough limit, restrict the maximum number of changelog entries that are kept on the server to less than 5,000. To avoid losing changelog entries, set the polling frequency for the adapter to a short interval.

Active Sync Configuration

Before Identity Manager 5.5, the LDAP Active Sync adapters used the Process to run with changes field to determine which process to launch when a change was detected. The process specified in this field is now specified in the Active Sync Resolve Process Rule.

In addition, before Identity Manager 5.5, if the Process deletes as updates check box was selected, Identity Manager would disable a deleted Identity Manager user as well as all resource accounts and mark the user for later deletion. By default, this check box was selected. In Identity Manager 5.5 and beyond, this functionality is configured by setting the Delete Rule set to None.

If the checkbox was previously deselected, then the Delete Rule will be set to ActiveSync has isDeleted set.

Security Notes

This section provides information about supported connections and privilege requirements.

Supported Connections

Identity Manager uses Java Naming and Directory Interface (JNDI) over TCP/IP or SSL to communicate with the LDAP adapter.

Required Administrative Privileges

If the value cn=Directory Manager is specified in the User DN resource parameter, then the Identity Manager administrator has the necessary permissions to manage LDAP accounts. If a different distinguished name is specified, that user must have the ability to read, write, delete, and add users.

Provisioning Notes

The following table summarizes the provisioning capabilities of this adapter.

Feature

Supported?

Enable/disable account

Yes

Rename account

Yes

Pass-through authentication

Yes

Before/after actions

No

Data loading methods

  Import directly from resource

  Reconcile with resource

Account Attributes

The syntax (or type) of an attribute usually determines whether the attribute is supported. In general, Identity Manager supports boolean, string, and integer syntaxes. Binary strings and similar syntaxes are not supported.

The following table lists the supported LDAP syntaxes. Other LDAP syntaxes might be supported, as long as it is boolean, string, or integer in nature,

LDAP Syntax

Attribute Type

Object ID

Boolean

Boolean

1.3.6.1.4.1.1466.115.121.1.7

Country String

String

1.3.6.1.4.1.1466.115.121.1.11

DN

String

1.3.6.1.4.1.1466.115.121.1.12

Directory String

String

1.3.6.1.4.1.1466.115.121.1.15

Generalized Time

String

1.3.6.1.4.1.1466.115.121.1.24

IA5 String

String

1.3.6.1.4.1.1466.115.121.1.26

Integer

Int

1.3.6.1.4.1.1466.115.121.1.27

Postal Address

String

1.3.6.1.4.1.1466.115.121.1.41

Printable String

String

1.3.6.1.4.1.1466.115.121.1.44

Telephone Number

String

1.3.6.1.4.1.1466.115.121.1.50

Default Account Attributes

The following attributes are displayed on the Account Attributes page for the LDAP resource adapters.


Note  All attributes are of type String unless otherwise noted.

Identity System Attribute

Resource
User Attribute

LDAP Syntax

Description

accountId

uid

Directory string

User ID

accountId

cn

Directory string

Required.
The user’s full name.

firstname

givenname

Directory string

The user’s first (given) name.

lastname

sn

Directory string

Required.
The user’s last name (surname).

modifyTimeStamp

modifyTimeStamp

Generalized time

Indicates when a user entry was modified.

By default, this attribute is displayed for the LDAP Listener ActiveSync adapter only.

objectClass

objectClass

OID

The object class or classes of the account

This attribute is required for Active Sync to process updates correctly.

password

userPassword

Octet string

Encrypted.
The user’s password.

Group Management Attributes

The account attributes in the following table are not displayed in the schema by default. You must add the attribute to the schema map before you can manage groups.

Identity System Attribute

Resource
User Attribute

LDAP Syntax

Description

user defined

ldapGroups

N/A

A list of distinguished names of groups the LDAP user is a member of.

The resource attribute Group Member Attr specifies the attribute of the LDAP group entry that will be updated to contain the distinguished name of the user. The default value for the Group Member Attr is uniquemember.

user defined

posixGroups

N/A

A list of distinguished names of posixGroups entries the LDAP user is a member of.

For an account to be assigned membership in a Posix group, it must have a value for the uid LDAP attribute. The memberUid attribute of the posixGroup entries will be updated to contain the uid of the user.

Note the following behavior when either posixGroups or ldapGroups is defined in the schema map:

Person Object Class

The following table lists additional supported attributes that are defined in the LDAP Person object class. Some attributes defined in the Person object class are displayed by default.

Resource
User Attribute

LDAP Syntax

Attribute Type

Description

description

Directory string

String

A short informal explanation of special interests of a person

seeAlso

DN

String

A reference to another person.

telephoneNumber

Telephone number

String

Primary telephone number

Organizationalperson Object Class

The following table lists additional supported attributes that are defined in the LDAP Organizationalperson object class. This object class can also inherit attributes from the Person object class.

Resource User Attribute

LDAP Syntax

Attribute Type

Description

destinationIndicator

Printable string

String

This attribute is used for the telegram service.

facsimileTelephoneNumber

Facsimile telephone number

String

The primary fax number.

internationaliSDNNumber

Numeric string

String

Specifies an International ISDN number associated with an object.

l

Directory string

String

The name of a locality, such as a city, county or other geographic region

ou

Directory string

String

The name of an organizational unit

physicalDeliveryOfficeName

Directory string

String

The office where deliveries are routed to.

postalAddress

Postal address

String

The office location in the user's place of business.

postalCode

Directory string

String

The postal or zip code for mail delivery.

postOfficeBox

Directory string

String

The P.O. Box number for this object.

preferredDeliveryMethod

Delivery method

String

The preferred way to deliver to addressee

registeredAddress

Postal Address

String

A postal address suitable for reception of telegrams or expedited documents, where it is necessary to have the recipient accept delivery.

st

Directory string

String

State or province name.

street

Directory string

String

The street portion of the postal address.

teletexTerminalIdentifier

Teletex Terminal Identifier

String

The teletex terminal identifier for a teletex terminal associated with an object

telexNumber

Telex Number

String

The telex number in the international notation

title

Directory string

String

Contains the user's job title. This property is commonly used to indicate the formal job title, such as Senior Programmer, rather than occupational class, such as programmer. It is not typically used for suffix titles such as Esq. or DDS.

x121Address

Numeric string

String

The X.121 address for an object.

inetOrgPerson Object Class

The following table lists additional supported attributes that are defined in the LDAP inetOrgPerson object class. This object class can also inherit attributes from the organizationalPerson object class.

Resource User Attribute

LDAP Syntax

Attribute Type

Description

businessCategory

Directory string

String

The kind of business performed by an organization.

carLicense

Directory string

String

Vehicle license or registration plate

departmentNumber

Directory string

String

Identifies a department within an organization

displayName

Directory string

String

Preferred name of a person to be used when displaying entries

employeeNumber

Directory string

String

Numerically identifies an employee within an organization

employeeType

Directory string

String

Type of employment, such as Employee or Contractor

homePhone

Telephone number

String

The user’s home telephone number.

homePostalAddress

Postal address

String

The user’s home address.

initials

Directory string

String

Initials for parts of the user's full name

labeledURI

Directory string

String

A Universal Resource Indicator (URI) and optional label associated with the user.

mail

IA5 string

String

One or more email addresses.

manager

DN

String

Directory name of the user's manager.

mobile

Telephone number

String

The user’s cell phone number.

o

Directory string

String

The name of an organization.

pager

Telephone number

String

The user’s pager number.

preferredLanguage

Directory string

String

Preferred written or spoken language for a person.

roomNumber

Directory string

String

The user’s office or room number.

secretary

DN

String

Directory name of the user’s administrative assistant.

The following attributes are not supported:

Resource Object Management

Identity Manager supports the following LDAP objects by default. Any string-, integer-, or boolean-based attributes can also be managed.

Resource Object

Features Supported

Attributes Managed

Group

Create, update, delete, rename, saveas

cn, description, owner, uniqueMember

Posix Group

Create, update, delete, rename, saveas

cn, description, gid, memberUid

Domain

Find

dc

Organizational Unit

Create, delete, rename, saveas, find

ou

Organization

Create, delete, rename, saveas, find

o

The LDAP resource adapter provides management of posixGroup entries. By default, the list of accounts that are available to be assigned to a posixGroup have the posixAccount object class. The LDAP Create Posix Group Form and LDAP Update Posix Group From can be customized to list accounts other than posixAccounts. However, these accounts must have a uid attribute defined to be a member of a posixGroup.

Identity Template

The default identity template is

uid=$accountId$,ou=EngUsers,dc=support,dc=waveset,dc=com

You must replace the default template with a valid value.

Sample Forms

Built-in

Also Available

The LDAPGroupCreateExt.xml and LDAPGroupUpdateExt.xml forms allow non-unique member names.

Troubleshooting

Use the Identity Manager debug pages to set trace options on one or more of the following classes:



Previous      Contents      Next     


Copyright 2006 Sun Microsystems, Inc. All rights reserved.