Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Make by tools (01.00.01) - action=merge_page
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse
Panel
titleSommaire

Table of Contents
stylenone

Qu'est-ce qu'une règle de mapping Open LDAP ?

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ô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 donnée 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é 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 choisir avec quelles propriétés Shinken on peut faire correspondre les attributs LDAP avec les propriétés shinken de votre choix. Si vous ne définissez pas ce fichier n'est pas définis, un mapping par défaut sera utilisé. Voici ses valeurs.

Propriété ShinkenPropriété Active DirectoryDescription
host.host_namecnL'attribut ldap "name" sera utilisée pour le nom des hôtes
host.display_namedescriptionL'attribut ldap "sAMAccountName" sera utilisée pour la description des hôtes
host.addressipHostNumberL'attribut ldap "ipHostNumber" sera utilisée pour l'adresse des hôtes
hostgroup.hostgroup_namecnL'attribut ldap "cn" (CommonName) sera utilisée pour le nom des groupes d'hôtes
contact.contact_nameuidL'attribut ldap "name" sera utilisée pour le nom des contacts
contact.emailmailL'attribut ldap "mail" sera utilisée comme adresse mail du contact
contact.display_namedisplayNameL'attribut ldap "displayName" sera utilisée comme description du contact
contact._PHONEtelephoneNumberL'attribut ldap "telephoneNumber" sera conservée dans la donnée _PHONE du contact
contact._MOBILEmobileL'attribut ldap "mobile" sera conservée dans la donnée _MOBILE du contact
contact._COUNTRYcoL'attribut ldap "co" (Country) sera conservée dans la donnée _COUNTRY du contact
contact._CITYlL'attribut ldap "l" (localityName) sera conservée dans la donnée _CITY du contact
contact._COMPANYcompanyL'attribut ldap "company" sera conservée dans la donnée _COMPANY du contact
contactgroup.contactgroup_namecnL'attribut ldap "cn" (CommonName) sera utilisée pour le nom des groupes d'hôtes
Tip

Si vous Pour ne souhaitez pas importer les propriétés par défaut, vous devez définir un fichier de "mapping" doit être définis avec la clé souhaitée et sa valeur à vide.

Forcer la valeur des propriétés

On peut ajouter "[FORCE]" à la fin du nom de la propriété Shinken, on dit dans ce cas que la valeur est forcée.

Cela aura pour effet de donner aux valeurs de ce champ une importance supérieure par rapport aux autres sources. Si une autre source essaye d'importer le même objet, mais avec des valeurs différentes pour le champ forcé, ses valeurs seront ignorées. Si la seconde source force également le même champ, on gardera les valeurs de celui dont la source à la priorité la plus élevée.

Il se peut aussi que l'utilisateur veuille remplacer les éléments d'une liste ( comme la propriété "members" servant à définir les membres d'un groupe d'utilisateurs ) au lieu d'en ajouter. Dans ce cas, il peut ajouter [FORCE] à la propriété, ce qui aura pour effet de remplacer complètement la liste par celle fournie avec l'option [FORCE].

Ex :

Code Block
languagebash
themeRDark
"contactgroup.members[FORCE]": "members"

Note : il n'y a pas d'espace entre la propriété et le [FORCE].

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
languagetext
themeEmacs
/etc/shinken-user/source-data/source-data-[nom de la source]/_configuration/openldap-mapping.json
Info
iconfalse
titleExemple de chemin pour la source livrée par défaut : 

/etc/shinken-user/source-data/source-data-openldap-sample/_configuration/openldap-mapping.json

Exemple

Code Block
languagejs
themeConfluence
title/etc/shinken-user/source-data/source-data-openldap-sample/_configuration/openldap-mapping.json
# IMPORTANT: Do not edit this file.
# To have your own mapping, copy it under the /etc/shinken-users/source-data/YOUR_SOURCE_FOLDER/_configuration/ directory and edit your copy instead.
# Note: comments should be with a # starting the line, NOT after a value
{
    # You can map any ldap attribut in a Data (start with a _ and in MAJ)
    # -- Hosts
    # mandatory
    "host.host_name": "cn",
    "host.display_name": "description",
    "host.address": "ipHostNumber",
    "host._OS": "operatingSystem",


    # -- Hostgroups
    # mandatory
    "hostgroup.hostgroup_name": "cn",

    # -- Contacts
    # mandatory
    "contact.contact_name": "uid",

    "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 correspondanteDescription
host.namehost.host_nameContient le nom de l'élément.
host.dNSHostNamehost.addressL'adresse de l'élément.
host.operatingSystemhost._OS Le système d'exploitation sera conservé dans une donnée de l'hôte
host.operatingSystemServicePackhost._OS_SPLe service pack de du système d'exploitation sera conservé dans une donnée
host.distinguishedNamehost.display_name Le nom distingué de l'hôte correspondra à la description de l'hôte
contact.namecontact.contact_nameContient le nom de l'utilisateur
contact.mailcontact.emailContient l'adresse email de l'utilisateur
contact.displayNamecontact.display_nameContient la description de l'utilisateur
contact.telephoneNumbercontact._PHONELe numéro de téléphone de l'utilisateur sera conservé dans une donnée
contact.mobilecontact._MOBILELe numéro de mobile de l'utilisateur sera conservé dans une donnée
contact.cocontact._COUNTRY Le pays de l'utilisateur sera conservé dans une donnée
contact.lcontact._CITYLa ville de l'utilisateur sera conservée dans une donnée
contact.companycontact._COMPANYLa société de l'utilisateur sera conservée dans une donnée
hostgroup.namehostgroup.hostgroup_nameContient le nom du groupe
contactgroup.namecontactgroup.contactgroup_nameContient le nom du groupe
contact.membercontactgroup.membersDans 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".

  • Si les paramètres du fichier de connexion sont définis, ils seront prioritaires
  • Si les paramètres sont absents du fichier de connexion, ceux du fichier de mapping seront pris en compte.
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 Le paramètre contacts_filter du fichier de connexion doit être utilité pour remplacer ce filtre.

Exemple : "contacts_filter" : "(objectClass=InetOrgPerson)"

...