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 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é 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 utilisateurs |
| contact.email | L'attribut LDAP "mail" sera utilisé comme adresse mail de l'utilisateur | |
| contact.display_name | displayName | L'attribut LDAP "displayName" sera utilisé comme description de l'utilisateur |
| contact._PHONE | telephoneNumber | L'attribut LDAP "telephoneNumber" sera conservé dans la donnée _PHONE de l'utilisateur |
| contact._MOBILE | mobile | L'attribut LDAP "mobile" sera conservé dans la donnée _MOBILE de l'utilisateur |
| contact._COUNTRY | co | L'attribut LDAP "co" (Country) sera conservé dans la donnée _COUNTRY de l'utilisateur |
| contact._CITY | l | L'attribut LDAP "l" (localityName) sera conservé dans la donnée _CITY de l'utilisateur |
| contact._COMPANY | company | L'attribut LDAP "company" sera conservé dans la donnée _COMPANY de l'utilisateur |
| contactgroup.contactgroup_name | cn | L'attribut LDAP "cn" (CommonName) sera utilisé pour le nom des groupes d'utilisateurs |
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 ajouter 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 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 |
{
# You can map any ldap attribute to a Data (starts with a _ and in UPPERCASE)
# -- 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 anté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 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 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 d'utilisateurs 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)" |