Checkmk
to checkmk.com
Important

This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved.

1. Introduction

Étant donné que la définition manuelle des utilisateurs n'est évolutive que jusqu'à un certain niveau, Checkmk offre une fonctionnalité permettant d'utiliser des services basés sur LDAP pour la gestion des utilisateurs, pour la synchronisation automatique des utilisateurs à partir des répertoires personnels, ainsi que pour l'attribution automatique de groupes de contact, de rôles et d'autres attributs à ces utilisateurs dans Checkmk. Checkmk n'est pas limité à une seule source LDAP et peut également répartir les utilisateurs vers d'autres instances connectées si nécessaire.

2. Configuration d'une connexion LDAP

2.1. Connexion au serveur

La création d'une connexion à un serveur compatible LDAP nécessite un utilisateur disposant d'une autorisation de lecture sur le serveur. Au minimum, il doit disposer d'une autorisation de lecture pour les personnes et les groupes qu'il doit synchroniser. Dans l'exemple suivant, cet utilisateur s'appelle check_mk.

Sous Setup > Users > LDAP & Active Directory > Add connection, une nouvelle connexion peut être créée. Dans le formulaire, saisissez d’abord l’IDe de votre choix pour la connexion dans la case « General Properties ». Un titre simple et significatif peut être saisi facultativement dans la case « Description ». Comme toujours, l’IDe doit être unique et ne peut pas être modifié ultérieurement. Il ne peut être composé que de lettres, de chiffres, de tirets et de traits de soulignement, et doit commencer par une lettre ou un trait de soulignement.

ldap new connection general properties

Ensuite, sous « LDAP Connection », vous pouvez définir le serveur LDAP, ainsi qu’un ou plusieurs serveurs de failover s’ils sont disponibles. Il ne reste alors plus qu’à sélectionner le « Directory type » et à définir les données utilisateur pour l’accès en lecture sous « Bind credentials ». Notez que le nom d’utilisateur doit être saisi avec son chemin d’accès LDAP complet. La distinction entre majuscules et minuscules n’a pas d’importance. La configuration devrait alors ressembler à ceci :

ldap new connection ldap connection

Checkmk prend en charge bien plus qu’Active Directory. Pour changer de répertoire, par exemple pour OpenLDAP, sélectionnez-le dans le champ « Directory type » — les modifications de configuration supplémentaires résultant de cette action n’affectent que quelques emplacements.

Les serveurs de secours sont utilisés lorsque le serveur principal n’est pas accessible ou lorsqu’un délai a été dépassé. Cela s’avère utile lorsqu’aucun serveur local n’est utilisé, mais qu’il est souhaitable de créer une connexion redondante.

La connexion de Checkmk au serveur LDAP est toujours maintenue jusqu’à ce que le serveur LDAP ne soit plus accessible en raison d’un timeout ou d’autres problèmes. Ce n’est qu’alors que le basculement vers le serveur de failover est effectué. Il en va de même après le basculement : La connexion ne reviendra vers le serveur actuellement configuré que si le serveur de failover devient indisponible.

2.2. Définition des utilisateurs

Ensuite, les chemins d'accès aux utilisateurs et aux groupes seront définis, et les filtres configurés. Dans « User base DN », saisissez d'abord le chemin d'accès par lequel les utilisateurs doivent être trouvés. Assurez-vous ici que l'unité opérationnelle (OU) est configurée de manière à inclure tous les utilisateurs souhaités et le moins d'autres utilisateurs possible. Plus le nombre d'utilisateurs interrogés est élevé, plus la synchronisation sera lente à traiter.

Définissez ensuite l’option « Search scope ». Vous pouvez ici filtrer de manière récursive tous les utilisateurs situés dans l’OU et dans les unités qui lui sont subordonnées, ou limiter la recherche à ceux situés directement dans cette OU. Si vous avez saisi un utilisateur directement dans le chemin d’accès, vous devez sélectionner « Search only the entry at the base DN » — seul cet utilisateur sera alors inclus.

À l’aide de l’option « Search filter », vous pouvez affiner encore davantage la sélection des utilisateurs à importer. Si, par exemple, vous souhaitez synchroniser uniquement les utilisateurs appartenant à un groupe spécifique, définissez une requête LDAP comme indiqué dans la capture d’écran suivante. La condition préalable est que les utilisateurs possèdent l’attribut « memberof ». Vous trouverez ci-dessous comment filtrer par appartenance à un groupe, sans cet attribut.

