Une règle de mapping permet de mettre en relation lors de l'import un attribut LDAP avec une propriété ou d'une donnée Shinken en fonction du type de l'élément ( hôte, groupe d'hôte, utilisateur, etc ... ).
Chaque ligne de ce fichier définit une correspondance entre une propriété ou d'une donnée Shinken Shinken avec un attribut LDAP.
"host.host_name": "name", |
Elle est définie par :
Si ce format n'est pas respecté, l'import se déroulera sans cette ligne et un message d'avertissement indiquera qu'il y a une erreur de syntaxe. |
Il est donc possible de choisir avec quelles propriétés Shinken, on peut faire correspondre les attributs LDAP.
| Propriété Shinken | Propriété Active Directory | Description |
|---|---|---|
| host.host_name | name | L'attribut ldap "name" sera utilisée pour le nom des hôtes |
| host.display_name | sAMAccountName | L'attribut ldap "sAMAccountName" sera utilisée pour la description des hôtes |
| host.address | ipHostNumber | L'attribut ldap "ipHostNumber" sera utilisée pour l'adresse des hôtes |
| hostgroup.hostgroup_name | cn | L'attribut ldap "cn" (CommonName) sera utilisée pour le nom des groupes d'hôtes |
| contact.contact_name | name | L'attribut ldap "name" sera utilisée pour le nom des contacts |
| contact.email | L'attribut ldap "mail" sera utilisée comme adresse mail du contact | |
| contact.display_name | displayName | L'attribut ldap "displayName" sera utilisée comme description du contact |
| contact._PHONE | telephoneNumber | L'attribut ldap "telephoneNumber" sera conservée dans la donnée _PHONE du contact |
| contact._MOBILE | mobile | L'attribut ldap "mobile" sera conservée dans la donnée _MOBILE du contact |
| contact._COUNTRY | co | L'attribut ldap "co" (Country) sera conservée dans la donnée _COUNTRY du contact |
| contact._CITY | l | L'attribut ldap "l" (localityName) sera conservée dans la donnée _CITY du contact |
| contact._COMPANY | company | L'attribut ldap "company" sera conservée dans la donnée _COMPANY du contact |
| contactgroup.contactgroup_name | cn | L'attribut ldap "cn" (CommonName) sera utilisée pour le nom des groupes d'hôtes |
Pour ne pas importer les propriétés par défaut, il est nécessaire de définir un fichier de "mapping" avec la clé souhaitée et sa valeur à vide. |
Il est possible d’ajouter le suffixe [FORCE] ( sans rajouter d'espace ) à la clé d’import d'un élément Shinken afin de forcer la valeur associée ( voir la page Forcer la valeur des noms des éléments et des propriétés de type liste (comme la propriété des modèles hérités) ).
Exemple :
"host.address[FORCE]": "ipHostNumber", |
Lorsqu’une propriété est marquée avec [FORCE], elle est traitée de la manière suivante par le mélange des sources :
Ajouter [FORCE] à une clé d'import contenant une liste ( comme la propriété "members" servant à définir les membres d'un groupe d'utilisateurs ) aura pour effet de remplacer complètement la liste des autres sources par celle fournie avec l'option [FORCE].
Pour ajouter une règle utilisateur d'application des modèles, il faut éditer le chemin 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 |
{
# You can map any ldap attribut in a Data (start with a _ and in MAJ)
# -- Hosts
# mandatory
"host.host_name": "name",
"host.display_name": "sAMAccountName",
"host.address": "ipHostNumber",
# -- Hostgroups
# mandatory
"hostgroup.hostgroup_name": "cn",
# -- Contacts
# mandatory
"contact.contact_name": "name",
"contact.email": "mail",
"contact.display_name":"displayName",
"contact._MEMBER": "uniqueMember",
"contact._PHONE":"telephoneNumber",
"contact._MOBILE":"mobile",
# Co: for country
"contact._COUNTRY":"co",
# l: for city
"contact._CITY":"l",
"contact._COMPANY":"company",
# -- Contactgroups
# mandatory
"contactgroup.contactgroup_name": "cn"
}
|
Pour des raisons de compatibilité avec les versions inférieures à la 02.06.03, les propriétés suivantes sont toujours fonctionnelles :
| Ancienne propriété | Nouvelle propriété Shinken 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 sera conservé dans une donnée de l'hôte. |
| host.operatingSystemServicePack | host._OS_SP | Le service pack du système d'exploitation sera conservé dans une donnée. |
| host.distinguishedName | host.display_name | Le nom distingué de l'hôte correspondra à la description de l'hôte. |
| contact.name | contact.contact_name | Contient le nom de l'utilisateur. |
| contact.mail | contact.email | Contient l'adresse email 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 de l'utilisateur sera conservé dans une donnée. |
| contact.mobile | contact._MOBILE | Le numéro de mobile de l'utilisateur sera conservé dans une donnée. |
| contact.co | contact._COUNTRY | Le pays de l'utilisateur sera conservé dans une donnée. |
| contact.l | contact._CITY | La ville de l'utilisateur sera conservée dans une donnée. |
| contact.company | contact._COMPANY | La société de l'utilisateur sera 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. |
| contact.member | contactgroup.members | Dans les précédentes versions, les groupes de contact n'étaient pas importés. Désormais, ils le sont et les liens avec les utilisateurs sont conservés. |
Les filtres sur les types d'éléments étaient présents dans le fichier de mapping : "host.filter", "contact.filter", "hostgroup.filter" et "contactgroup.filter". Ceux-ci doivent désormais se trouver dans le fichier de connexion sous les noms : "hosts_filter", "contacts_filter", "hostgroups_filter" et "contactsgroups_filter".
|
Les paramètres "contact.classFilter" et "contact.categoryFilter" sont dépréciés et seront supprimés dans une version ultérieure. Le paramètre contacts_filter du fichier de connexion doit être utilisé pour remplacer ce filtre. Exemple : "contacts_filter" : "(objectClass=InetOrgPerson)" |