LDAP Configuration FAQ
Calyx RIM has restrictions in configuring to LDAP.
| Question | Answer |
|---|---|
| Can I create an ldap user if there is a forward slash (/) character in the name? | Yes. If there is a forward slash (/) character in the ldap lookup user (user.ldap.user)
name, remember that the
"LDAPTrimQuotes=true" must be added to the insight.var file to properly add users with names containing special characters.
|
| How do I add Users/Groups to the system when no users have been configured to log in to Calyx RIM? | In the
insight.var file, there is a property
user.default.admin. This property specifies the DN of a user or group of users that are allowed to login and have full admin privileges. Use the user/group specified by this property to initially add users and groups to the system.
|
| How do I configure multiple LDAP domains? |
You can specify domains by adding properties of the form
|
| How can I configure Calyx RIM to use anonymous binding? | If the properties
user.ldap.user
and
user.ldap.pass
are not present or commented out in the
insight.var file, anonymous binding will be used by default.
|
| My company does not support binding to CN, what are my options? |
Calyx RIM supports changing the LDAP type which we use to obtain the username and groupname (by default we use the CN of the objects returned by the relevant search query). We also support binding to these types (in cases supported by LDAP and where the type is guaranteed to have a unique value for each user/group in the customer's implementation). You can change the default types by specifying the following in the
|
| My company uses custom objectClasses to represent Users and Groups. How do I make Calyx RIM aware of them? |
Calyx RIM provides two properties for specifying the LDAP search criteria to use in retrieving Users and Groups. The defaults are specified below, and can be overridden by specifying the following properties in the
|
| Q: What additional LDAP configuration is provided? | ldap.connection.timeout=5000
override default ldap ports these properties can also be overridden on a domain basis
|
| Authentication against Active Directory is slow, how can I speed it up? |
You may be using
user.ldap.object.attribute=objectCategory
|
Change Password
| Question | Answer |
|---|---|
| Q: How do I configure change password? SSL? |
Importing root certificates: To be able to use secure connections, Calyx RIM must be able to validate the certificate presented by an LDAP directory server. To do this you must import the root certificate (the Certificate Authority's certificate) into the keystore (the cacerts file) for the Java Runtime Environment (JRE) used by Calyx RIM. Run the following command:
We recommend you use the
|
Generating the Key Pair for the Client Certificate
Run the following command to generate the key pair for the client certificate:
install_dir/bin/jre/bin/keytool -genkey \ -keyalg rsa \ -keystore install_dir/var/info/certs/sslkeystore \ -storepass 123456 \ -alias alias \ -keypass 123456
Generating the Certificate Signing Request for the Client Certificate
Run the following command to generate the Certificate Signing Request for the client certificate:
install_dir/bin/jre/bin/keytool -certreq \ -keystore install_dir/var/info/certs/sslkeystore \ -storepass 123456 \ -alias alias \ -keypass 123456 -file path_to_CSR
The alias must be the same as the alias used when generating the key pair. Aliases are case-insensitive.
Installing the Client Certificate
Run the following command to install the client certificate on the Calyx RIM server:
Q: What properties can I configure in
insight.var? What do they do?
A: Properties, descriptions, and default values for
insight.var:
| Property | Description | Default value |
|---|---|---|
| user.ldap.base | The Base DN to search from when no domains are defined | |
| user.ldap.server | The address of the LDAP server | |
| user.source | This defines the authentication of the source | |
| user.ldap.user | The DN of a user to use to log into this LDAP server. This user must have read access and search capabilities to all of the items you want to access from LDAP | Will attempt to bind anonymously if this is not present |
| user.ldap.pass | The password for the user specified in user.ldap.user | |
| user.default.admin | The default administrator account for logging in and setting up security the first time | objectClass |
| ldap.connection.timeout | The timeout in ms for obtaining an LDAP connection | network timeout time |
| ldap.domain. {DOMAIN_NAME} | The Base DN to search from for the domain specified by {DOMAIN_NAME}. Any of the following properties can add a domain name to make the property specific to that domain | No LDAP reserved characters can be used in the {DOMAIN_NAME} value |
| ldap.group.account.type | The type of attribute to search for groups | cn |
| ldap.user.account.type | The type of attribute to search for users | cn |
| ldap.group.object.search | The search to use to find groups | (objectClass=Group) |
| ldap.user.object.search | The search to use to find users | (objectClass=User)(objectClass=userProxy) |
| ldap.port | The LDAP port to use | 389 |
| ldap.secure.port | The secure LDAP port to use (for changing passwords) | 636 |
| user.ldap.object.attribute | The LDAP attribute to use when searching by object type | objectClass |
| user.ldap.groupObject.attribute | The object type of Groups | Group |
| user.ldap.groupChild.attribute | The LDAP attribute that denotes group Children | member |
| user.ldap.groupParent.attribute | The LDAP attribute that denotes group Parents | memberOf |
| user.ldap.groupsForUser.search | The LDAP search that should be used to find the groups that a user belongs to. This search supports substitution values | By default we just look up the DN of each item listed in the attribute specified by the groupParent attribute |
| ldap.group.name.attribute | The LDAP attribute to use to obtain a groups name | name |
Q: What substitution values are available?
A: Available substitution values:
| Expression | Substitution Value |
|---|---|
$LDAP{USER_DN}
|
The full distinguished name of the queried user |