| Scroll Ignore | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
Qu'est-ce qu'une règle d'application des modèles ?
Une règle d'application des modèles permet de définir une ou plusieurs conditions, permettant à la source d'attribuer un modèle à un hôte en fonction de la valeur d'un attribut Active Directory.
La source dispose de quelques règles d'application fournie par défaut, mais il vous est possible de créer vos propres règles d'application.
Définition d'une règle d'application des modèles
Rappel : le fichier de définition des règles est défini dans la configuration de la source par le paramètre rules_configuration_file.
Le fichier indiqué dans ce paramètre ( par défaut /etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-rules.json ) doit respecter le format des fichiers Json.
| Tip |
|---|
Pour ne définir aucune règle, vous pouvez créer un fichier vide avec seulement les accolades ouvrantes et fermantes ou ne pas préciser de fichier dans la définition de la source. |
Ajouter un modèle sur tous les éléments
Il est possible d'ajouter un même modèle sur tous les hôtes ou contacts importés par la source. Par exemple pour ajouter le modèle "ldap-host" à tous les hôtes et le modèle "ldap-user" à tous les contacts, il faut configurer les lignes suivantes :
| Code Block |
|---|
"hosts_template": "ldap-host", "contacts_template": "ldap-user" |
| Warning |
|---|
Les paramètres "hosts_tag" et "contacts_tag" sont dépréciés et seront supprimés dans une version ultérieure. Veuillez utiliser le paramètre "hosts_template" et "contacts_template" remplacer ces règles. Exemple : "contacts_template" : "generic-contact" |
Ajouter un modèle sur tous les éléments présents dans une OU spécifique
Il est possible d'ajouter un modèle pour tous les hôtes ou contacts qui sont dans une OU spécifique. Par exemple pour ajouter le modèle d'hôte WindowsServer à tous les hôtes présent dans l'OU "ou=WindowsServer,ou=Datacenter,dc=shinkendom,dc=local", et le modèle "Bordeaux" à tous les contacts présents dans l'OU "ou=Users,ou=Bordeaux,ou=Datacenter,dc=shinkendom,dc=local", il faut configurer les lignes suivantes :
| Code Block |
|---|
"hosts_template_WindowsServer": "ou=WindowsServer,ou=Datacenter,dc=shinkendom,dc=local", "contacts_template_ldapAdmins": "ou=Users,ou=Bordeaux,ou=Datacenter,dc=shinkendom,dc=local" |
Ajouter un modèle sur tous les éléments correspondant à une propriété
Il est possible d'ajouter des modèles sur des éléments dont une propriété correspond à une valeur définie.
Cette règle est divisée en 5 parties :
- un préfixe,
- un modèle,
- le type d'élément,
- le nom de la propriété ou la donnée Shinken,
- la valeur de la propriété ou la donnée Shinken.
Voici un exemple et son explication :
| Code Block |
|---|
exemple : "AddLast_template_(France)_to_contact_matching_[_COUNTRY]": "France" explication : | Préfixe |modèle| type d'élément |propriété| valeur | |
- Tout d'abord le préfixe peut prendre 3 valeurs :
- "AddFirst_template_" : permets d'ajouter le modèle en première position du champ use.
- "AddLast_template_" : permets d'ajouter le modèle en dernière position du champ use.
- "Force_template_" : permets d'utiliser uniquement ce modèle. Cette méthode sera prioritaire et effacera les valeurs obtenues par les précédentes règles.
- Le nom du modèle doit être mis entre parenthèses : France dans l'exemple.
- Le type d'élément ne peut prendre que deux valeurs :
- "_to_host_matching_" : la règle sera utilisée pour les hôtes,
- "_to_contact_matching_" : la règle sera utilisée pour les contacts.
- le nom de la propriété ou de la donnée doit être entre crochets : _COUNTRY dans l'exemple.
- Cette propriété peut être une propriété ou une donnée de l'élément Shinken (présente dans le fichier de mapping).
- Cette propriété peut être un attribut LDAP.
- la valeur de la propriété pour que la règle s'applique : France dans l'exemple.
Ajouter un modèle sur tous les éléments présents dans un groupe
Pour ajouter un modèle sur un élément présent dans un groupe, il faut utiliser la règle précédente avec la propriété memberOf.
| Info | |||||
|---|---|---|---|---|---|
| |||||
Dans LDAP, il est possible qu'un objet possède plusieurs fois la même propriété. Dans ce cas, il est possible de mettre en place des règles sur ces propriétés. Par exemple, on considère un objet qui a plusieurs propriétés "l" ( location ) ( un utilisateur qui travaille à plusieurs endroits par exemple ). On peut alors mettre en place la règle suivante :
Cette règle est activée lorsque l'utilisateur possède une de ses propriétés "l" qui est égale à "Bordeaux". Dans ce cas, le modèle d'utilisateur "bordeaux" est utilisé pour cet utilisateur. |
Exemples
Dans cet exemple nous allons ligne par ligne :
- ajouter le modèle "linux" à tous les hôtes découverts par la source,
- ajouter le modèle "centos" à tous les hôtes découverts dans l'OU "OU=centos,OU=serveurs,dc=shinken,dc=local",
- ajouter le modèle "Datacenter_01_Bordeaux" à la fin du champ "use" aux hôtes ou la propriété "location" vaut "FRBXDC01",
- ajouter le modèle "generic-contact" à tous les contacts découverts par la source,
- ajouter le modèle "domain-admins" à tous les contacts qui font partie du groupe ldap "cn=Domain Admins,ou=Users,dc=shinken,dc=local".
| Code Block | ||||
|---|---|---|---|---|
| ||||
{
"hosts_template": "linux",
"hosts_template_centos": "OU=centos,OU=serveurs,dc=shinken,dc=local",
"AddLast_template_(Datacenter_01_Bordeaux)_to_host_matching_[location]": "FRBXDC01",
"contacts_template": "generic-contact",
"AddFirst_template_(domain-admins)_to_contact_matching_[memberOf]": "cn=Domain Admins,ou=Users,dc=shinken,dc=local",
}
|