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:
- Connection setup to the Active Directory server
- Mapping setup between Shinken and Active Directory fields
- Module activation
Active Directory
connection setup
First, the authentication module must have the connection credentials in order to connect to the Active Directory server.
This is done by modifying the
Tout d'abord, il faut spécifier au module d'authentification les identifiants de connexion au serveur Active Directory.
Cela se fait par l'intermédiaire du fichier /etc/shinken/modules/auth_active_directory.cfg file.
Uncomment if needed and fill the following linesDécommenter si besoin et renseigner les lignes suivantes:
| Code Block | ||||
|---|---|---|---|---|
| ||||
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 |
Le
champs présents dans la configuration ci-dessus ont le fonctionnement suivantThe fields in the configuration example above function as following:
- ldap_uri: Adresse du serveur ActiveDirectory. Le protocole utilisé peut être ldap ou ldapsActive Directory server address. The protocol used can be ldap or ldaps.
- username: Username used to connect to the Active Directory. Username has the following format: username: Nom d'utilisateur utilisé pour se connecter au serveur Active Directory. Il est de la forme "user@mydomain.com" ou or "mydomain\user".
- password: Nom d'utilisateur utilisé pour se connecter au serveur Active DirectoryPassword used to connect to the Active Directory server.
- basedn: DN utilisé comme base pour la recherche des utilisateurs. Le module cherche récursivement dans le DN fourni tous les utilisateurs présents dans ce DN pour effectuer l'authentificationused as base for user discovery. The module searchs recursively in this DN for users to perform the authentication with.
- mapping_file: Ce champ doit pointer vers le fichier de correspondances dont le fonctionnement est détaillé ci-dessousThis field must point to the mapping file used. This field usage is described in the section below.
Shinken
etand Active Directory
fields mappings setup
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
Le module d'authentification Active Directory effectue une correspondances entres les champs dans la base Shinken et les champs dans l'annuaire Active Directory pour identifier les utilisateurs.
Par défaut, le module recherche les contacts avec le champ "contact_name" dans Shinken et recherche un contact dans Active Directory avec le champ in Shinken base and looks for a contact in Active Directory with the same value into the "samaccountname".
Il est possible de paramétrer ce comportement à l'aide d'un fichier de correspondancesIt 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).
| Note | ||
|---|---|---|
| ||
Les fichiers présents dans The files listed in "/etc/shinken-user-example" sont en lecture seule. Il faut rajouter les droits en ecriture après la copie dans are in read-only mode. Add write rights after copying into "/etc/shinken-user". |
Dans l'exemple suivant, les contacts sont joints par le champ In the following example, contacts are joined by the "mail" sur field in Active Directory et le champ and the "email" sur field on Shinken.
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
"ldap_key": "mail",
"shinken_key": "email",
"login_placeholder": "Email du contact"
} |
Le champ
The "login_placeholder" permet de configurer le message qui sera affiché sur l'écran de connexion afin de fournir une aide visuelle à l'utilisateur:allows you to configure the message displayed on the Login Screen in order to give a visual hint to the user.
Enabling the Active Directory module
At last, the authentication module must be activated in the corresponding configuration files.
Configuration UI
To enable the module on the Configuration UI, replace Cfg_password by
Enfin, il faut activer le module d'authentification dans les différents fichiers de configuration.
UI Configuration
Pour l'activer sur l'interface de Configuration, remplacer Cfg_password par auth-active-directory dans la configuration du Synchronizer in the Synchronizer's configuration.
| Code Block | ||||
|---|---|---|---|---|
| ||||
modules auth-active-directory |
Rémarrer ensuite le Synchronizer pour prendre en compte les modificationsRestart the Synchronizer to account for the latest changes.
| Code Block | ||||
|---|---|---|---|---|
| ||||
/etc/init.d/shinken-synchronizer restart |
Visualisation UI
VisualisationTo enable the module on the Visualisation UI, replace Pour l'activer sur l'interface de Visualisation, remplacer Cfg_password par by auth-active-directory dans la configuration du Broker in the Broker's configuration.
| Code Block | ||||
|---|---|---|---|---|
| ||||
modules auth-active-directory, Mongodb, webui-enterprise, sla |
Restart the Synchronizer to account for the latest changes.
| Code Block | ||||
|---|---|---|---|---|
| ||||
/etc/init.d/shinken-broker restart |
| Note | |||||
|---|---|---|---|---|---|
| |||||
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:
|
Utilisation du module avec OpenLDAP
Le module est initialement prévu pour Active Directory mais fonctionne également avec OpenLDAP.
Cependant, lors de la configuration, quelques étapes diffèrent:
- Dans le fichier de configuration /etc/shinken/modules/auth_active_directory.cfg, le paramètre "mode" doit être "openldap".
- Dans le fichier de configuration /etc/shinken/modules/auth_active_directory.cfg, le paramètre "username" a un format différent. Avec OpenLDAP, il faut spécifier un CN à utiliser pour la connexion.
Le champ serait alors de la forme "cn=user,dc=mydomain,dc=com".
Le reste de la configuration du module reste identique.
Champs à utiliser pour la correspondance des champs
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 |
