Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Make by tools (01.00.01) - action=clean_corrupted_html
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-htmldocbookfalsetrue
scroll-docbookeclipsehelptrue
scroll-eclipsehelpepubtrue
scroll-epubhtmltruefalse
Panel
titleSommaire

Table of Contents
stylenone

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ôtehôtes, 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 :

Code Block
languagebash
themeRDark
"host.host_name": "name",

Elle est définie par :

  • la propriété ( ou la donnée ) Shinken entre guillemets est , 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 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.

  • Si ce fichier n'est pas défini, un mapping par DÉFAUT sera utilisé. Voici ses valeurs.
Propriété ShinkenPropriété Active DirectoryDescription
host.host_namenameL'attribut ldap LDAP "name" sera utilisée utilisé pour le nom des hôtes.
host.display_namesAMAccountNameL'attribut ldap LDAP "sAMAccountName" sera utilisée utilisé pour la description des hôtes.
host.addressipHostNumberL'attribut ldap LDAP "ipHostNumber" sera utilisée utilisé pour l'adresse des hôtes.
hostgroup.hostgroup_namecnL'attribut ldap LDAP "cn" (CommonName) sera utilisée utilisé pour le nom des groupes d'hôtes.
contact.contact_namenameL'attribut ldap LDAP "name" sera utilisée utilisé pour le nom des contactsutilisateurs.
contact.emailmailL'attribut ldap LDAP "mail" sera utilisée utilisé comme adresse mail du contactde l'utilisateur.
contact.display_namedisplayNameL'attribut ldap LDAP "displayName" sera utilisée utilisé comme description du contactde l'utilisateur.
contact._PHONEtelephoneNumberL'attribut ldap LDAP "telephoneNumber" sera conservée conservé dans la donnée _PHONE du contactde l'utilisateur.
contact._MOBILEmobileL'attribut ldap LDAP "mobile" sera conservée conservé dans la donnée _MOBILE du contactde l'utilisateur.
contact._COUNTRYcoL'attribut ldap LDAP "co" (Country) sera conservée conservé dans la donnée _COUNTRY du contactde l'utilisateur.
contact._CITYlL'attribut ldap LDAP "l" (localityName) sera conservée conservé dans la donnée _CITY du contactde l'utilisateur.
contact._COMPANYcompanyL'attribut ldap LDAP "company" sera conservée conservé dans la donnée _COMPANY du contactde l'utilisateur.
contactgroup.contactgroup_namecnL'attribut ldap LDAP "cn" (CommonName) sera utilisée utilisé pour le nom des groupes d'hôtesutilisateurs.
Tip

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.

Forcer la valeur des propriétés

On peut ajouter "Il est possible d’ajouter le suffixe [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 ( 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 :

Code Block
languagebash
themeRDark
"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 :

  • La valeur est considérée comme prioritaire par rapport aux autres sources.
  • Si une autre source importe le même objet avec une valeur différente, cette dernière est ignorée.
  • En cas de conflit entre plusieurs valeurs forcées, la priorité de la source détermine la valeur conservée.

Ajouter [FORCE] à une clé d'import contenant 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 des autres sources par celle fournie avec l'option [FORCE].

Exemple :

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

Liste des clés d'import pouvant être forcées

Excerpt Include
Syntaxe des fichiers d'imports
Syntaxe des fichiers d'imports
nopaneltrue
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 fichier suivant : 

Code Block
languagejs
themeConfluence
/etc/shinken-user/source-data/source-data-[nom de la source]/_configuration/active-directory-mapping.json
Info
iconfalse
titleExemple de chemin pour la source livrée par défaut : 

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

Exemple

Code Block
languagebash
themeRDark
title/etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-mapping.json
{                                                                        
    # You can map any ldap attributattribute into a Data (startstarts with a _ and in MAJUPPERCASE)
    # -- 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 antérieures à la 02.06.03, les propriétés suivantes sont toujours fonctionnelles :

Ancienne propriétéNouvelle propriété Shinken correspondanteDescription
hosthost.namehost.host_nameContient le nom de l'élément.
host.dNSHostNamehost.addressL'adresse de l'élément.
host.operatingSystemhost._OS Le Le système d'exploitation sera conservé dans une donnée de l'hôte.
host.operatingSystemServicePackhost._OS_SPLe service pack du système d'exploitation sera conservé dans une donnée.
host.distinguishedNamehost.display_name Le Le nom distingué de l'hôte correspondra à la description de l'hôte.
contact contact.namecontact.contact_nameContient le nom de l'utilisateur.
contact.mailcontact.emailContient l'adresse email e-mail 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 contact.cocontact._COUNTRY Le 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.
hostgrouphostgroup.namehostgroup.hostgroup_nameContient le nom du groupe d'hôtes.
contactgroup.namecontactgroup.contactgroup_nameContient le nom du groupe d'utilisateurs.
contact.membercontactgroup.membersDans les précédentes versions, les groupes de contact d'utilisateurs n'étaient pas importés. Désormais, ils le sont et les 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 paramètres "contact.classFilter" et "contact.categoryFilter" sont 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)"