ldap new connection users

Le filtre standard peut également être combiné avec l'attribut memberof ou avec d'autres filtres :

(&(objectclass=user)(objectcategory=person)(memberof=cn=cmk-admins,ou=groups,dc=mycompany,dc=org))

Comme le montre la case « Users », d’autres options sont disponibles pour la recherche d’utilisateurs. L’option « User-ID attribute » permet de spécifier l’attribut que l’utilisateur doit utiliser comme login dans Checkmk. L’utilisateur utilisera ensuite cet login lors de sa connexion. En règle générale, dans Active Directory, il s’agit de l’attribut « sAMAccountName », qui est utilisé par défaut dans Checkmk. Sous OpenLDAP, il s’agit souvent de l’attribut « uid ».

Les options Lower case User-IDs vous permettent de convertir les identifiants synchronisés en lettres minuscules. Cela peut s’avérer judicieux, car, comme déjà mentionné, Active Directory/LDAP ne fait pas la distinction entre les majuscules et les minuscules, contrairement à Checkmk. Cela peut entraîner une confusion que cette option permet de résoudre.

L'option Umlauts in User-IDs (deprecated) n'a été fournie que pour des raisons de compatibilité et ne devrait plus être utilisée ni modifiée.

Enfin, l'option « Create users only on login » vous permet de créer de nouveaux utilisateurs uniquement une fois qu'ils ont effectué le login sur Checkmk, plutôt que lors de la synchronisation avec LDAP.

ldap new connection users search filter 2

L'option « Filter group » ne doit être utilisée que si le serveur LDAP n'est pas un Active Directory et que l'attribut dynamique « memberof » n'est pas disponible dans les données utilisateur. Dans de tels cas, le filtrage des utilisateurs s'effectue directement dans Checkmk. Au cours de ce processus, il est possible que de nombreux utilisateurs soient interrogés, puis écartés par la suite. Le module LDAP de Checkmk permet d'éviter en grande partie ce type de scénario.

Si vous devez toutefois recourir à cette option, le chemin d'accès complet du groupe à filtrer doit être saisi ici :

ldap new connection users filter group

2.3. Définition des groupes

Si vous souhaitez filtrer les utilisateurs par groupe, définissez le chemin d’accès au groupe afin qu’une correspondance puisse être établie. Cela peut être effectué de la même manière que pour les utilisateurs : lorsqu’un groupe est spécifié directement, l’option « Search only the entry at the base DN » peut être utilisée sous « Search scope » ; sinon, la recherche sera effectuée soit directement dans l’unité organisationnelle (OU), soit en incluant également ses unités subordonnées.

Ici aussi, l’option Search filter permet de préciser comment le nom du groupe doit être défini dans Checkmk. Vous pouvez en outre spécifier le nom de l’attribut (Member attribute) dans lequel les membres du groupe sont enregistrés. Checkmk utilise par défaut member. Sous OpenLDAP, il peut également s’agir de uniqueMember. Modifiez l’option en conséquence.

ldap new connection groups

2.4. Test de la configuration

La configuration initiale est désormais terminée. À des fins de diagnostic, vous pouvez maintenant enregistrer la configuration et la tester à l’aide du bouton « Save & test ».

ldap new connection diagnostics

Il n’est pas nécessaire de spécifier des groupes pour obtenir une configuration fonctionnelle. Toutefois, si l’unité d’organisation (OU) ne contient que des utilisateurs pour Checkmk, il est judicieux de restreindre la sélection à l’aide d’un ou plusieurs groupes.

2.5. L'intervalle de synchronisation

Enfin, vous pouvez également définir la fréquence à laquelle les utilisateurs doivent être synchronisés automatiquement. Dans un environnement où les changements sont rares, la fréquence par défaut est peut-être trop élevée. Le délai ne doit toutefois pas être trop long, afin que tout changement puisse être pris en compte rapidement dans Checkmk.

ldap new connection other

Une synchronisation peut être lancée manuellement à tout moment dans Setup > Users > Users > Synchronize users. De plus, un utilisateur sera synchronisé si nécessaire lorsqu’il tentera de se connecter et n’aura pas encore été synchronisé.

3. Attribution automatique des attributs

3.1. Groupes de contact

