| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Qu'est-ce qu'une règle de mapping Active Directory ?
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 ... ).
- Une règle peut s'appliquer pour tous les types d’éléments présents dans l'interface de Shinken.
Définition d'une règle de mapping utilisateur
Chaque ligne de ce fichier définit une correspondance entre une propriété ou d'une donnée Shinken Shinken avec 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:
| No Format |
|---|
"host.host_name": "name", |
Elle est définie par :
- la propriété ( ou la donnée ) Shinken entre guillemets découpée en deux parties :
- le type de l'élément au singulier. Les types disponibles sont : "host", "contact", "hostgroup" et "contactgroup"
- le point permet de joindre les deux parties
- la propriété ou la donnée de l'élément. Cette propriété ( ou donnée ) est la "clé d'import" que l'on peut retrouver sur l'interface dans la fenêtre d'aide
- le séparateur "deux points"
- l'attribut LDAP entre guillemets.
- une virgule s'il ne s'agit pas de la dernière ligne non commentée
| Tip |
|---|
Si ce format n'est pas respecté, l'import se déroulera sans cette ligne et un message d'avertissement vous indiquera qu'il y a une erreur de syntaxe |
Il vous est donc possible de faire correspondre les attributs LDAP avec les propriétés shinken de votre choix. Si vous ne définissez pas ce fichier, un mapping par défaut sera utilisé. Voici ses valeurs.
| 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 |
| Tip |
|---|
Si vous ne souhaitez pas importer les propriétés par défaut, vous devez définir un fichier de "mapping" avec la clé souhaitée et sa valeur à vide |
Chemin du fichier de définition des règles de mapping
Pour ajouter une règle utilisateur d'application des modèles, il faut éditer le chemin suivant :
| Code Block |
|---|
/etc/shinken-user/source-data/source-data-[nom de la source]/_configuration/active-directory-mapping.json |
| Info | ||||
|---|---|---|---|---|
| ||||
/etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-mapping.json |
Exemple
| Code Block | ||
|---|---|---|
| ||
{
# 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"
}
|
Compatibilité avec les anciennes versions
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 de 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 les et liens avec les utilisateurs sont conservés |
| Info |
|---|
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".
|
| Warning |
|---|
Les paramètres "contact.classFilter" et "contact.categoryFilter" sont dépréciés et seront supprimés dans une version ultérieure. Veuillez utiliser le paramètre contacts_filter du fichier de connexion pour remplacer ce filtre. Exemple : "contacts_filter" : "(objectClass=InetOrgPerson)" |