Il est possible d'effectuer l'authentification des utilisateurs en allant vérifier le mot de passe du compte dans un annuaire Active Directory plutôt que celui stocké dans la configuration Shinken.

La configuration de cette méthode d'authentification s'effectue en 3 étapes:

 

Configuration de la connexion Active Directory

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


Décommenter si besoin et renseigner les lignes suivantes:

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 suivant:

 

Configuration des correspondances entre Shinken et Active Directory

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 "samaccountname".

Il est possible de paramétrer ce comportement à l'aide d'un fichier de correspondances.

 

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).

Les fichiers présents dans "/etc/shinken-user-example" sont en lecture seule. Il faut rajouter les droits en ecriture après la copie dans "/etc/shinken-user".

 

Dans l'exemple suivant, les contacts sont joints par le champ "mail" sur Active Directory et le champ "email" sur Shinken

{
	"ldap_key": 			"mail",
	"shinken_key": 			"email",
	"login_placeholder": 	"Email du contact"
}

 

Le champ "login_placeholder" permet de configurer le message qui sera affiché sur l'écran de connexion afin de fournir une aide visuelle à l'utilisateur:

 


Activation du module Active Directory


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.

modules		auth-active-directory

 

Rémarrer ensuite le Synchronizer pour prendre en compte les modifications.

/etc/init.d/shinken-synchronizer restart

 

 

UI Visualisation

Pour l'activer sur l'interface de Visualisation, remplacer Cfg_password par auth-active-directory danss la configuration du Broker.

modules		auth-active-directory, Mongodb, webui-enterprise, sla



Rémarrer ensuite le Broker pour prendre en compte les modifications.

/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).

 


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:

 

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:

 

ShinkenActive DirectoryOpenLDAP

contact_name

sAMAccountName

uid
display_namedisplayNamedisplayName
emailmailmail
pagertelephoneNumbertelephoneNumber