Administrator

Directory Service (LDAP/AD) Configuration Properties

Configure the Directory Service (LDAP/AD) provider to authenticate device applications and Management Cockpit administration logins.

Description

Administrators can use Management Cockpit to configure the Directory Service (LDAP/AD) provider. Configuration properties are saved to the <SMP_HOME>\Server\configuration\com.sap.mobile.platform.server.security\CSI directory.

Directory Service (LDAP/AD) provides authentication services, including certificate authentication.

Use this table to help you configure properties for one or more of the supported LDAP providers. When configuring providers or general server properties in Management Cockpit, note that properties and values can vary, depending on which provider or server type you configure.

Directory Service (LDAP/AD) Properties

Table 68: Directory Service (LDAP/AD) General Properties
Property Default Value Description
Control Flag Optional
Indicates how the security provider is used in the login sequence.
  • Optional – the authentication provider is not required, and authentication proceeds down the authentication provider list, regardless of success or failure.
  • Sufficient – the authentication provider is not required, and subsequent behavior depends on whether authentication succeeds or fails.
  • Required – the authentication provider is required, and authentication proceeds down the authentication provider list.
  • Requisite – the authentication provider is required, and subsequent behavior depends on whether authentication succeeds or fails.
Description None Differentiate between multiple instances of the same provider type; for example, when you have multiple authentication providers of the same type stacked in a security profile, and each targets a different repository.
Server Type None (Optional) Type of LDAP server to which you are connecting:
  • sunone5 – SunOne 5.x OR iPlanet 5.x
  • msad2k – Microsoft Active Directory, Windows 2000
  • openldap – OpenLDAP Directory Server 2.x
The value you choose establishes default values for these other authentication properties:
  • Role Filter
  • User Role Membership Attributes
  • Role Member Attributes
  • Authentication Filter
  • Digest MD5 Authentication
  • Use User Account Control
Provider URL ldap://localhost:389 The URL used to connect to the LDAP server. Without this URL configured, SAP Mobile Platform Server cannot contact your server. Use the default value if the server is either:
  • Located on the same machine as your product that is enabled with the common security infrastructure, or
  • Configured to use the default port (389).

Otherwise, use this syntax for setting the value:

ldap://<hostname>:<port>

Security Protocol None The protocol to use when connecting to the LDAP server. The specified value overrides the value of the java.naming.security.protocol property .

To use an encrypted protocol, use SSL instead of LDAP in the URL.

Bind DN None The user DN to bind when building the initial LDAP connection.

In many cases, the user may need read permission for all user records. If you do not set a value, anonymous binding is used, which works on most servers without additional configuration.

Bind Password None The password for Bind DN, which is used to authenticate a user. Bind DN and Bind Password separate the LDAP connection into units. See the note for Bind DN.

The Authentication Method property determines the bind method used for this initial connection.

Allow Null User Password False If set to true, a user can be authenticated using a null password. The existence of the specified user in the LDAP repository is verified as part of user authentication, but no attempt is made to bind the user credentials to the LDAP server.
Enable LDAP Connection Trace Disabled Determines whether LDAP connection tracing is enabled. The output is logged to a file in the temp directory. The location of the file is written to the server log.
Referral Ignore Determines the response when a referral is encountered. Valid values are dictated by LdapContext, for example, follow, ignore, throw.
Authentication Filter For most LDAP servers: (&amp;(uid={uid})(objectclass=person))

For Active Directory e-mail lookups: (&amp;(userPrincipalName={uid}) (objectclass=user)) [ActiveDirectory]

For Active Directory Windows user-name lookups: (&amp;(sAMAccountName={uid})(objectclass=user))

The filter to use when looking up a user name; it determines the LDAP entry that matches the supplied user name.

The string "{uid}" in the filter is replaced with the supplied user name.

Authentication Scope onelevel Determines whether the search for a user should be limited to the search base or expanded to include the subtree that is rooted at the search base. The supported values are:
  • onelevel
  • subtree

If you do not specify a value or if you specify an invalid value, the default value is used.

Authentication Search Base None The search base used to authenticate users. If this property is not configured, the value for Default Search Base is used.
Role Search Base None The search base used to retrieve lists of roles. If this property is not configured, the value for Default Search Base is used.

Setting the Role Search Base to the root in Active Directory (for example "DC=example,DC=com") may result in a PartialResultsException error when validating the configuration or authenticating a user. If users encounter the PartialResultsException, they should confirm they can reach example.com:389. The DNS lookup may successfully resolve example.com to an IP address, but port 389 may not be open with an Active Directory server listening on that port. In this case, add an entry to the hosts file (for example, systemroot\system32\drivers\etc\hosts or /etc/hosts) on the machine where SAP Mobile Platform is installed to resolve any communication error.

Skip Role Lookup

False

If set to true, the authenticated user is granted roles based on the User Role Membership Attributes property values. The Role Search Base and Role Filter properties are not used.
Role Scope onelevel Determines whether the role search is limited to the search base or expanded to include the subtree rooted at the search base. Supported values are:
  • onelevel
  • subtree

If you do not specify a value or if you specify an invalid value, the default value is used.

Role Filter For SunONE/iPlanet: (&amp;(objectclass=ldapsubentry) (objectclass=nsroledefinition))

For ActiveDirectory: (|(objectclass=groupofnames) (objectclass=group))

The role search filter.