Il n’est pas très utile de pouvoir créer automatiquement tous les utilisateurs s’il faut ensuite les attribuer manuellement à des groupes de contacts. Checkmk offre la possibilité d’utiliser les groupes du serveur LDAP pour permettre l’attribution à des groupes de contacts. Pour cela, activez l’option « Attribute sync plugins > Contactgroup Membership » :

ldap new connection contactgroup membership

Pour qu’une attribution soit réussie, le nom du groupe (cn) sur le serveur LDAP doit être identique à celui de Checkmk — c’est-à-dire que le groupe oracle_admins ne sera attribué à un utilisateur que s’il figure également dans le groupe oracle_admins sur LDAP. Si, au lieu de cela, il figure dans les groupes oracle-admins ou ORACLE_admins, l’attribution ne fonctionnera pas. Veillez donc à respecter la syntaxe correcte et à utiliser les majuscules et les minuscules de manière appropriée si des problèmes surviennent dans cette situation.

Groupes imbriqués

Checkmk offre également — actuellement uniquement pour Active Directory — la possibilité d’utiliser des groupes hérités. Activez cette option si, par exemple, votre utilisateur fait partie du groupe oracle_admins, et que ce groupe est lui-même membre de cmk-user.

Groupes provenant d'autres connexions

Si plusieurs connexions LDAP ont été créées dans Checkmk, des groupes provenant d’autres sources peuvent également être utilisés pour permettre une attribution. Cela peut s’avérer utile si une connexion générale a été configurée et que les autres sont filtrées uniquement pour des groupes particuliers.

3.2. Rôles

Les rôles peuvent également être attribués automatiquement de manière similaire, et la fonction « Groupes imbriqués » s’utilise ici de la même façon. Un ou plusieurs groupes peuvent être définis pour chaque rôle. Sélectionnez le rôle pour lequel une connexion doit être créée et saisissez le chemin d'accès complet vers le groupe. Par défaut, une recherche sera effectuée dans les groupes trouvés dans le filtre de groupes. D’autres connexions peuvent toutefois être recherchées afin d’utiliser les groupes qui s’y trouvent. Sélectionnez les connexions à rechercher dans la liste.

ldap new connection roles

Avec les paramètres indiqués dans l'image ci-dessus, tous les utilisateurs du groupe désigné seront attribués au rôle « Administrator », à condition qu'ils soient également synchronisés par le filtre d'utilisateurs. Comme le montre la capture d'écran, vous pouvez également sélectionner vos propres rôles configurés et les associer à des groupes LDAP.

3.3. Autres attributs

Pour la synchronisation d’autres informations utilisateur, il suffit en règle générale d’activer le plugin correspondant sous «Attribute Sync Plugins», et éventuellement de saisir l’attribut qui fournit ces informations. Vous trouverez ci-dessous un tableau répertoriant les plugins et les attributs utilisés (s’ils ne sont pas définis manuellement), ainsi qu’une brève description. Certains de ces attributs se trouvent également dans le menu «Utilisateur» d’un utilisateur.

Plugin Attribut Syntaxe Valeurs possibles Description

Alias

cn

Chaîne

Généralement le prénom et le nom de l'utilisateur.

Authentication Expiration

pwdlastset

Intervalle

Moment où un utilisateur sera déconnecté ou bloqué.

Disable notifications

disable_notifications

Booléen

True, False

True désactive toutes les notifications destinées à l'utilisateur.

Email address

mail

Chaîne

L'adresse électronique de l'utilisateur.

Mega menu icons

icons_per_item

Chaîne

None, entry

Affichez des icônes vertes par thème (None) ou des icônes colorées pour chaque entrée (entry) dans les menus Mega.

Navigation bar icons

nav_hide_icons_title

Chaîne

None, hide

Afficher uniquement des icônes (hide) ou des icônes avec un titre (None) dans la barre de navigation.

Pager

mobile

Chaîne

Un numéro de contact de téléphone ou de pager désigné.

Show more / Show less

show_mode

Chaîne

default_show_less, default_show_more, enforce_show_more

Afficher moins (default_show_less), plus (default_show_more) ou toujours tout (enforce_show_more) dans l'interface utilisateur. Pour plus d'informations sur les modes « Show less » et « Show more », consultez le Guide du débutant.

Sidebar position

ui_sidebar_position

Chaîne

None, left

Afficher la barre latérale à droite (None) ou à gauche (left).

Start URL to display in main frame

start_url

Chaîne

Exemples : view.py?view_name=allhosts ou dashboard.py

