Par défaut, les clusters ZooKeeper n'imposent pas l'authentification, ce qui expose les données du cluster à tout client présent sur le réseau. Microservices Engine (MSE) prend en charge l'authentification SASL avec le mécanisme DIGEST-MD5, vous permettant de configurer des identifiants utilisateur et d'exiger l'authentification de tous les clients.
Prérequis
Créer un moteur ZooKeeper, version 3.8.0.7 ou ultérieure. Si votre moteur utilise une version antérieure, consultez la rubrique Mettre à niveau la version d'un moteur ZooKeeper.
Procédure
Connectez-vous à la console MSE.
Dans le volet de navigation de gauche, choisissez Microservices Registry > Instances. Cliquez sur le nom de l'instance.
Dans le volet de navigation de gauche, choisissez Authentication Management.
-
Sur la page Authentication Management, cliquez sur Create User. Dans le panneau Create User, saisissez un Username, un Password et une Confirm Password, puis cliquez sur Confirm and Restart Instance.
La nouvelle configuration d'identité utilisateur prend effet après le redémarrage du cluster.
Dans la colonne Actions correspondant à l'utilisateur, cliquez sur Copy Configuration. Ajoutez le mot de passe à la configuration copiée et enregistrez-la dans un fichier sur votre client.
-
Pour les applications Java utilisant le SDK ZooKeeper natif ou CuratorFramework :
-
Lors du démarrage de l'application Java, spécifiez l'emplacement du fichier de configuration en ajoutant la propriété système suivante :
-Djava.security.auth.login.config=/path // Replace /path with the actual file path. -
Redémarrez l'application. Le client lit automatiquement la configuration et s'authentifie.
RemarquePour les clients Java, utilisez la version 3.4 ou ultérieure du SDK ZooKeeper.
Pour les clients dans d'autres langages, reportez-vous à la documentation du SDK correspondant.
-
-
Une fois tous les clients configurés, choisissez Parameter Settings dans le volet de navigation de gauche. Sur la page Parameter Settings, définissez AuthEnabled sur true. Cette action permet au serveur d'imposer l'authentification SASL pour tous les clients.
RemarqueLe paramétrage de AuthEnabled sur true empêche les clients non authentifiés d'envoyer des requêtes au serveur.