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

Dans cet article, nous allons vous présenter tout ce qu’il faut savoir sur la gestion des utilisateurs dans Checkmk. Mais avant d’entrer dans les détails, nous devons d’abord clarifier quelques termes.

Dans Checkmk, un utilisateur est une personne qui a accès à l'interface utilisateur. Un utilisateur possède un ou plusieurs rôles. Ces rôles constituent la base des autorisations.

Dès qu’un utilisateur est responsable d’ordinateurs hôtes et de services spécifiques, il est identifié comme un contact. Un contact ne voit normalement que ses propres ordinateurs hôtes et services dans l’environnement de supervision et peut être averti de tout problème les concernant.

Il existe également des utilisateurs qui ne sont pas des contacts. C'est le cas, par exemple, de l'utilisateur cmkadmin, qui est généré automatiquement lors de la création d'une instance. Cet utilisateur est autorisé à voir tous les ordinateurs hôtes et services, mais uniquement parce que le rôle Administrator contient l'autorisation See all hosts and services, et pas nécessairement parce qu'il serait un contact pour tout.

Si un contact a été créé dans le seul but de recevoir des notifications (par exemple, pour transférer des notifications vers un système de tickets), il peut être utile de le configurer de manière à ce qu’aucun login à l’interface ne soit possible.

Un contact est toujours membre d’un ou plusieurs groupes de contacts. Ces groupes ont pour but d’affecter des contacts à des ordinateurs hôtes et à des services. Par exemple, le contact hhirsch pourrait faire partie du groupe de contacts linux, lequel pourrait à son tour être affecté à tous les ordinateurs hôtes Linux via une règle. Une affectation directe de contacts à des ordinateurs hôtes ou à des services n’est pas possible et pourrait en fait créer des difficultés dans la pratique (par exemple, lorsqu’un utilisateur quitte l’organisation).

En résumé :

  • Les utilisateurs peuvent utiliser l'interface utilisateur.

  • Les contacts sont des utilisateurs responsables d'ordinateurs hôtes et de services spécifiques.

  • Les groupes de contact définissent les responsabilités d'un utilisateur.

  • Les rôles définissent les autorisations dont dispose un utilisateur.

2. Gestion des utilisateurs dans l'environnement de configuration

2.1. Aperçu

La page de gestion des utilisateurs se trouve à l'adresse Setup > Users > Users. Dans une instance nouvellement créée, cette page se présente comme suit (l'image ne montre que quelques colonnes du tableau) :

List of users with administrator attributes.