URL de la page d'accueil.

Temperature unit

temperature_unit

Chaîne

celsius, fahrenheit

Unité de température en degrés Celsius ou Fahrenheit pour l'affichage dans les graphiques et les Perf-O-Mètres.

User interface theme

ui_theme

Chaîne

facelift, modern-dark

Thème de l'interface utilisateur : Sombre (modern-dark) ou Clair (facelift).

Visibility of hosts/services

force_authuser

Booléen

True, False

Afficher tous les ordinateurs hôtes et services (False) ou uniquement ceux pour lesquels l'utilisateur est désigné comme contact (True).

4. LDAP dans les environnements distribués

Lors de la configuration d'une supervision distribuée avec une configuration centrale, vous pouvez spécifier si, et quelles connexions LDAP doivent être synchronisées depuis l'instance distante. Sauf indication contraire, l'instance distante synchronisera elle-même tous les utilisateurs de la connexion configurée. De cette manière, les modifications seront automatiquement répercutées sur chaque instance dans le délai défini et n'ont pas besoin d'être d'abord copiées de l'instance centrale vers l'instance distante. La synchronisation peut également être limitée à des connexions spécifiques ou complètement désactivée. Dans ce dernier cas, les utilisateurs de l'instance centrale sont récupérés à partir des connexions LDAP et copiés vers les instances distantes lors de l'activation des modifications.

Vous pouvez configurer ces paramètres dans Setup > General > Distributed monitoring, dans l’Properties de la connexion. Voici un exemple où la connexion configurée ci-dessus est sélectionnée :

ldap distributed monitoring sync ldap

5. Sécurisation de LDAP avec SSL

Pour sécuriser la connexion LDAP avec SSL, il suffit de cocher la case à cocher « Use SSL » dans les données de connexion et de saisir l'adresse TCP port (généralement 636 pour SSL dans LDAP).

ldap new connection ldap connection ssl

Si le ou les serveurs LDAP utilisent un certificat signé par une autorité de certification de confiance, tout ce qui est nécessaire pour établir une connexion cryptée est déjà en place.

Si un certificat auto-signé doit être utilisé, la connexion ne peut être établie qu’après l’importation du certificat dans le magasin de certificats. Ce n’est qu’alors qu’il sera classé comme fiable et que la connexion sera établie.

Pour ce faire, rendez-vous simplement sur Setup > General > Global settings > Site management > Trusted certificate authorities for SSL. Cliquez sur « Add new CA certificate or chain » (Importer un certificat) et collez le contenu de votre fichier CRT ou PEM, ou sélectionnez « Upload CRT/PEM File » (Importer un certificat) et procédez de la même manière.

ldap add new ca certificate

6. Diagnostic des erreurs

Un diagnostic des erreurs est intégré directement dans les paramètres de configuration. Même après la configuration, il est possible de checker ici l'origine éventuelle d'une erreur. Les messages d'erreur seront en outre consignés dans le fichier web.log. Ces messages peuvent également indiquer l'origine d'une erreur :

~/var/log/web.log
2020-09-19 16:03:17,155 [40] [cmk.web 31797] /ldaptest/check_mk/wato.py Internal error: Traceback (most recent call last):
  File "/omd/sites/ldaptest/share/check_mk/web/htdocs/wato.py", line 6563, in mode_edit_ldap_connection
    state, msg = test_func(connection, address)
  File "/omd/sites/ldaptest/share/check_mk/web/htdocs/wato.py", line 6506, in test_group_count
    connection.connect(enforce_new = True, enforce_server = address)
  File "/omd/sites/ldaptest/share/check_mk/web/plugins/userdb/ldap.py", line 274, in connect
    ('\n'.join(errors)))
MKLDAPException: LDAP connection failed:
ldap://myldap.mycompany.org: Can't contact LDAP server

7. Fichiers et répertoires

Chemin d'accès au fichier Fonction

~/etc/check_mk/multisite.d/wato/user_connections.mk

Toutes les connexions LDAP configurées dans la Configuration seront conservées dans ce fichier.

~/etc/check_mk/multisite.d/wato/users.mk

Tous les utilisateurs seront définis ici.

~/var/log/web.log

Le fichier journal dans lequel les erreurs de connexion sont enregistrées — il s'agit donc de l'une des premières sources d'information en cas de problème.


Last modified: Tue, 20 Jan 2026 14:55:16 GMT via commit e0de082a1
Sur cette page