It is possible to allow users to authenticate by checking the account password into an Active Directory instead of the one stored in the Shinken configuration. The setup of this authentication method is done in 3 steps:
First, the authentication module must have the connection credentials in order to connect to the Active Directory server.
This is done by modifying the /etc/shinken/modules/auth_active_directory.cfg file.
Uncomment if needed and fill the following lines:
ldap_uri ldap://myserver username myuser@mydomain.com password password basedn DC=mydomain,DC=com mapping_file /etc/shinken-user/configuration/modules/auth-active-directory/mapping.json |
The fields in the configuration example above function as following:
The Active Directory authentication module does the link between fields in the Shinken database and fields in the Active Directory base to identify the users.
By default, the module looks for contacts with the "contact_name" in Shinken base and looks for a contact in Active Directory with the same value into the "samaccountname".
It is possible to specify this behaviour by modifying the mapping file.
Sur une nouvelle installation, il faut copier le fichier "/etc/shinken-user-example/configuration/modules/auth-active-directory/mapping.json" dans "/etc/shinken-user/configuration/modules/auth-active-directory/mapping.json" (créer l'aborescence si besoin).
On a fresh installation, copy "/etc/shinken-user-example/configuration/modules/auth-active-directory/mapping.json" into "/etc/shinken-user/configuration/modules/auth-active-directory/mapping.json" (create fiel path if needed).
The files listed in "/etc/shinken-user-example" are in read-only mode. Add write rights after copying into "/etc/shinken-user". |
In the following example, contacts are joined by the "mail" field in Active Directory and the "email" field on Shinken.
{
"ldap_key": "mail",
"shinken_key": "email",
"login_placeholder": "Email du contact"
} |
The "login_placeholder" allows you to configure the message displayed on the Login Screen in order to give a visual hint to the user.

At last, the authentication module must be activated in the corresponding configuration files.
To enable the module on the Configuration UI, replace Cfg_password by auth-active-directory in the Synchronizer's configuration.
modules auth-active-directory |
Restart the Synchronizer to account for the latest changes.
/etc/init.d/shinken-synchronizer restart |
To enable the module on the Visualisation UI, replace Cfg_password by auth-active-directory in the Broker's configuration.
modules auth-active-directory, Mongodb, webui-enterprise, sla |
/etc/init.d/shinken-broker restart |
La présence simultanée des modules Cfg_password et auth-active-directory peut provoquer un fonctionnement non anticipé. Comme le module Cfg_password vérifie les mots de passe dans la base Shinken et le module auth-active-directory dans Active Directory, si les 2 modules sont chargés, l'utilisateur pourra se connecter avec les 2 mots de passe (Shinken et Active Directory).
Si ce comportement est souhaité, il est possible d'avoir les 2 modules dans la configuration:
|
Le module est initialement prévu pour Active Directory mais fonctionne également avec OpenLDAP.
Cependant, lors de la configuration, quelques étapes diffèrent:
Le reste de la configuration du module reste identique.
Dans le fichier de correspondances, il est possible de spécifier plusieurs champs pour lier les comptes Shinken et Active Directory/LDAP.
Voici ci-dessus un tableau récapitulatif des champs les plus utilisés:
| Shinken | Active Directory | OpenLDAP |
|---|---|---|
contact_name | sAMAccountName | uid |
| display_name | displayName | displayName |
| pager | telephoneNumber | telephoneNumber |