Le module d'authentification Active Directory permet de lier un compte Shinken et un compte Active Directory pour se connecter sur les différentes interfaces Web de Shinken Entreprise.
Les deux comptes (Shinken et Active Directory) seront liés par une clé commune. Par exemple, le module d'authentification cherche l'utilisateur avec l'adresse email utilisateur@domaine.com dans la base de données Shinken et fera la correspondance avec le compte Active Directory ayant la même adresse email. Il est donc impératif qu'un compte Shinken et un compte Active Directory possèdent une donnée commune pour pouvoir être liés et autoriser la connexion. La procédure pour configurer la donnée à utiliser pour effectuer la correspondance est décrite plus bas dans cette documentation. |
Pour garder la base de données Shinken et l'annuaire Active Directory synchronisés, il est bien plus pratique d'importer directement les utilisateurs depuis l'annuaire Active Directory grâce à la source Active Directory. Voir la documentation associée pour plus d'information sur cette fonctionnalité: Active Directory |
Ce module permet 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:
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/daemons/arbiters/mapping.json |
Le champs présents dans la configuration ci-dessus ont le fonctionnement suivant:
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/modules/auth-active-directory/mapping.json" dans "/etc/shinken-user/configuration/daemons/arbiters/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:

Enfin, il faut activer le module d'authentification dans les différents fichiers de 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 |
Pour l'activer sur l'interface de Visualisation, remplacer Cfg_password par auth-active-directory dans la configuration du Broker (Module WebUI).
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). 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 |