Une règle de mapping permet de mettre en relation, lors de l'import, un attribut LDAP avec une propriété ou une donnée Shinken en fonction du type de l'élément ( hôte, groupe d'hôtes, utilisateur, etc. ).
Chaque ligne de ce fichier définit une correspondance entre une propriété ou une donnée Shinken et un attribut LDAP. Les paramètres peuvent donc être nombreux.
Par exemple, la ligne suivante définit une correspondance entre le nom de l'hôte dans Shinken et son attribut dans LDAP :
"host.host_name": "name", |
La règle est définie par :
En cas de non-respect du format, l'import ignore la ligne concernée et un message d'avertissement signale l'erreur de syntaxe. |
Il est possible de choisir les correspondances entre propriétés Shinken et attributs LDAP.
| Propriété Shinken | Propriété Active Directory | Description |
|---|---|---|
| host.host_name | name | L'attribut LDAP "name" sera utilisé pour le nom des hôtes. |
| host.display_name | sAMAccountName | L'attribut LDAP "sAMAccountName" sera utilisé pour la description des hôtes. |
| host.address | ipHostNumber | L'attribut LDAP "ipHostNumber" sera utilisé pour l'adresse des hôtes. |
| hostgroup.hostgroup_name | cn | L'attribut LDAP "cn" (CommonName) sera utilisé pour le nom des groupes d'hôtes. |
| contact.contact_name | name | L'attribut LDAP "name" sera utilisé pour le nom des contacts. |
| contact.email | L'attribut LDAP "mail" sera utilisé comme adresse mail du contact. | |
| contact.display_name | displayName | L'attribut LDAP "displayName" sera utilisé comme description du contact. |
| contact._PHONE | telephoneNumber | L'attribut LDAP "telephoneNumber" sera conservé dans la donnée _PHONE du contact. |
| contact._MOBILE | mobile | L'attribut LDAP "mobile" sera conservé dans la donnée _MOBILE du contact. |
| contact._COUNTRY | co | L'attribut LDAP "co" (Country) sera conservé dans la donnée _COUNTRY du contact. |
| contact._CITY | l | L'attribut LDAP "l" (localityName) sera conservé dans la donnée _CITY du contact. |
| contact._COMPANY | company | L'attribut LDAP "company" sera conservé dans la donnée _COMPANY du contact. |
| contactgroup.contactgroup_name | cn | L'attribut LDAP "cn" (CommonName) sera utilisé pour le nom des groupes de contacts. |
Pour empêcher l'importation des propriétés par défaut, il est nécessaire de définir un fichier de mapping avec une valeur vide pour la clé concernée. |
L'ajout du suffixe [FORCE] ( sans espace ) à la clé d’import d'un élément Shinken permet de forcer la valeur associée.
Exemple :
"host.address[FORCE]": "ipHostNumber", |
Lorsqu’une propriété est marquée avec [FORCE], elle est traitée de la manière suivante :
L'utilisation de [FORCE] sur une clé contenant une liste ( comme la propriété "members" ) remplace intégralement la liste des autres sources par celle fournie.
Pour ajouter une règle utilisateur, il convient d'éditer le fichier suivant :
/etc/shinken-user/source-data/source-data-[nom de la source]/_configuration/active-directory-mapping.json |
/etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-mapping.json |
Pour des raisons de compatibilité avec les versions antérieures à la 02.06.03, les propriétés suivantes restent fonctionnelles :
| Ancienne propriété | Nouvelle propriété correspondante | Description |
|---|---|---|
| host.name | host.host_name | Contient le nom de l'élément. |
| host.dNSHostName | host.address | L'adresse de l'élément. |
| host.operatingSystem | host._OS | Le système d'exploitation est conservé dans une donnée de l'hôte. |
| host.operatingSystemServicePack | host._OS_SP | Le service pack du système d'exploitation est conservé dans une donnée. |
| host.distinguishedName | host.display_name | Le Distinguished Name (DN) correspond à la description de l'hôte. |
| contact.name | contact.contact_name | Contient le nom de l'utilisateur. |
| contact.mail | contact.email | Contient l'adresse e-mail de l'utilisateur. |
| contact.displayName | contact.display_name | Contient la description de l'utilisateur. |
| contact.telephoneNumber | contact._PHONE | Le numéro de téléphone est conservé dans une donnée. |
| contact.mobile | contact._MOBILE | Le numéro de mobile est conservé dans une donnée. |
| contact.co | contact._COUNTRY | Le pays est conservé dans une donnée. |
| contact.l | contact._CITY | La ville est conservée dans une donnée. |
| contact.company | contact._COMPANY | La société est conservée dans une donnée. |
| hostgroup.name | hostgroup.hostgroup_name | Contient le nom du groupe. |
| contactgroup.name | contactgroup.contactgroup_name | Contient le nom du groupe. |
Les filtres par type d'élément ("host.filter", etc.) doivent désormais être renseignés dans le fichier de connexion sous la forme "hosts_filter", "contacts_filter", etc.
|
Les paramètres "contact.classFilter" et "contact.categoryFilter" sont dépréciés. Il convient d'utiliser "contacts_filter" dans le fichier de connexion. |