JMX - Technologie pour le monitoring d'applications Java
Comment sécuriser notre serveur de MBeans?
JMX offre la possibilité de restreindre l'accès à l'agent JMX à un groupe d'utilisateurs. Cela fonctionne uniquement pour un client distant. Les clients locaux à la machine sur laquelle est présent l'agent JMX ont un accès sans limite aux ressources de ce serveur. Les fichiers de configuration permettant d'établir cette sécurité sont similaires à ceux d'un .htaccess pour un serveur Apache. Nous avons deux fichiers :
Un fichier pour les mots de passe
Celui-ci stocke les mots de passe de chaque utilisateur de l'agent. Voici un exemple de contenu possible pour le fichier de mots de passe:
utilisateur1 motdepasse1 utilisateur2 motdepasse1
On associe simplement les utilisateurs à leurs mots de passe.
Un fichier pour les accès
Le fichier gérant les droits d'accès des utilisateurs est lui aussi très concis. Nous allons associer chaque utilisateur à son droit d'accès. Il existe deux droits d'accès qui sont "readonly" et "readwrite".
utilisateur1 readonly utilisateur2 readwrite
Le droit readonly permet à l'utilisateur de consulter les valeurs. Par exemple pour la classe MaClasse vu précédemment, l'utilisateur pourra voir les opérations disponibles pour la ressource, c'est à dire getValue et setValue. Cependant, il ne pourra pas utiliser setValue pour modifier la valeur de l'attribut, cela lui donnera le message suivant :
Le droit readwrite permet, quant à lui, d'avoir un contrôle total sur le serveur JMX.