Information for: DEVELOPERS   PARTNERS

Using LDAP with an Cloud Platform application

You can configure your Cloud Platform website to communicate with the LDAP (Lightweight Directory Access Protocol) server on your internal network and access the directory information it contains. Use LDAP only if you do not require a web-friendly single sign-on (SSO) system (such as SimpleSAML).

Install and enable the LDAP module

Make sure that your code repository contains a properly installed and enabled LDAP integration module for your application that matches your installed version of Drupal:

Get EIPs for your Cloud Platform environments (optional)

Depending on how your LDAP server is configured, you may need to whitelist your Cloud Platform Production or non-Production environments or both. Since the IP address of an Cloud Platform server instance can change at any time, this may require one or more static IP addresses, using Elastic IP (EIP) assignments. To get EIPs assigned to your Cloud Platform environment’s Drupal infrastructure, open an Acquia support ticket.

For more information, see Using an Elastic IP addresses.

Configure SSL/TLS certificate validation

The best practice in a production environment is to use SSL and certificate validation for communication between your LDAP server and your Cloud Platform website, as described in Configuring LDAPS. Initially, however, configure your system to not require certificate validation.

Turn off SSL/TLS certificate validation in ldap.conf

Create an ldap.conf file that includes this line:

TLS_REQCERT never

You can put this file anywhere that your application can access. The best place is in your application’s codebase, at the same level, but not in your application’s docroot. For example, you could create a directory named ldap and put the ldap.conf file there.

Specify the location of your ldap.conf file with an environment variable, LDAPCONF. For example, add a line like this to your settings.php file:

putenv('LDAPCONF=../ldap/ldap.conf');

Temporary alternative to creating a ldap.conf file

As a simpler alternative, instead of creating an ldap.conf file, you can add this line to your settings.php file, but it must be removed before enabling LDAP on your production website:

putenv('LDAPTLS_REQCERT=never');

This line instructs LDAP to ignore the certificate request when connecting to a remote LDAP server. Until the line is removed, your application will not bind with the remote server, though connection tests with openssl will appear successful.

Test your connection to the LDAP server

Test whether your application can connect to the LDAP server. Connect to your server with SSH, and then enter a command similar to the following:

openssl s_client -connect [ldapserver.address.com]:[port]

Final step - Set up secure communication

After you have confirmed that your website can connect to the LDAP server, set up secure communication with LDAPS, as described in Configuring LDAPS.