This filter should, when combined with the role search base and role scope, return a complete list of roles within the LDAP server. There are several default values, depending on the chosen server type. If the server type is not chosen and this property is not initialized, no roles are available.

Role Member Attributes For OpenLDAP Server: member,uniquemember A comma-separated list of role attributes from which LDAP derives the DNs of users who have this role.

These values are cross-referenced with the active user to determine the user's role list. If you use LDAP groups as placeholders for roles, you may want to set this property.

A default value exists only for OpenLDAP Server.

User Role Membership Attributes For iPlanet/SunONE: nsRoleDN

For Active Directory: memberOf

For all others: none

The DNs for all the user's roles.

If the Skip Role Lookup property is set to false, these comma-delimited values are cross-referenced with the roles retrieved in Role Search Base and Role Filter to generate a list of the user's roles.

Table 69: Directory Service (LDAP/AD) Advanced Properties
Property Default Value Description
Initial Context Factory com.sun.jndi.ldap.LdapCtxFactory Determines the JNDI provider that the LDAP provider uses.
Authentication Method Simple The authentication method to use for all authentication requests into LDAP. Legal values are generally the same as those of the java.naming.security.authentication JNDI property. Choose one of:
  • simple – for clear-text password authentication.
  • DIGEST-MD5 – for more secure hashed password authentication. This method requires that the server use plain text password storage and only works with JRE 1.4 or later.
Digest MD5 Authentication Format DN

For OpenLDAP: User name

The DIGEST-MD5 bind authentication identity format.
Default Search Base None The LDAP search base that is used if no other search base is specified for authentication, roles, attribution and self registration:
  1. dc=<domainname>,dc=<tld>

    For example, a machine in sap.com domain would have a search base of dc=sap,dc=com.

  2. o=<company name>,c=<country code>

    For example, this might be o=SAP,c=us for a machine within the SAP organization.

Use User Account Control Attribute For Active Directory: true If true, detects the status of the user account (enabled, disabled, expired, password has expired, and so on).

Active Directory uses this attribute.

Role Name Attribute cn The attribute of the role entry used as the role name in SAP Mobile Platform. This is the role name displayed in the role list or granted to the authenticated user.
User Freeform Role Membership Attributes None The freeform role membership attribute list.

Users who have attributes in this comma-delimited list are automatically granted access to roles whose names are equal to the attribute value. For example, if the value of this property is department and user's LDAP record has the following values for the department attribute, { sales, consulting }, the user is granted roles whose names are sales and consulting.

LDAP Pool Max Active 8 The maximum number of concurrent LDAP connections allowed to the LDAP server.

A non-positive value indicates no limit. If this option is set for multiple LDAP providers, the value set by the first LDAP provider loaded takes precedence over all the others. When LDAP Pool Max Active is reached, any further attempts by the LDAP provider classes to borrow LDAP connections from the pool are blocked indefinitely until a new or idle object becomes available in the pool.

Connection pooling improves the LDAP provider's performance and resource utilization by managing the number of TCP connections established with configured LDAP servers. A separate pool is associated with different SAP Mobile Platform security profiles, ensuring that the LDAP connections in the connection pool for a particular security profile are isolated from any changes occurring outside this security configuration. A separate pool also ties the connection pool life cycle to that of the security profile.

Connect Timeout 0 The timeout, in milliseconds, when connecting to the LDAP server.

The property value sets the JNDI com.sun.jndi.ldap.connect.timeout property when attempting to establish a connection to a configured LDAP server. If the LDAP provider cannot establish a connection within the configured interval, it aborts the connection attempt. An integer less than or equal to zero results in the use of the network protocol's timeout value.

Read Timeout 0 The length of time, in milliseconds, the client waits for the server to respond to a read attempt after the initial connection to the server has been established.

The property values sets the JNDI com.sun.jndi.ldap.read.timeout property, when attempting to establish a connection to a configured LDAP server. If the LDAP provider does not receive an LDAP response within the configured interval, it aborts the read attempt. The read timeout applies to the LDAP response from the server after the initial connection is established with the server. An integer less than or equal to zero indicates no read timeout is specified.

Enable Certificate Authentication Disabled Determines whether certificate-authentication is enabled when this provider is configured with X.509 User Certificate.
Certificate Authentication Filter None The filter to use when authenticating the user with a certificate. The filter determines the LDAP entry that matches the supplied certificate encoded form.
Certificate Attributes None Comma-separated list of attributes in the certificate for authenticating a user; use instead of the certificate binary.
LDAP Attributes None Comma-separated list of attributes that map to certificate attributes; use to map LDAP entries to certificate values.
Unmapped Attribute Prefix LDAP Prefix assigned to unmapped LDAP attributes when moving them into the CSI namespace.

A period is added to the prefix, followed by the LDAP attribute name. For example, employeeNumber is converted to LDAP.employeeNumber.

Serialization Key None A unique configuration serialization key. Within a CSI configuration file, each LDAP configuration block must have a unique value. The default value is computed automatically based on the LDAP URL.

If multiple LDAP login providers are configured against the same LDAP URL, set this property to a unique value for each LDAP login provider to identify which configurations are active when serializing sessions. By default, the value of Provider URL configuration option is used.

key:value Pair None Attributes identified using an arbitrary name, where the key is the name, and the value is the content. Because SAP Mobile Platform does not make use of user attributes retrieved from LDAP, there is no need to set any custom properties.

To validate your settings, click Test Settings. A message reports either success or failure; if validation fails, invalid settings are highlighted.