LDAP Authentication

Fire Insights can be configured to authenticate the user against LDAP. Users have to be added to Fire, before they can log into Fire and start using it.

The following configurations have to be set appropriately.

Sparkflows Ldap Order

LDAP Parameters

LDAP Parameters
Name of Parameter Description Example
ldap.Order Order in which to authenticate the user. Possible values are DB, LDAP_DB, DB_LDAP.  
ldap.URL The URL of the LDAP server. The URL must be prefixed with ldap:// or ldaps://. The URL can optionally specify a custom port, for example: ldaps://ldap_server.example.com:1636. ldap://localhost:10389
ldap.Base The distinguished name to use as a search base for finding users and groups. This should be similar to ‘dc=sparkflows,dc=com’. dc=sparkflows,dc=com
ldap.UserDn Distinguished name of the user to bind as. This is used to connect to LDAP/AD for searching user and group information. This may be left blank if the LDAP server supports anonymous binds. uid=john,ou=development,dc=sparkflows,dc=com
ldap.Password The password of the bind user. xyz
ldap.UserSearchBase User Search Base ou=development
ldap.UserSearchFilter The base filter for searching for users. For Active Directory, this is typically ‘(objectClass=user)’. For Active Directory : (objectClass=user) Other Example : (uid={0})
ldap.GroupSearchBase Group Search Base ou=groups
ldap.GroupSearchFilter Group Search Filter For Active Directory : (objectClass=group) Other Example : (member={0})

Note

For ldap.UserSearchFilter we can use strings like (uid={USERNAME}) In this case {USERNAME} would be replaced by the real username of the user when searching in LDAP during Add User.

LDAP Certificate

If ldaps is being used, the ldap certificate needs to be imported into cacerts.

For Reference : https://docs.oracle.com/cd/E19509-01/820-3399/ggfrj/index.html

Importing a user from LDAP into Sparkflows

Once LDAP is enabled in Sparkflows, users can be imported into Sparkflows from LDAP.

  • Go to Administration/User
  • Click on Add/Sync User
  • Enter the username and click on Search
  • User details are fetched from LDAP
  • Click on Add User to create the user in Sparkflows

User Login

Once LDAP is enabled in Sparkflows, all the authentication for login in Sparkflows are done against LDAP.

Search Order

Sparkflows would search in LDAP and then in its DB. Search order is determined by the parameter ldap.Order.

If it is set to LDAP_DB, it would first search for the User in LDAP and then in its own DB. This allows having the admin user in the Sparkflows DB if needed, so that all users are not locked out of the system in case LDAP goes down or ends up with invalid Configurations.

Reference

Below are some great links for reference:

What if I get locked out

ldap.Order determines the order in which Sparkflows tries to log in the user. In case you are locked out of Sparkflows and are not able to log in, you can do the following:

  • Add the below line to conf/configuration.properties:

    ldap.Order=DB
    
  • Then restart the fire server. Now you should be able to log in with your admin account.

Once things are back to normal, you can remove the line you added to configuration.properties and restart the fire server.

Notes

  • Search strings are not case sensitive