L'image ci-dessus montre tous les utilisateurs qui ont été créés automatiquement lors de la création de l'instance : Un utilisateur de l'automatisation, suivi de l'utilisateur unique (cmkadmin) pour le login interactif avec mot de passe. Avec la Checkmk Appliance, cet utilisateur peut avoir un nom différent, car vous définissez vous-même son nom et son mot de passe. Cet utilisateur cmkadmin possède les propriétés suivantes :

  • Il dispose du rôle Administrator et, par conséquent, de toutes les autorisations.

  • Il n'est pas un contact pour aucune affaire et ne reçoit aucune notification.

  • Il peut néanmoins tout voir (en raison de son rôle d'Administrator).

  • Vous choisissez le mot de passe de cet utilisateur lors de la création de l'instance. Vous pouvez également modifier ce mot de passe à tout moment par la suite.

Le formulaire permettant de créer un nouvel utilisateur (via Button for creating a new user.) ou d'effectuer l'édition d'un utilisateur existant (via Icon for editing.) est divisé en cinq sections. La première section concerne l'identité.

2.2. Identité

Dialog for a user's identity.

Comme toujours dans Checkmk, l’ID d’un ensemble de données (Username) ne peut pas être modifié ultérieurement. Il est utilisé pour la connexion et sert également de clé interne dans tous les fichiers et toutes les structures de données.

L'adresse électronique est facultative et n'est requise que si l'utilisateur doit devenir un contact devant être notifié par courrier électronique (configuration SMTP requise). De même, le champ « Pager address » est destiné à la notification par SMS ou via des systèmes similaires. Si vous écrivez vos propres scripts de notification, vous pouvez accéder aux valeurs de ces champs et les utiliser à toutes fins utiles.

Avec Monitored sites, vous pouvez, si vous le souhaitez, limiter l'accès aux instances existantes. Ceci est particulièrement pratique pour les environnements de très grande envergure, tels qu'une supervision distribuée comprenant des centaines d'instances. Si un utilisateur n'a besoin que d'un certain nombre d'instances pour ses ordinateurs hôtes, l'interface graphique ne contactera que les instances sélectionnées pour configurer les vues, ce qui améliore considérablement les performances.

2.3. Sécurité

Dialog for a user's security settings.

Cette section concerne le login et l’autorisation. L’option « Automation secret for machine accounts » est destinée aux comptes qui accèdent à Checkmk via HTTP/HTTPS et s’authentifient via l’URL. Nous vous montrerons comment procéder ci-dessous.

En ce qui concerne les rôles, vous devez en sélectionner au moins un. En théorie, vous pourriez attribuer plusieurs rôles à un utilisateur, qui bénéficierait alors des droits de tous ces rôles. Avec les rôles prédéfinis, cela n’aurait toutefois guère de sens.

Si vous bloquez des utilisateurs à l'aide de l'option « disable the login to this account », ils apparaîtront dans le tableau avec l'icône « Icon of a locked user. ». Ils ne pourront plus se connecter, mais resteront dans le système. Si un utilisateur est un contact, les notifications ne seront pas affectées et l'utilisateur continuera à recevoir des courriers électroniques, etc. Si l'utilisateur était connecté au moment du blocage, il sera automatiquement déconnecté.

2.4. Groupes de contact

Dialog for a user's contact groups.

Dès que vous affectez un utilisateur à un ou plusieurs groupes de contacts, cet utilisateur devient un contact. Lorsqu’une nouvelle instance est créée, le groupe de contact « Everything » est également créé ; il contient toujours tous les ordinateurs hôtes et tous les services. Un utilisateur appartenant à ce groupe sera alors automatiquement responsable de tous les ordinateurs hôtes et services.

2.5. Notifications

Dialog for a user's notification settings.

Dans la boîte de dialogue « Notifications », vous pouvez utiliser l'option « Receive fallback notifications » pour spécifier que ce contact recevra des notifications lorsqu'aucune règle de notification ne s'applique.

2.6. Paramètres personnels

Dialog for a user's personal settings.

Les utilisateurs peuvent également modifier eux-mêmes tous les paramètres de cette case via User > Edit profile (sauf s’ils disposent du rôle « Guest user »). Hormis le choix de la langue de l’interface, ces paramètres sont rarement nécessaires. Vous trouverez comme toujours plus de détails dans l’aide en ligne.

2.7. Paramètres de l'interface

Dialog for a user's interface settings.

Les utilisateurs peuvent également personnaliser eux-mêmes les paramètres de l'interface via User > Edit profile. L'option « Show more / Show less » (Afficher plus ou moins) est particulièrement intéressante, car elle permet de déterminer si Checkmk doit afficher plus ou moins d'informations dans l'interface. Si vous souhaitez toujours tout voir, vous pouvez forcer cette option ici avec « Enforce show more » (Afficher tout).

3. Groupes de contact

3.1. Création et édition des groupes de contact

Les groupes de contacts constituent le lien entre les ordinateurs hôtes et les services d’une part, et les contacts d’autre part. Chaque groupe de contacts représente une responsabilité pour un domaine spécifique de votre environnement informatique. Par exemple, le groupe de contacts « SAP » pourrait regrouper toutes les personnes chargées de la maintenance des systèmes SAP et être affecté à tous les ordinateurs hôtes et services fournissant ces services dans cet environnement.

Vous gérez les groupes de contacts via Setup > Users > Contact groups. La figure suivante illustre ce module avec trois groupes de contacts créés manuellement :

List of contact groups.

La création d’un nouveau groupe est très simple. Comme toujours, l’ID est permanent et l’alias est un nom d’affichage que vous pouvez modifier ultérieurement à tout moment :

Dialog for name and alias of contact groups.

Le nouveau groupe de contacts est vide à deux égards : il ne contient ni contacts, ni ordinateurs hôtes, ni services. L'affectation des groupes de contacts aux contacts s'effectue via les profils utilisateur, comme vous l'avez déjà vu lors de l'édition de l'utilisateur.

Configuration de la visibilité de l'inventaire

De plus, vous pouvez définir la visibilité de l'inventaire trouvé avec l'inventaire matériel/logiciel. Par défaut, l'inventaire complet est visible, mais il peut également être complètement masqué ou activé de manière sélective à l'aide de l'option « Allowed to see parts of the tree » et des chemins d'inventaire internes :

Dialog for visibility of inventory data.

Pour pouvoir saisir les informations de chemin d'accès requises, vous devez d'abord les extraire des données d'inventaire. Vous pouvez ensuite utiliser ces informations pour remplir les chemins d'accès et les clés afin de rendre visibles, par exemple, uniquement certaines données d'inventaire sélectionnées du processeur (modèle et architecture) :

Dialog for visibility of inventory data with CPU filter.

3.2. Ajouter des ordinateurs hôtes à un groupe de contact

Il existe deux méthodes pour inclure des ordinateurs hôtes dans des groupes de contacts : via un dossier et via des règles. Vous pouvez également combiner les deux méthodes. Dans ce cas, une agrégation des groupes de contacts respectifs sera attribuée à l'ordinateur hôte.

Attribution à l'aide de dossiers

Vous pouvez accéder aux propriétés d'un dossier via Folder > Properties lorsque vous vous trouvez dans le dossier. Vous y trouverez l'option « Permissions ». Cochez cette case à cocher pour accéder à la sélection des groupes de contacts :

Dialog for assigning contact groups to folders.

L'intérêt réel de cette option est de définir des autorisations pour la gestion des ordinateurs hôtes, ce que nous expliquons en détail ci-dessous.

Dès que vous avez attribué des autorisations à des groupes de contacts spécifiques, vous pouvez à votre tour saisir ces groupes comme groupes de contacts pour les ordinateurs hôtes dans la supervision. Ce faisant, vous pouvez décider si les attributions doivent également s’appliquer aux ordinateurs hôtes des sous-dossiers et si les services de ces ordinateurs hôtes doivent également recevoir explicitement ces groupes. Les services sans attribution explicite héritent de tous les groupes de contacts d’un ordinateur hôte, y compris ceux attribués par des règles.

Tip

L’héritage de l’attribut « Permissions » (Groupe de contacts) au niveau des dossiers est alors ignoré. Cela vous permet d’ajouter davantage de groupes de contacts aux sous-dossiers. L’attribution s’effectue donc également de manière cumulative via tous les dossiers parents, si l’option « Add these groups as contacts to all hosts in all subfolders of this folder » (Hériter des groupes de contacts) a été activée dans ces dossiers parents.

Par ailleurs, vous pouvez également trouver les options de groupes de contacts sous une forme simplifiée directement dans les détails d’un hôte. Cela signifie que vous pouvez également les utiliser pour attribuer des groupes de contacts à des hôtes individuels. Cependant, comme cela peut rapidement devenir assez déroutant, vous ne devriez le faire que dans des cas exceptionnels et, si cela s’avère nécessaire, vous préférerez peut-être travailler avec des règles.

Attribution à l'aide de règles

La deuxième méthode — l'attribution de groupes de contacts via des règles — est un peu plus fastidieuse, mais beaucoup plus flexible. Elle s'avère très utile si vous n'avez pas configuré votre structure de dossiers selon des principes organisationnels structurés et que vous ne pouvez donc pas attribuer clairement des dossiers à des groupes de contacts.

L'ensemble de règles « Assignment of hosts to contact groups » requis à cet effet est disponible via Setup > Hosts > Host monitoring rules. Dans cet ensemble de règles, vous trouverez une règle prédéfinie qui a été générée lors de la création de l'instance et qui attribue tous les ordinateurs hôtes au groupe de contact « Everything ».

Rule set for assigning hosts to contact groups.

Notez que cet ensemble de règles est défini de telle sorte que toutes les règles applicables soient évaluées, et pas seulement la première ! Il peut être utile qu’un ordinateur hôte appartienne à plusieurs groupes de contacts. Dans ce cas, vous aurez besoin d’un jeu de règles pour chaque attribution.

Dialog for assigning hosts to the Windows-Servers contact group.

3.3. Inclusion de services dans des groupes de contact

Il n’est pas toujours judicieux qu’un service fasse partie des mêmes groupes de contacts que son hôte. Vous pouvez donc utiliser le jeu de règles « Assignment of services to contact groups » (Hôte/Service) indépendamment des groupes de contacts de l’hôte. Les règles suivantes s’appliquent :

  • Si aucun groupe de contacts n’est attribué à un service, celui-ci hérite automatiquement des mêmes groupes de contacts que son ordinateur hôte.

  • Dès qu’au moins un groupe de contacts est explicitement attribué à un service, celui-ci n’hérite plus des groupes de contacts de l’ordinateur hôte.

Dans un environnement simple, il suffit donc d’attribuer des groupes de contacts aux ordinateurs hôtes uniquement. Dès que vous avez besoin d’une plus grande différenciation, vous pouvez également créer des règles pour les services.

3.4. Contrôle des attributions

Vous pouvez vérifier si vous avez correctement configuré toutes les règles et tous les dossiers en consultant les détails d'un ordinateur hôte ou d'un service dans l'environnement de supervision. Vous y trouverez les entrées « Host contact groups » et « Host contacts » (ou « Service contact groups » et « Service contacts » respectivement), qui répertorient la liste des affectations réelles pour cet objet :

List of host details.

4. Visibilité des ordinateurs hôtes et des services

4.1. Aperçu

Le fait que les utilisateurs normaux (rôle Normal monitoring user) ne voient que les objets pour lesquels ils sont désignés comme contact est d'autant plus important que votre environnement de supervision est vaste. Cela permet non seulement d'avoir un aperçu clair, mais empêche également les utilisateurs d'intervenir là où ils n'ont pas à le faire.

En tant qu’administrateur (rôle « Administrator »), vous êtes bien sûr toujours autorisé à tout voir. Ceci est contrôlé via l’autorisation « See all host and services ». Dans vos paramètres personnels, vous trouverez à l’adresse Visibility of hosts/services la case à cocher « Only show hosts and services the user is a contact for ». Grâce à celle-ci, vous pouvez renoncer volontairement à la vue d’ensemble et n’afficher que les ordinateurs hôtes et les services pour lesquels vous êtes un contact. Cette option est destinée aux rôles doubles, c’est-à-dire aux personnes qui sont à la fois administrateurs et utilisateurs normaux.

Le rôle « Guest user » est prédéfini de manière à ce que ses utilisateurs puissent également tout voir. Les interventions ou les paramètres personnels sont désactivés ici.

Pour les utilisateurs normaux, la visibilité dans l’environnement de supervision est implémentée de telle sorte que les ordinateurs hôtes et les services pour lesquels vous n’êtes pas contact semblent ne pas exister dans le système. Entre autres, les éléments suivants tiennent compte de la visibilité :

4.2. Visibilité des services

Comme nous l'avons montré ci-dessus, il est possible que vous soyez un contact pour un ordinateur hôte, mais pas pour tous ses services. Néanmoins, dans un tel cas, vous pourrez voir tous les services de l'ordinateur hôte dans l'interface graphique.

Cette exception est activée par défaut, car elle s’avère généralement utile. En pratique, cela signifie, par exemple, que le collègue responsable de l’ordinateur hôte en question peut également voir tous les services connectés à cet ordinateur hôte — il ne reçoit toutefois aucune notification concernant ces services !

Si cette approche ne vous convient pas, vous pouvez la modifier dans les éditions commerciales via Global settings > Monitoring core > Authorization settings. Si vous y modifiez le paramètre « Services » (Afficher les services pour les contacts de l’hôte) en « Strict - Visible if user is contact for the service » (Afficher les services uniquement pour les contacts de l’hôte), les utilisateurs ne pourront voir les services que s’ils ont été directement désignés comme contacts pour le service.

Dialog with authorization settings.

Soit dit en passant, tout cela n’a rien à voir avec le fait qu’un service hérite des groupes de contacts de son ordinateur hôte si aucun groupe de contacts ne lui a été attribué, car dans ce cas, vous seriez un contact pour ce service et recevriez donc ses notifications.

4.3. Groupes d'hôtes et de groupes de service

La deuxième option de l'Authorization settingse globale concerne les groupes d'hôtes et de service. Vous pouvez normalement voir un groupe dès lors que vous pouvez voir au moins un élément de ce groupe ; toutefois, le groupe apparaîtra alors comme s'il ne contenait que les éléments qui vous sont visibles.

En passant en mode « Strict - Visible if all members are visible », tous les groupes pour lesquels vous n’êtes pas contact pour au moins un ordinateur hôte ou un service seront masqués.

Notez que ces deux paramètres de visibilité n'ont aucune incidence sur les notifications.

5. Notifications

Les affectations de contacts ont également une influence sur les notifications. Checkmk est configuré par défaut de manière à ce que tous les contacts associés à l'ordinateur hôte ou au service concerné soient avertis en cas de problème. Ceci est rendu possible par une règle de notification globale générée automatiquement lors de la création de nouvelles instances. Il s'agit d'une fonctionnalité très utile.

Néanmoins, si nécessaire, vous pouvez adapter une règle ou la compléter par d’autres règles, de sorte que, dans des cas extrêmes, les notifications puissent être envoyées de manière totalement indépendante des groupes de contact. Une raison courante pour cela est qu’un utilisateur souhaite ne pas recevoir certaines notifications, ou inversement, être informé des problèmes concernant des ordinateurs hôtes ou des services individuels, même s’il n’en est pas directement responsable (et n’est donc pas un contact explicite).

Vous trouverez des détails sur la règle de notification globale fournie par Checkmk dans le Guide du débutant.

6. Rôles et autorisations

6.1. Rôles prédéfinis

Checkmk attribue toujours les autorisations aux utilisateurs via des rôles — jamais directement. Un rôle n’est rien d’autre qu’une liste d’autorisations. Il est important de comprendre que les rôles définissent le niveau d’autorisations et ne font référence à aucun hôte ou service. C’est à cela que servent les groupes de contact.

Checkmk est fourni avec les rôles prédéfinis suivants, qui ne peuvent jamais être supprimés, mais peuvent être personnalisés à votre guise :

Nom du rôle Alias Autorisations Fonction

admin

Administrateur

Toutes les autorisations — en particulier le droit de modifier les autorisations.

L'administrateur Checkmk chargé de la maintenance du système de supervision lui-même.

user

Utilisateur de supervision standard

Ne peut voir que ses propres ordinateurs hôtes et services, apporter des modifications dans l'interface web uniquement dans les dossiers partagés pour ceux-ci, et ne peut généralement rien faire qui affecte les autres utilisateurs.

L'utilisateur Checkmk standard qui accède à la supervision et réagit aux notifications.

agent_registration

Utilisateur chargé de l'enregistrement des agents

Autorisation d’enregistrer l’agent Checkmk d’un ordinateur hôte auprès du serveur Checkmk pour la transmission de données cryptées par TLS — rien d’autre.

Ce rôle est attribué à l'utilisateur de l'automatisation agent_registration afin d'effectuer un enregistrement avec des droits minimaux. Dans Checkmk Ultimate d'CSE, ce rôle comprend des autorisations supplémentaires pour la création automatique d'ordinateurs hôtes.

guest

Utilisateur invité

Peut tout voir mais ne peut rien modifier.

Le rôle « Invité » est simplement destiné à la « consultation » ; tous les invités partagent un compte commun. Également utile pour les moniteurs de supervision « publics » accrochés au mur.

no_permissions

Modèle vide pour les rôles à privilèges minimaux

Ne peut rien faire.

Ce rôle n'est pas destiné à être attribué directement. Il peut plutôt être utilisé pour créer de nouveaux rôles dotés uniquement des autorisations minimales requises. Si de nouvelles autorisations devaient être ajoutées ou si celles existantes venaient à changer dans de futures versions de Checkmk, vous pouvez être certain qu'un rôle dérivé de no_permissions ne recevra aucune nouvelle autorisation inattendue.

La gestion des rôles se fait via Setup > Users > Roles & permissions :

List of user roles.

À ce propos, lors de la création d’une nouvelle instance Checkmk, un seul utilisateur (cmkadmin) doté du rôle « Administrator » est créé pour le login à l’interface Checkmk. Les autres rôles possibles ne seront pas utilisés pour le moment. Si vous avez besoin d’un utilisateur invité, vous devez le créer vous-même.

6.2. Personnalisation des rôles existants

Comme d'habitude, l'Icon for editing. vous permet d'accéder au mode d'édition d'un rôle :

List of permissions for a user role.

Vous pouvez découvrir la signification des différentes autorisations (présentées ici sous forme d'extraits) dans l'aide en ligne.

La particularité ici est que pour chaque autorisation, trois choix s’offrent à vous : yes, no et default (yes) ou default (no). Lors de l’installation, toutes les valeurs sont définies sur default. Pour l’autorisation elle-même, cela ne fait aucune différence que vous ayez défini yes ou default (yes). Il est toutefois possible que l’installation d’une nouvelle version de Checkmk modifie une valeur par défaut (même si cela arrive très rarement). Un paramètre que vous avez explicitement défini ne serait alors pas affecté par l’installation.

De plus, ce principe vous permet de repérer très rapidement les éventuels écarts de votre installation Checkmk par rapport à la norme.

6.3. Définition de vos propres rôles

Vous serez peut-être surpris de constater qu’il n’existe pas de bouton permettant de créer un nouveau rôle. Cette absence est délibérée. Vous créez de nouveaux rôles en les dérivant de rôles existants à l’aide de Icon for cloning. Clone. Le nouveau rôle n’est pas simplement créé en tant que copie, mais conserve son lien avec le rôle d’origine (Based on role) :

Basic properties of a newly created user role.

Cette connexion remplit une fonction importante. En effet, toutes les autorisations du rôle cloné qui ne sont pas définies explicitement (c'est-à-dire qui sont toujours définies sur « default ») seront héritées du rôle source. Les modifications ultérieures apportées au rôle source seront répercutées sur le nouveau rôle cloné. C'est très pratique si l'on considère le nombre d'autorisations que peut comporter le rôle d'origine. Avec une simple copie, vous pourriez facilement perdre de vue ce qui est réellement particulier dans le rôle que vous avez défini pour vous-même.

Cette fonction de dérivation résout également un autre problème : Comme nous continuons à développer Checkmk, de nouvelles autorisations sont constamment ajoutées. À chaque fois, nous devons alors décider dans lequel des trois rôles Administrator, Normal monitoring user et Guest user la nouvelle autorisation doit être intégrée. Comme chacun de vos propres rôles est dérivé d’un des rôles prédéfinis, la nouvelle autorisation est automatiquement préréglée sur une valeur pertinente. Il serait très peu pratique si, par exemple, vous définissiez votre propre rôle d’utilisateur et que de nouvelles autorisations y manquaient systématiquement. Vous devriez adapter votre rôle à chaque nouvelle fonctionnalité pour que vos utilisateurs puissent les utiliser.

6.4. Comparaison des rôles à l'aide de la vue de la table

Si vous souhaitez comparer les autorisations des différents rôles, vous pouvez vous aider de la vue de la table, accessible via Setup > Users > Roles & permissions > Roles > Permission matrix. Cette option de menu affiche la vue suivante, dans laquelle vous pouvez non seulement comparer les autorisations des différents rôles, mais également voir où des autorisations ont été explicitement définies (Icon of an existing permission.) ou supprimées (Icon of a missing permission.).

Matrix view with comparison of user roles.

7. Paramètres personnels

Chaque utilisateur peut gérer un petit nombre de paramètres propres à son profil. Vous trouverez une description détaillée de toutes les options disponibles dans l'article consacré à l'interface utilisateur.

Remarque supplémentaire concernant la supervision distribuée : Dans un environnement distribué, tout nouveau paramètre est immédiatement transféré à toutes les instances de supervision. C’est le seul moyen de garantir, en particulier, qu’un mot de passe nouvellement attribué fonctionne immédiatement partout — et pas seulement après la prochaine activation des modifications. Toutefois, cela ne fonctionne que pour les instances accessibles via le réseau à ce moment-là. Toutes les autres instances reçoivent les mises à jour lors de la prochaine activation réussie des modifications.

8. Utilisateurs spéciaux

Jusqu’à présent, nous avons décrit comment créer un « utilisateur standard ». Cependant, pour diverses raisons, certains utilisateurs disposent de droits ou de fonctions spécifiques.

Il s'agit, par exemple, des administrateurs et des utilisateurs de l'automatisation. Nous aborderons leurs particularités ci-dessous.

8.1. Administrateur

Lors de l’installation de Checkmk, un administrateur est créé par défaut, comme déjà mentionné ci-dessus. Cet administrateur est nommé cmkadmin. Vous pouvez désormais continuer à travailler avec cet administrateur comme vous le souhaitez, mais il se peut que vous ne souhaitiez pas utiliser cet administrateur par défaut. Par exemple, en raison de la réglementation interne de l’entreprise, parce que vous souhaitez définir plusieurs administrateurs, ou pour vous conformer à des recommandations de sécurité telles que la norme OWASP Application Security Verification Standard (ASVS).

Tout d’abord, un administrateur est un utilisateur comme les autres. Il est donc créé comme décrit dans le chapitre « Administration des utilisateurs » de l’environnement de configuration. Cependant, ce sont les droits attribués à l’utilisateur via le rôle sélectionné qui sont déterminants.

Selecting the Administrator role for a user.

Sélectionnez le rôle «Administrator» lors de la création de l'utilisateur. Tous les autres paramètres sont également définis pour l'administrateur en fonction de vos préférences personnelles ou des spécifications internes de l'entreprise.

8.2. Utilisateur de l'automatisation (pour les services web)

Lors de la connexion de Checkmk à d’autres systèmes, on souhaite souvent automatiser certaines activités qui s’effectuent normalement via l’interface graphique. En voici quelques exemples :

  • Définition et suppression des périodes de maintenance planifiées à l'aide d'un script.

  • Gestion des ordinateurs hôtes via l'API REST.

  • Récupération de données à partir de vues de la table aux formats CSV ou JSON en vue d'un processus ultérieur.

  • Récupération de l'état actuel des agrégations BI afin de les créer en tant que service.

Dans de telles situations, un logiciel externe doit pouvoir récupérer automatiquement certaines URL depuis l’interface Checkmk. Cela soulève bien sûr la question de la manière dont l’utilisateur se connecte. La méthode habituelle via le dialogue de login est fastidieuse et nécessite la récupération de plusieurs URL successives ainsi que l’enregistrement d’un cookie.

Pour simplifier cela, Checkmk propose le concept d’utilisateurs de l’automatisation. Ces utilisateurs sont exclusivement destinés au contrôle à distance et ne permettent pas de login normal via l’interface graphique. L’authentification s’effectue ici via l’authentification HTTP Basic.

Un utilisateur de l'automatisation est déjà configuré sur chaque instance Checkmk : il sert à enregistrer l'agent auprès du serveur Checkmk pour le transfert de données chiffré par TLS. Pour d'autres tâches, vous pouvez créer des utilisateurs de l'automatisation supplémentaires, généralement avec le rôle « administrator ». Vous créez un utilisateur de l'automatisation comme un utilisateur normal, mais vous ne lui attribuez pas un mot de passe normal, mais un mot de passe d'automatisation (Automation secret). Vous pouvez faire créer ce mot de passe automatiquement à l'aide du cube « Icon for rolling the dice. » :

Automation user security settings.
Important

L'authentification HTTP de base requiert par défaut le mot de passe d'automatisation en texte clair. Pour ce faire, activez l'option « Store the secret in cleartext ». Le mot de passe est alors enregistré dans le répertoire d'instances sous « ~/var/check_mk/web/<username>/automation.secret ». Cette opération est nécessaire pour toutes les règles et tous les scripts qui utilisent le mot de passe d'automatisation.

Un utilisateur de l'automatisation a un rôle tout comme un utilisateur normal et peut également être un contact. Cela signifie que vous pouvez restreindre les autorisations et la visibilité des ordinateurs hôtes et des services selon vos besoins.

Pour la récupération automatique de pages Web, vous devez ensuite saisir l'en-tête de l'authentification HTTP Basic, qui se présente généralement comme suit : Authorization: Basic 1234567890abcdef. Cette chaîne de caractères correspond à la forme encodée en Base64 de username:password.

Voici un exemple de récupération d'une vue de la table au format JSON avec l'utilisateur de l'automatisation automation et son mot de passe d'automatisation — l'encodage Base64 est effectué par curl :

root@linux# curl --user automation:a8075a39-e7fe-4b5c-9daa-02635 'http://moni01.mycompany.net/mysite/check_mk/view.py?view_name=svcproblems&output_format=json'
 [
  "service_state",
  "host",
  "service_description",
  "service_icons",
  "svc_plugin_output",
  "svc_state_age",
  "svc_check_age",
  "perfometer"
 ],
 [
  "CRIT",
  "stable",
  "Filesystem /",
  "menu pnp",
  "CRIT - 96.0% used (207.27 of 215.81 GB), (warn/crit at 80.00/90.00%), trend: +217.07 MB / 24 hours",
  "119 min",
  "30 sec",
  "96%"
 ],
 ...
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Si le script qui récupère l'URL s'exécute directement sur le site de supervision, vous pouvez lire le mot de passe d'automatisation de l'utilisateur directement à partir du système de fichiers. Il ne s'agit pas d'une faille de sécurité, mais d'une fonctionnalité intentionnelle : Vous pouvez écrire des scripts d'automatisation qui n'ont pas besoin de contenir le mot de passe d'automatisation et qui ne nécessitent pas de fichier de configuration. Pour ce faire, lisez le fichier ~/var/check_mk/web/myuser/automation.secret :

OMD[mysite]:~$ cat var/check_mk/web/automation/automation.secret
a8075a39-e7fe-4b5c-9daa-02635
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Vous pouvez facilement stocker le contenu de ce fichier dans une variable du shell, par exemple afin de pouvoir le lire ultérieurement à l'aide d'un script :

OMD[mysite]:~$ SECRET=$(cat var/check_mk/web/automation/automation.secret)
OMD[mysite]:~$ echo "$SECRET"
a8075a39-e7fe-4b5c-9daa-02635
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

9. Login automatique via l'URL

Important

Le login automatique via l'URL dans le navigateur décrit ci-dessous a été désactivé pour des raisons de sécurité depuis la version Checkmk 2.2.0 , car les identifiants (nom d'utilisateur et mot de passe) transmis via l'URL sont enregistrés dans les fichiers journaux de l'Apache spécifique à l'instance (voir Werk #14261). Si vous souhaitez utiliser le login automatique via l'URL malgré ce risque de sécurité, vous devez l'activer explicitement à l'aide du paramètre global Setup > General > Global settings > User interface > Login via GET requests.

Comme nous l'avons vu, vous pouvez utiliser des utilisateurs de l'automatisation pour récupérer n'importe quelle URL à l'aide d'un script, sans avoir besoin de vous connecter. Dans les situations qui nécessitent un véritable login au navigateur, cela ne fonctionne toutefois pas, car les données de login pour tous les liens inclus (par exemple vers des images et des iframes) ne sont pas transmises.

Le meilleur exemple en est le souhait d’accrocher au mur un écran affichant en continu un tableau de bord Checkmk spécifique. Cet écran doit être contrôlé par un ordinateur qui ouvre automatiquement le navigateur au démarrage, se connecte à Checkmk et affiche le tableau de bord requis.

Pour ce faire, il est préférable de créer au préalable un utilisateur dédié à cette fin. Le rôle « Guest user » est particulièrement adapté à cette fonction, car il accorde tous les droits de lecture, mais n’autorise aucune modification ni intervention.

Construisez l'URL pour un login automatique comme suit :

  1. Commencez par : http://mycmkserver/mysite/check_mk/login.py?_origtarget=

  2. Déterminez l'URL réelle à afficher (par exemple celle du tableau de bord) à l'aide de votre navigateur — de préférence sans navigation — ce qui peut être fait en supprimant Display > Show page navigation.

  3. Ajoutez cette URL, en omettant tout ce qui précède la partie /mysite/.

  4. Ajoutez à l'URL les deux variables _username et _password sous la forme suivante : &_username=myuser&_password=mysecret.

  5. Ajoutez un autre &_login=1.

Voici un exemple d'une telle URL :

http://mycmkserver/mysite/check_mk/login.py?_origtarget=/mysite/check_mk/dashboard.py?name=mydashboard&_username=myuser&_password=mypassword&_login=1

Remarque :

  • Dans l'exemple, remplacez les valeurs mycmkserver, mysite, myuser et mypassword par vos propres valeurs. Vous ne pouvez pas utiliser l'utilisateur de l'automatisation myuser, car la connexion via l'interface graphique n'est pas autorisée pour cet utilisateur.

  • Si les caractères spéciaux & ou % apparaissent dans l'une de ces valeurs ou dans la valeur de _origtarget, vous devez les remplacer comme suit : & par %26 et % par %25.

Testez le tout en vous déconnectant de Checkmk depuis votre navigateur, puis en copiant l'URL ainsi construite dans la barre d'adresse de votre navigateur. Vous devez alors être redirigé directement vers la page cible, sans passer par un dialogue de login. Vous serez alors connecté et pourrez accéder directement aux liens contenus dans la page.

Vous pouvez également tester l'URL finale avec curl en ligne de commande. Si vous avez tout fait correctement, vous recevrez le code HTTP 302 FOUND et serez redirigé vers l'adresse Location spécifiée, comme dans la sortie abrégée suivante :

OMD[mysite]:~$ curl -v 'http://mycmkserver/mysite/check_mk/login.py?_origtarget=/mysite/check_mk/dashboard.py?name=mydashboard&_username=myuser&_password=mypassword&_login=1'
...
< HTTP/1.1 302 FOUND
...
< Location: /mysite/check_mk/dashboard.py?name=mydashboard
...
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Si vous n'obtenez pas la vue souhaitée dans le navigateur malgré ce message confirmant la réussite, checkez l'URL indiquée sous Location — même si celle-ci est incorrecte, curl renverra le code HTTP 302 FOUND.

Si les données de login sont incorrectes, vous recevrez le code HTTP 200 OK, mais vous ne verrez que le code HTML de la page de login, comme dans l'extrait de sortie suivant :

OMD[mysite]:~$ curl -v 'http://mycmkserver/mysite/check_mk/login.py?_origtarget=/mysite/check_mk/dashboard.py?name=mydashboard&_username=myuser&_password=NOT&_login=1'
...
< HTTP/1.1 200 OK
...
<!DOCTYPE HTML>
<html><head><meta content="text/html; ...
...
</script>
<script type="text/javascript">
cmk.visibility_detection.initialize();
</script>
</body></html>
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

10. Attribution des autorisations pour les dossiers

10.1. Fonction du rôle d'Normal monitoring user

Si vous devez gérer un environnement de supervision relativement important, vous souhaiterez sans doute impliquer d’autres administrateurs dans la configuration et, surtout, dans la gestion des ordinateurs hôtes et des services. Afin de garder le contrôle sur les personnes autorisées à effectuer des modifications et sur les actions qui leur sont permises, et pour éviter que les utilisateurs ne se gênent mutuellement, vous pouvez attribuer des autorisations pour la configuration de Checkmk sur la base de dossiers.

La première étape consiste à faire en sorte que vos collègues administrateurs travaillent avec leurs propres utilisateurs en s'appuyant sur le rôle « Normal monitoring user ».

Ce rôle dispose essentiellement d'une autorisation pour l'environnement de configuration, mais avec certaines restrictions importantes :

  • Seules les modifications apportées aux ordinateurs hôtes, aux services, aux règles et aux agrégations BI sont autorisées.

  • Les hôtes, les services et les règles ne peuvent être gérés que dans des dossiers partagés.

  • Les agrégations BI ne peuvent être gérées que dans des packs BI partagés.

  • Toute action ayant des implications globales n'est pas autorisée.

Tant que vous n'avez pas encore publié de dossiers ou de packs BI, cela signifie que les utilisateurs disposant du rôle « Normal monitoring user » ne peuvent initialement apporter aucune modification. Le menu « SimpleSetup » se présente comme suit pour les utilisateurs de supervision normaux :

Setup menu for normal monitoring users in Checkmk Community.
Menu de configuration pour les utilisateurs de supervision normaux dans Checkmk Community

10.2. Autoriser les utilisateurs à gérer les hôtes

Un utilisateur reçoit l'autorisation de créer, modifier et supprimer des ordinateurs hôtes via des groupes de contact. La procédure est la suivante :

  1. Ajoutez l'utilisateur à un groupe de contact.

  2. Désignez un ou plusieurs dossiers pour lesquels l'utilisateur doit être autorisé.

  3. Activez la propriété « Permissions » pour ces dossiers et sélectionnez ici le groupe de contact.

L'exemple suivant montre les propriétés d'un dossier dans lequel tous les utilisateurs du groupe de contact « Linux » sont autorisés à gérer les hôtes. L'option a été activée pour permettre cela également dans les sous-dossiers.

Folder properties with the shared contact group Linux.

C'est à vous de décider si vous souhaitez inclure automatiquement les ordinateurs hôtes dans le groupe de contacts. Dans cet exemple, l'option « Add these groups as contacts to all hosts in this folder » n'a pas été définie et les ordinateurs hôtes ne seront pas ajoutés au groupe de contacts « Linux ». Cela signifie que, dans l'environnement de supervision, ils ne seront pas visibles pour le groupe de contacts « Linux » (à moins qu'une règle ne s'en charge). Ainsi, comme vous pouvez le constater, la visibilité (et la responsabilité dans la supervision) et l'autorisation pour l'environnement de configuration peuvent être réglées séparément.

11. Mot de passe

11.1. Sécurité des mots de passe

La sécurité est une priorité absolue de nos jours. C'est pourquoi certaines entreprises ont mis en place des directives générales concernant la gestion des mots de passe. Checkmk propose plusieurs paramètres permettant d'appliquer ces règles par défaut. Certaines de ces options se trouvent sous Global settings > User management > Password policy for local accounts :

Dialog for password rules.

La première option, « Minimum password length », vise à garantir la qualité du mot de passe.

Pour la deuxième option « Number of character groups to use », il existe au total quatre groupes de caractères :

  • lettres minuscules

  • lettres majuscules

  • chiffres

  • caractères spéciaux

Si vous définissez une 4 ici, le mot de passe doit contenir au moins un caractère de chacun des groupes ci-dessus. Une 2 garantit au moins que le mot de passe ne se compose pas, par exemple, uniquement de lettres minuscules. Ces paramètres sont checkés à chaque fois que le mot de passe est modifié.

La troisième option, « Maximum age of passwords », oblige l'utilisateur à modifier son mot de passe à intervalles de temps réguliers. Une fois le délai écoulé, la page suivante affichera le message suivant à l'utilisateur :

Forced password change dialog.

Les utilisateurs ne pourront continuer qu'après avoir modifié leur mot de passe.

Vous pouvez exiger la modification du mot de passe initial lors du premier login. Pour ce faire, utilisez l'option « Enforce change: Change password at next login or access » (Modification obligatoire du mot de passe) dans la section « Security » (Configuration du login) des propriétés de l'utilisateur concerné.

11.2. Directives de login

Sous « Global settings > User management », vous trouverez d'autres paramètres globaux qui régissent les logins des utilisateurs.

Verrouillage après des logins non valides

Le paramètre « Lock user accounts after N logon failures » vous permet de verrouiller un compte après une série de tentatives de login infructueuses :

Dialog for automatic login deactivation.

Le déverrouillage n'est alors possible que par un utilisateur disposant du rôle « Administrator ». En tant qu'administrateur, vous pouvez déverrouiller d'autres utilisateurs via Setup > Users > Users, puis dans les propriétés de l'utilisateur verrouillé. Notez que les comptes d'administrateur peuvent également être verrouillés ! Si vous êtes définitivement bloqué en tant que dernier ou unique administrateur, vous ne pouvez déverrouiller votre compte que via la ligne de commande. Pour ce faire, modifiez le fichier ~/etc/htpasswd en tant qu'utilisateur de l'instance et supprimez le point d'exclamation de la ligne de l'utilisateur concerné, ici myuser :

OMD[mysite]:~$ cat etc/htpasswd
agent_registration:$2y$12$83XzYwtQJVFizC...
automation:$2y$12$zKF4Sasws7rDJCByZ1r5ke...
cmkadmin:$2y$12$ZmE96frGSm9sdWiWRXtxbuyu...
myuser:!$2y$12$8FU93yH7TFTyJsyUvKCh1eqYJG..
OMD[mysite]:~$ vim etc/htpasswd
...
OMD[mysite]:~$ cat etc/htpasswd
agent_registration:$2y$12$83XzYwtQJVFizC...
automation:$2y$12$zKF4Sasws7rDJCByZ1r5ke...
cmkadmin:$2y$12$ZmE96frGSm9sdWiWRXtxbuyu...
myuser:$2y$12$8FU93yH7TFTyJsyUvKCh1eqYJG...
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

Vous pouvez alors vous reconnecter.

Déconnexions automatiques

Dans la case de dialogue «Session management», vous pouvez définir deux méthodes différentes pour mettre fin à une session et les combiner entre elles : d'une part en fonction de la durée de la session, d'autre part en fonction de l'activité de l'utilisateur.

Maximum session duration garantit que la session se termine automatiquement après une période de temps définie. Cela réduit notamment le risque d'utilisation externe de la session, car celle-ci ne reste pas active indéfiniment :

Session termination dialog.

Une fois la durée de session définie écoulée, l’utilisateur doit se reconnecter, qu’il ait été actif ou non à la fin de la session. Parallèlement, vous pouvez utiliser l’option « Advise re-authentication before termination » pour spécifier à quel moment l’utilisateur doit être invité à enregistrer ses entrées, à se déconnecter et à se reconnecter avant une interruption « forcée » de sa session :

Warning before session termination.

Le paramètre Set an individual idle timeout garantit qu’une session est terminée si un utilisateur n’utilise pas activement l’interface graphique pendant une période de temps prolongée, par exemple s’il a temporairement quitté son poste de travail sans se déconnecter de Checkmk. Ce timeout peut être interrompu en utilisant activement l’interface graphique. Cependant, il ne suffit pas d’avoir simplement une vue ouverte qui se rafraîchit régulièrement.

Empêcher les logins multiples

Le paramètre « Limit login to single session at a time » empêche un utilisateur de se connecter à Checkmk avec deux navigateurs en même temps :

Dialog to limit the number of sessions.

Cette option est également liée à un timeout entraînant une déconnexion automatique en cas d'inactivité. Cette fonctionnalité est également utile. Supposons que vous ayez oublié de vous déconnecter de votre poste de travail avant de fermer le navigateur. Dans cette situation, sans timeout, vous ne pourriez pas vous connecter depuis votre domicile pendant que vous êtes de garde, car la fermeture du navigateur ou l'arrêt de l'ordinateur ne déclenche pas automatiquement une déconnexion !

Lorsque vous tenterez un deuxième login en parallèle, le message d'erreur suivant s'affichera :

Locked login dialog with notification of an already active session.

Dans ce cas, le login ne peut être effectué que si vous mettez fin activement à la session existante ou si vous attendez que le timeout s’applique.

11.3. Authentification à deux facteurs

Afin d'améliorer la sécurité de vos instances Checkmk, Checkmk propose une fonctionnalité d'authentification à deux facteurs pour chaque utilisateur. Cette authentification à deux facteurs repose sur la norme internet FIDO2/WebAuthn. L'authentification repose généralement sur la connaissance (un mot de passe) et la possession (un authentificateur).

Vous pouvez utiliser n'importe quel matériel compatible FIDO2 pris en charge par votre navigateur et votre système d'exploitation. Les clés USB ou NFC telles que la YubiKey sont les plus couramment utilisées. Il est également possible d'utiliser des gestionnaires de mots de passe (par exemple, sur un smartphone) qui génèrent un mot de passe à usage unique basé sur le temps (TOTP).

Configuration requise pour le serveur Checkmk

En raison des spécifications de la norme WebAuthn, l'utilisation de l'authentification à deux facteurs est soumise à trois conditions préalables :

  • L'interface web de Checkmk est sécurisée par HTTPS.

  • L'adresse Web est spécifiée sous la forme d'un simple nom de domaine ou d'un nom de domaine complet — dans tous les cas, il s'agit d'une adresse de domaine valide.

  • L'URL est toujours saisie dans le même format, par exemple toujours https://www.mycompany.com/mysite.

Configuration

Accédez à l'authentification à deux facteurs depuis le menu Utilisateur :

Selecting two-factor authentication from the User menu.

Deux options marquées de l'icône en forme de clé vous sont alors proposées Icon of a credential. pour ajouter le deuxième facteur : Register authenticator app pour configurer une application générant des mots de passe à usage unique, et Register security token pour utiliser un jeton matériel.

Setup page for two-factor authentication.

Checkmk reconnaît les options d'authentification disponibles sur votre ordinateur. Une petite boîte de dialogue s'ouvre dans la fenêtre du navigateur, dans laquelle vous spécifiez l'authentificateur. Si vous utilisez un jeton matériel, la configuration est terminée lorsque vous appuyez sur le bouton. Si vous utilisez des mots de passe à usage unique, scannez d'abord le code QR affiché avec le gestionnaire de mots de passe, puis saisissez un code que vous générez avec le gestionnaire de mots de passe pour confirmation. La session se poursuivra sans interruption dans les deux cas.

Login

L'authentification à deux facteurs sera alors active dans Checkmk pour les prochaines tentatives de login. Commencez par saisir votre nom d'utilisateur et votre mot de passe comme d'habitude. Un deuxième dialogue de login s'affiche alors :

Logging in with the second authentication factor.

Une fois l'authentificateur activé, vous pouvez utiliser Checkmk comme d'habitude.

Création et utilisation des codes de sauvegarde

Si vous n'avez pas votre authentificateur à portée de main, vous pouvez également saisir un code de sauvegarde.

Pour ce faire, créez au préalable une liste de codes de sauvegarde sur la page « User > Two-factor authentication » à l'adresse Icon for backup codes. Generate backup codes :

Display of created backup codes.

Conservez ces codes dans un endroit sûr.

Une fois les codes de sauvegarde générés, l'option supplémentaire « Use backup code » s'affiche dans la deuxième boîte de dialogue de login Two-factor authentication. Cliquez dessus si vous souhaitez vous connecter à Checkmk à l'aide d'un code de sauvegarde. La deuxième boîte de dialogue de login sera remplacée afin que vous puissiez y saisir un code de sauvegarde :

Prompt to enter the backup code.

Vérification et contournement de l'authentification à deux facteurs en tant qu'administrateur

En tant qu’administrateur, dans la gestion des utilisateurs (Setup > Users > Users), vous pouvez voir quels utilisateurs ont une authentification à deux facteurs configurée en consultant l’entrée de la colonne Authentication.

View of two-factor authentication in user management.

Si l'un de ces utilisateurs n'a plus accès à Checkmk — s'il a par exemple perdu ou endommagé son jeton matériel —, vous pouvez supprimer l'authentification à deux facteurs pour cet utilisateur. Pour ce faire, ouvrez l'entrée correspondante dans la gestion des utilisateurs en cliquant sur « Icon for editing. ». Supprimez l'authentification à deux facteurs pour cet utilisateur via « User > Remove two-factor authentication ».

Removing the two-factor authentication.

Une fois que vous aurez validé le dialogue de confirmation, l'utilisateur pourra à nouveau se connecter à l'interface web de Checkmk en utilisant « uniquement » son nom d'utilisateur et son mot de passe.

Imposer l'authentification à deux facteurs en tant qu'administrateur

Comme vous l’avez lu dans la section Configuration, chaque utilisateur peut activer l’authentification à deux facteurs pour son propre compte Checkmk. Les administrateurs ont la possibilité de rendre cette fonctionnalité facultative obligatoire pour les utilisateurs sous leur contrôle. L’authentification à deux facteurs peut être imposée à tous les utilisateurs d’un rôle, voire à tous les utilisateurs, à l’aide de l’option Enforce two factor authentication.

Pour forcer l’authentification à deux facteurs pour un rôle, ouvrez Setup > Users > Roles & permissions,, cliquez sur l’icône en forme de crayon du rôle “Edit icon.” et cochez la case à cocher « Enforce two factor authentication » dans Basic properties. Cette option est disponible pour tous les utilisateurs Checkmk dans Setup > General > Global settings > User management. L’activation en tant que paramètre global remplace un paramètre basé sur le rôle.

Un utilisateur qui doit authentifier l'authentification à deux facteurs mais qui ne l'a pas encore fait sera redirigé vers la page Two-factor authentication lors de sa connexion, après avoir saisi son nom d'utilisateur et son mot de passe :

“The forced setup of two-factor authentication.”

L'utilisateur n'est redirigé vers l'interface utilisateur de Checkmk que lorsqu'une des deux options disponibles pour le deuxième facteur a été configurée.

11.4. Modification d'un mot de passe à l'aide de la ligne de commande

En cas d'urgence, vous pouvez également modifier un mot de passe via la ligne de commande. Cela vous permet de vous sortir d'une situation où vous avez perdu le mot de passe pour cmkadmin. La condition préalable est, bien sûr, qu'il soit toujours possible de se connecter en tant qu'utilisateur Linux sur le serveur Checkmk et que vous puissiez devenir un utilisateur de l'instance avec omd su mysite.

Les mots de passe sont stockés dans le fichier ~/etc/htpasswd, comme décrit ci-dessus.

La modification des mots de passe s'effectue à l'aide de l'instruction cmk-passwd. Cette instruction ne vous demandera pas le mot de passe existant. Dans une version actuelle de Checkmk, cmk-passwd choisira toujours une méthode de chiffrement sécurisée pour stocker vos mots de passe. Actuellement, cmk-passwd utilise bcrypt à cette fin. Les mots de passe non chiffrés ou faiblement chiffrés (par exemple avec MD5) ne permettent pas de réaliser un login sur l'interface graphique.

OMD[mysite]:~$ cmk-passwd cmkadmin
New password:
Re-type new password:
Copier les instructions dans le presse-papiers
Instruction(s) copiée(s) avec succès dans le presse-papiers !
L'accès en écriture au presse-papiers a été refusé !

12. Attributs utilisateurs personnalisés

Outre le champ destiné à l'adresse électronique, le champ Pager address est également disponible pour informer les utilisateurs. Si cela ne suffit pas et que vous souhaitez enregistrer davantage d'informations sur un utilisateur, vous pouvez créer vos propres champs via Setup > Users > Custom user attributes > Add attribute , qui pourront ensuite être renseignés avec des valeurs individuelles pour chaque utilisateur.

La création d'un tel nouvel attribut ouvre le dialogue suivant :

Dialog for custom attributes.

Comme toujours, l’ID (Name) ne peut pas être modifié ultérieurement, mais le titre (Title) le peut. L’Topic détermine dans quelle section des paramètres utilisateur le nouveau champ sera classé. De plus, vous pouvez décider si les utilisateurs peuvent modifier eux-mêmes le champ (il apparaîtra alors dans leurs paramètres personnels) et si la valeur doit être affichée directement dans le tableau des utilisateurs Setup.

Ce n'est que si vous cochez la case à cocher à l'adresse Make this variable available in notifications que vous pourrez également utiliser cette valeur dans les notifications. Pour cela, la valeur doit être attribuée au noyau de supervision (par exemple CMC) dans une variable (une « macro définie par l'utilisateur »).

Le nom de la variable définie par l'utilisateur est dérivé de l’ID que vous avez choisi. Celui-ci est converti en majuscules et précédé du préfixe CONTACT_. Ainsi, phone devient CONTACT_PHONE. Notez que lorsque la variable est transmise via des variables d’environnement, elle sera précédée du préfixe NOTIFY_. Avec votre propre script de notification, la variable apparaîtra sous la forme NOTIFY_CONTACT_PHONE.

13. Envoi de messages aux utilisateurs

Dans l'article décrivant les règles de notification, nous expliquons en détail comment Checkmk peut informer les contacts des problèmes rencontrés avec les ordinateurs hôtes ou les services. Cependant, vous souhaiterez parfois informer tous les utilisateurs (y compris ceux qui ne sont pas des contacts) de questions organisationnelles internes, par exemple la maintenance du système Checkmk lui-même.

À cette fin, Checkmk propose un petit outil de messagerie intégré, totalement distinct des notifications. Vous pouvez accéder à cet outil via Setup > Users, puis en cliquant sur « Users > Send user messages ». Vous avez ici la possibilité d'envoyer un message à tous vos utilisateurs ou à certains d'entre eux.

Dialog for user messages.

Vous pouvez choisir entre quatre types de messages :

Show popup message

La prochaine fois que l'utilisateur ouvrira la page, une fenêtre contextuelle contenant le message s'affichera.

Show hint in the 'User' menu

L'utilisateur est informé de la présence du message par un symbole en forme de chiffre dans le menu Utilisateur de la barre de navigation.

Send email

Envoie un courrier électronique. Toutefois, celui-ci ne parviendra qu'aux utilisateurs ayant également configuré une adresse électronique.

Show in the dashboard element 'User messages'

Le message s'affiche dans un dashlet de type User messages.

Avec Message expiration, vous pouvez facilement supprimer les messages qui n'ont pas encore été consultés dès qu'ils ne sont plus d'actualité.

Une fonctionnalité particulière de l'option « Show hint in the 'User' menu » : via User messages > Received messages, les utilisateurs peuvent consulter leurs messages de collection, les confirmer ou les supprimer.

Overview of the user notifications.

Checkmk informe automatiquement les utilisateurs des modifications relatives à la sécurité apportées à leurs comptes. Cela inclut les changements de mot de passe et d’authentification à deux facteurs (activation, désactivation, login via un code de secours, ainsi que la création et la révocation de codes de secours). Si une adresse e-mail est enregistrée pour l’utilisateur, les notifications sont envoyées par e-mail ; sinon, elles sont envoyées via l’outil de messagerie.

Les messages de sécurité ne sont déclenchés que par des actions effectuées dans l'interface graphique de Checkmk. Ils ne peuvent pas être supprimés par l'utilisateur, mais la durée d'affichage de ces messages peut être configurée via Setup > General > Global settings > User management > User security notification duration. Par défaut, la durée d'affichage est de 7 jours.

14. Autres thèmes

Checkmk prend en charge d'autres méthodes de connexion :

  • Connexion à un serveur LDAP/Active Directory

  • Authentification avec SAML

  • Authentification avec Kerberos

  • Authentification dans une configuration avec proxy inverse

  • Authentification via l'authentification HTTP de base

15. Fichiers et répertoires

La liste suivante indique quels fichiers et répertoires du serveur Checkmk sont concernés par la gestion des utilisateurs. Comme toujours, toutes les entrées ci-dessous sont relatives au répertoire d'instances (par exemple /omd/sites/mysite).

Chemin d'accès Fonction

~/etc/htpasswd

Mot de passe des utilisateurs au format Apache htpasswd.

~/etc/auth.secret

Ce fichier contient un secret aléatoire utilisé pour signer les cookies de connexion. Dans les environnements distribués, ce fichier doit être identique pour toutes les instances — et le sera si vous effectuez toute la configuration via l’interface web. Si ce fichier est modifié, toutes les connexions sont immédiatement non valides et les utilisateurs doivent se reconnecter. Ce fichier est classé « 660 » car un accès en lecture par un tiers permettrait de falsifier une connexion.

~/etc/auth.serials

Numéros de série des mots de passe par utilisateur. Tout changement de mot de passe incrémente le numéro de série et rend ainsi toutes les sessions non valides. Cela garantit qu’un changement de mot de passe déconnecte de manière fiable l’utilisateur.

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

Contient les utilisateurs configurés avec l'environnement de configuration. Seules les données relatives aux utilisateurs qui utilisent exclusivement l'interface graphique sont stockées ici. Les modifications manuelles apportées à ce fichier prennent effet immédiatement.

~/etc/check_mk/conf.d/wato/contacts.mk

Coordonnées des utilisateurs configurés via l’environnement de configuration. Toutes les données pertinentes pour la configuration du noyau de supervision sont stockées ici. Seuls les utilisateurs qui sont également des contacts sont répertoriés ici. Pour que les modifications manuelles prennent effet ici, la nouvelle configuration doit être chargée dans le noyau — par exemple avec cmk -O.

~/var/check_mk/web

Chaque utilisateur s'étant connecté au moins une fois à l'interface graphique dispose ici d'un sous-dossier où sont stockés, dans de petits fichiers individuels portant l'extension .mk, des éléments tels que des vues et des rapports personnalisés, la configuration actuelle de la barre latérale et bien d'autres éléments. Ces fichiers sont au format Python.

~/var/log/web.log

Fichier journal de l'interface utilisateur. Vous y trouverez les messages d'erreur concernant l'authentification et les connexions LDAP.


Last modified: Tue, 24 Feb 2026 15:10:56 GMT via commit cf16902d7
Sur cette page