| 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 une donnée Shinken en fonction du type de l'élément ( hôte, groupe d'hô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 une donnée Shinken et 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 | ||||
|---|---|---|---|---|
| ||||
"host.host_name": "name", |
La règle Elle est définie par :
- La la propriété ( ou la donnée ) Shinken entre guillemets, découpée en deux parties :
- Le le type de l'élément au singulier (. Les types disponibles sont : "host", "contact", "hostgroup" ou et "contactgroup").
- Le le point permettant permet de joindre les deux parties.
- La la propriété ou la donnée de l'élément. Cette valeur constitue propriété ( ou donnée ) est la "clé d'import" disponible que l'on peut retrouver sur l'interface dans la fenêtre d'aide de l'interface.
- Le le séparateur "deux - points".
- Ll'attribut LDAP entre guillemets.
- Une virgule en fin de ligne (sauf une virgule s'il ne s'agit pas de la dernière ligne non commentée).
| Tip |
|---|
En cas de non-respect du formatSi ce format n'est pas respecté, l'import ignore la ligne concernée se déroulera sans cette ligne et un message d'avertissement signale l'indiquera qu'il y a une erreur de syntaxe. |
Il est donc possible de choisir les correspondances entre avec quelles propriétés Shinken et on peut faire correspondre les attributs LDAP.
- Si ce fichier n'est pas défini, le un mapping par DÉFAUT suivant est appliqué :sera utilisé. Voici ses valeurs.
| 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 contactsutilisateurs. |
| contact.email | L'attribut LDAP "mail" sera utilisé comme adresse mail du contactde l'utilisateur. | |
| contact.display_name | displayName | L'attribut LDAP "displayName" sera utilisé comme description du contactde l'utilisateur. |
| contact._PHONE | telephoneNumber | L'attribut LDAP "telephoneNumber" sera conservé dans la donnée _PHONE du contactde l'utilisateur. |
| contact._MOBILE | mobile | L'attribut LDAP "mobile" sera conservé dans la donnée _MOBILE du contactde l'utilisateur. |
| contact._COUNTRY | co | L'attribut LDAP "co" (Country) sera conservé dans la donnée _COUNTRY du contactde l'utilisateur. |
| contact._CITY | l | L'attribut LDAP "l" (localityName) sera conservé dans la donnée _CITY du contactde l'utilisateur. |
| contact._COMPANY | company | L'attribut LDAP "company" sera conservé dans la donnée _COMPANY du contactde l'utilisateur. |
| contactgroup.contactgroup_name | cn | L'attribut LDAP "cn" (CommonName) sera utilisé pour le nom des groupes de contactsd'utilisateurs. |
| Tip |
|---|
Pour empêcher l'importation des ne pas importer les propriétés par défaut, il est nécessaire de définir un fichier de "mapping" avec une la clé souhaitée et sa valeur à vide pour la clé concernée. |
Forcer la valeur des propriétés
L'ajout du Il est possible d’ajouter le suffixe [FORCE] ( sans ajouter d'espace ) à la clé d’import d'un élément Shinken permet 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 | ||||
|---|---|---|---|---|
| ||||
"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.
L'utilisation de Ajouter [FORCE] sur à une clé d'import contenant une liste ( comme la propriété "members" ) remplace intégralement 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].
Liste des clés d'import pouvant être forcées
| Excerpt Include | ||||||
|---|---|---|---|---|---|---|
|
Chemin du fichier de définition des règles de mapping
Pour ajouter une règle utilisateur d'application des modèles, il convient d'faut éditer le fichier 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 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"
}
|
Compatibilité avec les anciennes versions
Pour des raisons de compatibilité avec les versions antérieures à la 02.06.03, les propriétés suivantes restent 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 est sera conservé dans une donnée de l'hôte. |
| host.operatingSystemServicePack | host._OS_SP | Le service pack du système d'exploitation est sera conservé dans une donnée. |
| host.distinguishedName | host.display_name | Le Distinguished Name (DN) correspond 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 est de l'utilisateur sera conservé dans une donnée. |
| contact.mobile | contact._MOBILE | Le numéro de mobile est de l'utilisateur sera conservé dans une donnée. |
| contact.co | contact._COUNTRY | Le pays est de l'utilisateur sera conservé dans une donnée. |
| contact.l | contact._CITY | La ville est de l'utilisateur sera conservée dans une donnée. |
| contact.company | contact._COMPANY | La société est de l'utilisateur sera conservée dans une donnée. |
| hostgroup.name | hostgroup.hostgroup_name | Contient le nom du groupe d'hôtes. |
| contactgroup.name | contactgroup.contactgroup_name | Contient le nom du groupe d'utilisateurs. |
| 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. |
| Info |
|---|
Les filtres par type d'élément (sur les types d'éléments étaient présents dans le fichier de mapping : "host.filter", etc.) doivent désormais être renseignés "contact.filter", "hostgroup.filter" et "contactgroup.filter". Ceux-ci doivent désormais se trouver dans le fichier de connexion sous la forme les noms : "hosts_filter", "contacts_filter", etc"hostgroups_filter" et "contactsgroups_filter".
|
| Warning |
|---|
Les paramètres "contact.classFilter" et "contact.categoryFilter" sont dépréciés . Il convient d'utiliser et seront supprimés dans une version ultérieure. Le paramètre "contacts_filter" dans le du fichier de connexion doit être utilisé pour remplacer ce filtre. Exemple : "contacts_filter" : "(objectClass=InetOrgPerson)" |